[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <mj+md-20070108.131932.29709.nikam@ucw.cz>
Date: Mon, 8 Jan 2007 14:26:07 +0100
From: Martin Mares <mj@....cz>
To: Miklos Szeredi <miklos@...redi.hu>
Cc: pavel@....cz, mikulas@...ax.karlin.mff.cuni.cz, matthew@....cx,
bhalevy@...asas.com, arjan@...radead.org, jaharkes@...cmu.edu,
linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
nfsv4@...f.org
Subject: Re: Finding hardlinks
Hello!
> You mean POSIX compliance is impossible? So what? It is possible to
> implement an approximation that is _at least_ as good as samefile().
> One really dumb way is to set st_ino to the 'struct inode' pointer for
> example. That will sure as hell fit into 64bits and will give a
> unique (alas not stable) identifier for each file. Opening two files,
> doing fstat() on them and comparing st_ino will give exactly the same
> guarantees as samefile().
Good, ... except that it doesn't work. AFAIK, POSIX mandates inodes
to be unique until umount, not until inode cache expires :-)
IOW, if you have such implementation of st_ino, you can emulate samefile()
with it, but you cannot have it without violating POSIX.
> 4 billion files, each with more than one link is pretty far fetched.
Not on terabyte scale disk arrays, which are getting quite common these days.
> And anyway, filesystems can take steps to prevent collisions, as they
> do currently for 32bit st_ino, without serious difficulties
> apparently.
They currently do that usually by not supporting more than 4G files
in a single FS.
Have a nice fortnight
--
Martin `MJ' Mares <mj@....cz> http://mj.ucw.cz/
Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
"Oh no, not again!" -- The bowl of petunias
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists