[PATCH v3 4/4] parse options in the vfs level
glommer at parallels.com
Tue Aug 23 19:19:26 PDT 2011
On 08/15/2011 04:09 AM, Dave Chinner wrote:
> On Sun, Aug 14, 2011 at 07:13:52PM +0400, Glauber Costa wrote:
>> This patch introduces a simple generic vfs option parser.
>> Right now, the only option we have is to limit the size of the dcache.
>> So any user that wants to have a dcache entries limit, can specify:
>> mount -o whatever_options,vfs_dcache_size=XXX<dev> <mntpoint>
>> It is supposed to work well with remounts, allowing it to change
>> multiple over the course of the filesystem's lifecycle.
>> I find mount a natural interface for handling filesystem options,
>> so that's what I've choosen. Feel free to yell at it at will if
>> you disagree.
> It's already been noted by both myself and Al that there is not a
> 1:1 mapping between mount point and superblocks....
I had skipped that one in my pending patches.
Well, it's already been noted by me as well. And by anybody.
The problem, however, is not new. Filesystems exports fs-specific
options that operate on the superblock as well. And we've been living
alright with them.
>> @@ -2350,6 +2449,12 @@ long do_mount(char *dev_name, char *dir_name, char *type_page,
>> retval = do_new_mount(&path, type_page, flags, mnt_flags,
>> dev_name, data_page);
>> + /* bind mounts get to respect their parents decision */
>> + if (!retval&& !(flags& MS_BIND))
>> + vfs_set_dcache_size(path.mnt->mnt_sb,
>> + vfs_options.vfs_dcache_size);
> And I'm not sure that silently ignoring it in certain cases
> is the best way around that problem.
It is not "in certain cases". It is : 1) When bind mounting, and 2) When
an error occurs. Pretty well-defined.
More information about the Containers