Message ID | 20210528143802.78635-1-dong.menglong@zte.com.cn (mailing list archive) |
---|---|
Headers | show |
Series | init/initramfs.c: make initramfs support pivot_root | expand |
Hi Menglong, On Fri, 28 May 2021 22:37:59 +0800 menglong8.dong@gmail.com wrote: > From: Menglong Dong <dong.menglong@zte.com.cn> > > 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@zte.com.cn/) > 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@kernel.org> 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 >
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@kernel.org> wrote: > > Hi Menglong, > > On Fri, 28 May 2021 22:37:59 +0800 > menglong8.dong@gmail.com wrote: > > > From: Menglong Dong <dong.menglong@zte.com.cn> > > > > 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@zte.com.cn/) > > 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@kernel.org> > > 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@kernel.org> Thanks! Menglong Dong
On Tue, Jun 01, 2021 at 09:55:33PM +0800, Menglong Dong wrote: > Hello! > > What's the status or fate of this patch? Does anyone do an in-depth > study of this field? Knock-knock~ You sent this on Friday. Monday was a holiday in the USA. Generally you should wait a week before pinging a patch.
On Tue, Jun 1, 2021 at 10:03 PM Matthew Wilcox <willy@infradead.org> wrote: [...] > > You sent this on Friday. Monday was a holiday in the USA. Generally > you should wait a week before pinging a patch. Ok, get it! I'll keep it in mind this time :/ Thanks! Menglong Dong
From: Menglong Dong <dong.menglong@zte.com.cn> 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@zte.com.cn/) 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 :/ 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(-)