Re: [patch 3/5] VFS: pass open file to ->xattr()

From: Christoph Hellwig
Date: Fri Sep 21 2007 - 09:06:54 EST


On Fri, Sep 21, 2007 at 03:00:06PM +0200, Miklos Szeredi wrote:
> I don't think it's silly. Read/write get passed the file descriptor,
> and it makes a lot of sense, if the filesystem has stateful opens.
>
> Similarly for any fs operation that gets a file descriptor, it makes
> sense to pass the relevant open file down into the filesystem.

read/write fundamentally operate on file descriptors. None of these
operations does, rather their normal forms get a path name and special
forms operate on a file descriptor to avoid lookup races. Still the
underlying operation has nothing to do with the file descriptor at all.

> If you look carefully, the ftrunacate() already does this, becuse
> without that it's impossible to implement correct semantics in the
> filesystem in some cases.

ftruncate is a special case due to O_TRUNC. But I have plans to solve
this whole issue more elegant than the current hack.

> For other operations it's not impossible, but it would mean more hacks
> in the filesystem itself (such as sillyrenaming) that are entirely
> unneeded if the file info is available.

It's not a problem at all for filesystem that implement normal unix
semantics. If you want to shoer-horn strange semantics that barely
fit, you'll need some more hacks.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/