Re: [PATCH v3 4/4] parse options in the vfs level

From: Glauber Costa
Date: Tue Aug 23 2011 - 22:20:01 EST


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,
else
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.
--
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/