From: ChenQi <Qi.Chen@windriver.com>
To: ChenQi <Qi.Chen@windriver.com>
Cc: Chris Larson <clarson@kergoth.com>,
"chen_q07@163.com" <chen_q07@163.com>,
Patches and discussions about the oe-core layer
<openembedded-core@lists.openembedded.org>
Subject: Re: Initial review of ChenQi/read-only-rootfs-in-live-images
Date: Mon, 5 Aug 2013 11:30:33 +0800 [thread overview]
Message-ID: <51FF1C59.3000301@windriver.com> (raw)
In-Reply-To: <51FF0B8A.9030201@windriver.com>
[-- Attachment #1: Type: text/plain, Size: 5262 bytes --]
For convenience, here's a link below in case people may wondering which
patchset we are talking about.
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/read-only-rootfs-in-live-images
//Chen Qi
On 08/05/2013 10:18 AM, ChenQi wrote:
> Hi Chris,
>
> Thanks for your review and please see comments inline.
> (You might be reviewing the old patchset, please see the new one if
> you have time.)
>
> On 08/02/2013 11:50 PM, Chris Larson wrote:
>> Greetings,
>>
>> Nice work on this branch. The bind based approach seems clean. I do
>> have some comments:
>>
>> - I think the read-only-rootfs-hook stuff, at least the bind mounting
>> piece at a minimum, belongs in a separate script in ${sbindir} rather
>> than within the startup script itself. This will ease adding support
>> for r/o to systemd images.
> Although I still hold to the tenet we should make sysvinit and systemd
> separate from each other whenever possible, this option is acceptable
> if they do duplicate code and there's no side effect.
> But for now, I would suggest we leave it in the initscripts, and when
> you add read-only-rootfs support for systemd , you could send a patch
> to do the change.
>
>> - I think we should consider having an additional script which
>> unmounts the binds in reverse order, in case the binds prevent
>> unmounting of the partitions in which they live, potentially causing
>> an unclean shutdown.
>
> I figure the bind mounts are essentially using volatile storage, the
> data are lost between reboots after all. So could you please give an
> example of unclean shutdown?
>
> Another problem with this unmounting mechanism is that it's hard to
> determine whether a directory is bind mounted. Note that in the
> read-only-rootfs-hook.sh script, a check has been added to see whether
> the directory specified in config file is on a read-only partition,
> and only if so, the directory is bind mounted with a directory on
> volatile storage.
>
>> - The irda read only bits aren't necessary, it seems. The startup
>> script writes to /etc/sysconfig/ if its config file doesn't already
>> exist, as a mechanism of handling default configuration. This is a
>> terrible way to handle that, and sysconfig is a redhatism, not the
>> way we do things in our distros. I have a commit I'll submit a patch
>> for to resolve this by fixing up the startup script.
> This one has been fixed in the new patchset.
>
>> - I think we should enhance the copy part of the bind script in two ways:
>> - cp from/. to/ -> this ensures it will copy hidden directories
>> as well, which the wildcard does not
> Agree. Thanks for reminding me of this. I'll fix this.
>> - handle bind mounts of files as well as directories
> Agree. Thanks. I'll send out a new patchset.
> (Of course I'll first wait for your comments :) )
>
>> - I also think the mount script should support mount options, making
>> the config files essentially a subset of the filesystem table in
>> fstab. There are cases where there's value in using options with bind
>> mounts, and it'd make the scripts potentially more generally useful.
> I know it might be useful, but I can't think of a use case. Could you
> please give an example where the mount options are useful?
>
>> - I think we should split out the mount and unmount scripts, along
>> with default configuration, into a separate recipe which inherits
>> update-rc.d, and which gets pulled into IMAGE_INSTALL by
>> image.bbclass only when read-only-rootfs is in IMAGE_FEATURES. This
>> means we'd need less conditional "if this is r/o" code in the
>> scripts, as we could rely on it being installed in r/o images, and
>> not in others.
> The r/o check is needed anyway, it's not dedicated to the
> read-only-rootfs-hook.sh script. Other init scripts might also need
> this. That's why I made it a common function in the functions script
> both in initscripts and lsbinitscripts.
>
>>
>> As an aside, I looked into libmount's previous support of fstab.d, it
>> appears using util-linux's libmount-based mount is supposed to
>> support passing a directory to its -T/--fstab= argument, which would
>> let us offload the work to it if we use a real mount binary, but it
>> seems that this directory argument support doesn't work anyway, and
>> of course by doing that we'd suck in additional deps, so maybe it's
>> for the best :)
>>
>> Thoughts? I have prototype mount-binds and unmount-binds shell
>> scripts here which implement the aforementioned suggestions, but I
>> wanted to throw my thoughts out to the list for comments before
>> proceeding any further.
>>
> It would be great if you could share them, and let's have some further
> discussions.
>
> Best Regards,
> Chen Qi
>
>> Thanks,
>> --
>> Christopher Larson
>> clarson at kergoth dot com
>> Founder - BitBake, OpenEmbedded, OpenZaurus
>> Maintainer - Tslib
>> Senior Software Engineer, Mentor Graphics
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
[-- Attachment #2: Type: text/html, Size: 9033 bytes --]
prev parent reply other threads:[~2013-08-05 3:30 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-02 15:50 Initial review of ChenQi/read-only-rootfs-in-live-images Chris Larson
2013-08-05 2:18 ` ChenQi
2013-08-05 3:30 ` ChenQi [this message]
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=51FF1C59.3000301@windriver.com \
--to=qi.chen@windriver.com \
--cc=chen_q07@163.com \
--cc=clarson@kergoth.com \
--cc=openembedded-core@lists.openembedded.org \
/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