Re: [PATCH 14/14] Add commands to create or update a superblock

From: Al Viro
Date: Thu May 11 2017 - 03:39:07 EST


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".