lkml.org 
[lkml]   [2017]   [May]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH 14/14] Add commands to create or update a superblock
On Thu, May 11, 2017 at 9:38 AM, Al Viro <viro@zeniv.linux.org.uk> wrote:
> On Wed, May 10, 2017 at 05:20:31PM +0100, David Howells wrote:
>
>> @@ -64,8 +70,8 @@ struct sb_config_operations {
>> int (*parse_option)(struct sb_config *sc, char *p);
>> int (*monolithic_mount_data)(struct sb_config *sc, void *data);
>> int (*validate)(struct sb_config *sc);
>> - struct dentry *(*mount)(struct sb_config *sc);
>> - int (*fill_super)(struct super_block *s, struct sb_config *sc);
>> + int (*create_super)(struct sb_config *sc);
>
> Hell, NO.
>
> The primary effect of that thing is *NOT* to create a superblock. It
> might be a side effect, and quite often it will happen, but the
> real goal here is a mountable tree. Which might or might not reside
> on a new superblock. And which might very well involve no object
> creation whatsoever.
>
> This name is actively misleading and the same goes for its relatives
> (vfs_create_super(), etc.). It's "give me a tree to mount", not
> "create something or other".

Indeed, I haven't thought of that. And there's a good hornet's nest
waiting to poke ones hand into: mounting the same blockdev with
different options will get you either

- EBUSY if the MS_* flags mismatch
- silently ignored options in any other case

which is far from being nice and consistent.

Thanks,
Miklos

\
 
 \ /
  Last update: 2017-05-11 10:11    [W:0.043 / U:19.264 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site