Re: [PATCH v6 2/2] init/do_mounts.c: create second mount for initramfs

From: Christian Brauner
Date: Thu Jun 17 2021 - 10:38:49 EST


On Wed, Jun 16, 2021 at 08:57:56PM -0700, Menglong Dong wrote:
> Hello,
>
> On Mon, Jun 07, 2021 at 05:15:24AM -0700, menglong8.dong@xxxxxxxxx wrote:
> > On Mon, Jun 07, 2021 at 12:31:47PM +0200, Christian Brauner wrote:
> > > On Sat, Jun 05, 2021 at 10:47:07PM +0800, Menglong Dong wrote:
> > [...]
> > > >
> > > > I think it's necessary, as I explained in the third patch. When the rootfs
> > > > is a block device, ramfs is used in init_mount_tree() unconditionally,
> > > > which can be seen from the enable of is_tmpfs.
> > > >
> > > > That makes sense, because rootfs will not become the root if a block
> > > > device is specified by 'root' in boot cmd, so it makes no sense to use
> > > > tmpfs, because ramfs is more simple.
> > > >
> > > > Here, I make rootfs as ramfs for the same reason: the first mount is not
> > > > used as the root, so make it ramfs which is more simple.
> > >
> > > Ok. If you don't mind I'd like to pull and test this before moving
> > > further. (Btw, I talked about this at Plumbers before btw.)
> > > What did you use for testing this? Any way you can share it?
> >
>
> I notice that it have been ten days, and is it ok to move a little
> further? (knock-knock :/)

Hey Menglong,

Since we're very close to the next kernel release it's unlikely that
anything will happen before the merge window has closed.
Otherwise I think we're close. I haven't had the time to test yet but if
nothing major comes up I'll pick it up and route it through my tree.
We need to be sure there's no regressions for anyone using this.

Thanks!
Christian

>
> Thanks!
> Menglong Dong
>
> > Ok, no problem definitely. I tested this function in 3 way mainly:
> >
> > 1. I debug the kernel with qemu and gdb, and trace the the whole
> > process, to ensure that there is no abnormal situation.
> > 2. I tested pivot_root() in initramfs and ensured that it can be
> > used normally. What's more, I also tested docker and ensured
> > container can run normally without 'DOCKER_RAMDISK=yes' set in
> > initramfs.
> > 3. I tried to enable and disable CONFIG_INITRAMFS_MOUNT, and
> > ensured that the system can boot successfully from initramfs, initrd
> > and sda.
> >
> > What's more, our team is going to test it comprehensively, such as
> > ltp, etc.
> >
> > Thanks!
> > Menglong Dong
> >