[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0612300154510.19928@artax.karlin.mff.cuni.cz>
Date: Sat, 30 Dec 2006 02:04:45 +0100 (CET)
From: Mikulas Patocka <mikulas@...ax.karlin.mff.cuni.cz>
To: Trond Myklebust <trond.myklebust@....uio.no>
Cc: Arjan van de Ven <arjan@...radead.org>,
Benny Halevy <bhalevy@...asas.com>,
Jan Harkes <jaharkes@...cmu.edu>,
Miklos Szeredi <miklos@...redi.hu>,
linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
nfsv4@...f.org
Subject: Re: Finding hardlinks
On Fri, 29 Dec 2006, Trond Myklebust wrote:
> On Thu, 2006-12-28 at 19:14 +0100, Mikulas Patocka wrote:
>> Why don't you rip off the support for colliding inode number from the
>> kernel at all (i.e. remove iget5_locked)?
>>
>> It's reasonable to have either no support for colliding ino_t or full
>> support for that (including syscalls that userspace can use to work with
>> such filesystem) --- but I don't see any point in having half-way support
>> in kernel as is right now.
>
> What would ino_t have to do with inode numbers? It is only used as a
> hash table lookup. The inode number is set in the ->getattr() callback.
The question is: why does the kernel contain iget5 function that looks up
according to callback, if the filesystem cannot have more than 64-bit
inode identifier?
This lookup callback just induces writing bad filesystems with coliding
inode numbers. Either remove coda, smb (and possibly other) filesystems
from the kernel or make a proper support for userspace for them.
The situation is that current coreutils 6.7 fail to recursively copy
directories if some two directories in the tree have coliding inode
number, so you get random data corruption with these filesystems.
Mikulas
-
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