Messages in this thread | | | Date | Sun, 29 Jun 2008 12:56:24 +0100 (BST) | From | Hugh Dickins <> | Subject | Re: [PATCH] fsstack: fsstack_copy_inode_size locking |
| |
On Sun, 29 Jun 2008, Christoph Hellwig wrote: > > Btw, I hope fsstack doesn't rely on i_size having any particular > meaning. As far as the VFS is concerned i_size is field only used by > the filesystem (or library routines like generic_file_*).
Interesting point. I can't speak for fsstack itself (I'm not even sure if it's anything beyond fs/stack.c and the tag I used to identify where this patch lies); but certainly fs/stack.c doesn't use i_size for anything, just duplicates it from the lower filesystem.
unionfs (which I think you don't care for at all in general) does look as if it assumes it's the lower file size in a few places, when copying up or truncating. Isn't that reasonable? Wouldn't users make the same assumption?
Or are you saying that filesystems which don't support the usual meaning of inode->i_size (leave it 0?) would supply their own equivalent to vmtruncate() if they support truncation, and their own getattr which fills in stat->size from somewhere else.
Yes, I think you are saying that: unionfs may not play well with them.
Hugh
| |