linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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>

  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).