Hi, This is V3 of patches. Christoph had posted V2 here. https://lore.kernel.org/linux-fsdevel/20210621062657.3641879-1-hch@xxxxxx/ There was a small issue in last patch series that list_bdev_fs_names() did not put an extra '\0' at the end as current callers were expecting. To fix this, I have modified list_bdev_fs_names() and split_fs_names() to return number of null terminated strings they have parsed. And modified callers to use that to loop through strings (instead of relying on an extra null at the end). Christoph was finding it hard to find time so I took his patches, added my changes in patch3 and reposting the patch series. I have tested it with 9p, virtiofs and ext4 filesystems as rootfs and it works for me. Thanks Vivek Christoph Hellwig (3): init: split get_fs_names init: allow mounting arbitrary non-blockdevice filesystems as root fs: simplify get_filesystem_list / get_all_fs_names fs/filesystems.c | 27 ++++++++------ include/linux/fs.h | 2 +- init/do_mounts.c | 90 +++++++++++++++++++++++++++++++++------------- 3 files changed, 83 insertions(+), 36 deletions(-) -- 2.31.1