Hello! What's the status or fate of this patch? Does anyone do an in-depth study of this field? Knock-knock~ On Sat, May 29, 2021 at 10:26 AM Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote: > > Hi Menglong, > > On Fri, 28 May 2021 22:37:59 +0800 > menglong8.dong@xxxxxxxxx wrote: > > > From: Menglong Dong <dong.menglong@xxxxxxxxxx> > > > > As Luis Chamberlain suggested, I split the patch: > > [init/initramfs.c: make initramfs support pivot_root] > > (https://lore.kernel.org/linux-fsdevel/20210520154244.20209-1-dong.menglong@xxxxxxxxxx/) > > into three. > > > > The goal of the series patches is to make pivot_root() support initramfs. > > > > In the first patch, I introduce the function ramdisk_exec_exist(), which > > is used to check the exist of 'ramdisk_execute_command' in LOOKUP_DOWN > > lookup mode. > > > > In the second patch, I create a second mount, which is called > > 'user root', and make it become the root. Therefore, the root has a > > parent mount, and it can be umounted or pivot_root. > > > > In the third patch, I fix rootfs_fs_type with ramfs, as it is not used > > directly any more, and it make no sense to switch it between ramfs and > > tmpfs, just fix it with ramfs to simplify the code. > > > > > > Changes since V2: > > > > In the first patch, I use vfs_path_lookup() in init_eaccess() to make the > > path lookup follow the mount on '/'. After this, the problem reported by > > Masami Hiramatsu is solved. Thanks for your report :/ > > Thank you for the fix, I confirmed that the issue has been solved with this. > > Tested-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx> > > for this series. > > Regards, > > > > > > > > Changes since V1: > > > > In the first patch, I add the flag LOOKUP_DOWN to init_eaccess(), to make > > it support the check of filesystem mounted on '/'. > > > > In the second patch, I control 'user root' with kconfig option > > 'CONFIG_INITRAMFS_USER_ROOT', and add some comments, as Luis Chamberlain > > suggested. > > > > In the third patch, I make 'rootfs_fs_type' in control of > > 'CONFIG_INITRAMFS_USER_ROOT'. > > > > > > > > Menglong Dong (3): > > init/main.c: introduce function ramdisk_exec_exist() > > init/do_cmounts.c: introduce 'user_root' for initramfs > > init/do_mounts.c: fix rootfs_fs_type with ramfs > > > > fs/init.c | 11 ++++- > > include/linux/init.h | 5 ++ > > init/do_mounts.c | 109 +++++++++++++++++++++++++++++++++++++++++++ > > init/do_mounts.h | 18 ++++++- > > init/initramfs.c | 10 ++++ > > init/main.c | 7 ++- > > usr/Kconfig | 10 ++++ > > 7 files changed, 166 insertions(+), 4 deletions(-) > > > > -- > > 2.32.0.rc0 > > > > > -- > Masami Hiramatsu <mhiramat@xxxxxxxxxx> Thanks! Menglong Dong