From: Masami Hiramatsu <mhiramat@kernel.org>
To: menglong8.dong@gmail.com
Cc: christian.brauner@ubuntu.com, viro@zeniv.linux.org.uk,
keescook@chromium.org, samitolvanen@google.com, johan@kernel.org,
ojeda@kernel.org, jeyu@kernel.org, masahiroy@kernel.org,
joe@perches.com, dong.menglong@zte.com.cn, jack@suse.cz,
hare@suse.de, axboe@kernel.dk, tj@kernel.org,
gregkh@linuxfoundation.org, song@kernel.org, neilb@suse.de,
akpm@linux-foundation.org, linux@rasmusvillemoes.dk,
brho@google.com, f.fainelli@gmail.com, palmerdabbelt@google.com,
wangkefeng.wang@huawei.com, mhiramat@kernel.org,
rostedt@goodmis.org, vbabka@suse.cz, glider@google.com,
pmladek@suse.com, johannes.berg@intel.com, ebiederm@xmission.com,
jojing64@gmail.com, terrelln@fb.com, geert@linux-m68k.org,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
mcgrof@kernel.org, arnd@arndb.de, chris@chrisdown.name,
mingo@kernel.org, bhelgaas@google.com, josh@joshtriplett.org
Subject: Re: [PATCH v6 0/2] init/initramfs.c: make initramfs support pivot_root
Date: Wed, 9 Jun 2021 23:03:12 +0900 [thread overview]
Message-ID: <20210609230312.54f3f0ba9bb2ce93b9f5c4a3@kernel.org> (raw)
In-Reply-To: <20210605034447.92917-1-dong.menglong@zte.com.cn>
On Sat, 5 Jun 2021 11:44:45 +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.
Hi,
I have tested this series on qemu with shell script container on initramfs.
It works for me!
Tested-by: Masami Hiramatsu <mhiramat@kernel.org>
Thank you,
>
>
> Changes since V5:
>
> Remove the third patch and make it combined with the second one.
>
>
> Changes since V4:
>
> Do some more code cleanup for the second patch, include:
> - move 'ramdisk_exec_exist()' to 'init.h'
> - remove unnecessary struct 'fs_rootfs_root'
> - introduce 'revert_mount_rootfs()'
> - [...]
>
>
> Changes since V3:
>
> Do a code cleanup for the second patch, as Christian Brauner suggested:
> - remove the concept 'user root', which seems not suitable.
> - introduce inline function 'check_tmpfs_enabled()' to avoid duplicated
> code.
> - rename function 'mount_user_root' to 'prepare_mount_rootfs'
> - rename function 'end_mount_user_root' to 'finish_mount_rootfs'
> - join 'init_user_rootfs()' with 'prepare_mount_rootfs()'
>
> 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 (2):
> init/do_mounts.c: create second mount for initramfs
> init/do_mounts.c: fix rootfs_fs_type with ramfs
>
> include/linux/init.h | 4 ++
> init/do_mounts.c | 101 ++++++++++++++++++++++++++++++++++++++++---
> init/do_mounts.h | 16 ++++++-
> init/initramfs.c | 8 ++++
> usr/Kconfig | 10 +++++
> 5 files changed, 131 insertions(+), 8 deletions(-)
>
> --
> 2.32.0.rc0
>
--
Masami Hiramatsu <mhiramat@kernel.org>
next prev parent reply other threads:[~2021-06-09 14:03 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-05 3:44 [PATCH v6 0/2] init/initramfs.c: make initramfs support pivot_root menglong8.dong
2021-06-05 3:44 ` [PATCH v6 1/2] init/main.c: introduce function ramdisk_exec_exist() menglong8.dong
2021-06-05 3:44 ` [PATCH v6 2/2] init/do_mounts.c: create second mount for initramfs menglong8.dong
2021-06-05 11:50 ` Christian Brauner
2021-06-05 14:47 ` Menglong Dong
2021-06-07 10:31 ` Christian Brauner
2021-06-07 12:15 ` menglong8.dong
2021-06-17 3:57 ` Menglong Dong
2021-06-17 14:38 ` Christian Brauner
2021-07-27 12:24 ` Menglong Dong
2021-07-27 12:37 ` Christian Brauner
2021-07-28 8:07 ` Petr Mladek
2021-07-29 13:25 ` Menglong Dong
2021-09-17 1:58 ` Menglong Dong
2021-06-09 14:03 ` Masami Hiramatsu [this message]
2021-06-10 6:36 ` [PATCH v6 0/2] init/initramfs.c: make initramfs support pivot_root Menglong Dong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210609230312.54f3f0ba9bb2ce93b9f5c4a3@kernel.org \
--to=mhiramat@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=axboe@kernel.dk \
--cc=bhelgaas@google.com \
--cc=brho@google.com \
--cc=chris@chrisdown.name \
--cc=christian.brauner@ubuntu.com \
--cc=dong.menglong@zte.com.cn \
--cc=ebiederm@xmission.com \
--cc=f.fainelli@gmail.com \
--cc=geert@linux-m68k.org \
--cc=glider@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=hare@suse.de \
--cc=jack@suse.cz \
--cc=jeyu@kernel.org \
--cc=joe@perches.com \
--cc=johan@kernel.org \
--cc=johannes.berg@intel.com \
--cc=jojing64@gmail.com \
--cc=josh@joshtriplett.org \
--cc=keescook@chromium.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=masahiroy@kernel.org \
--cc=mcgrof@kernel.org \
--cc=menglong8.dong@gmail.com \
--cc=mingo@kernel.org \
--cc=neilb@suse.de \
--cc=ojeda@kernel.org \
--cc=palmerdabbelt@google.com \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=samitolvanen@google.com \
--cc=song@kernel.org \
--cc=terrelln@fb.com \
--cc=tj@kernel.org \
--cc=vbabka@suse.cz \
--cc=viro@zeniv.linux.org.uk \
--cc=wangkefeng.wang@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).