devtmpfs: don't mix {ramfs,shmem}_fill_super() with mount_single()
authorAl Viro <viro@zeniv.linux.org.uk>
Sat, 1 Jun 2019 22:43:09 +0000 (18:43 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 5 Sep 2019 18:34:27 +0000 (14:34 -0400)
commitd401727ea0d7a48eaa01a8089f6b91a8121dcaac
tree5c85418a1c63fc7892085a5fc54f705c4dffd4dd
parent5a2be1288b514d74acdb3f0131d4d8fa3d689f06
devtmpfs: don't mix {ramfs,shmem}_fill_super() with mount_single()

Create an internal-only type matching the current devtmpfs, never
register it and have one kernel-internal mount done.  That thing
gets mounted only once, so it is free to use mount_nodev().

The "public" devtmpfs (the one we do register, and only after
the internal mount of the real thing is done) simply gets and
returns an extra reference to the internal superblock.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/base/devtmpfs.c