On 18/03/2019 23:01, David Howells wrote:
Andrew Price <anprice@xxxxxxxxxx> wrote:
Umm... What about the fs_context struct? Why can't that be used to
propagate the bdev pointer? That's kind of what it's for...
It would be useful to have the block device pointer in the fs_context since so
many of the filesystems use them and it makes for an obvious API migration.
That may be so. I've argued also that we should put a net-namespace pointer
in there, but Al disagreed.
However, I think most bdev-based filesystems use mount_bdev() which gfs2 does
not.
It looks like you should be able to stash the bdev pointer in the gfs2_args
struct.
Sure, but since the new API is young I figured I'd hold off until we had this
conversation because adding it to the fs_context might be agreeable :)
Note that I have patches to kill of sget_userns() and sget() will hopefully
soon follow. Have a look at:
https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=mount-api-viro
That's fair enough. I'll update the patch to put the bdev in the
gfs2_args struct and use sget_fc().
Thanks,
Andy