From: ChenQi <Qi.Chen@windriver.com>
To: Saul Wold <sgw@linux.intel.com>
Cc: qingtao.cao@windriver.com, openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 1/1] udev-cache: take a read-only rootfs into consideration
Date: Fri, 28 Jun 2013 14:21:58 +0800 [thread overview]
Message-ID: <51CD2B86.3050906@windriver.com> (raw)
In-Reply-To: <51CD265C.7070106@linux.intel.com>
On 06/28/2013 01:59 PM, Saul Wold wrote:
> On 06/27/2013 10:00 PM, Qi.Chen@windriver.com wrote:
>> From: Chen Qi <Qi.Chen@windriver.com>
>>
>> In case of a read-only rootfs, no matter the /etc is read-only or
>> it's bind mounted with tmpfs, the udev cache handling should be
>> skipped, as the data cannot be persisted between reboots.
>>
>> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>> ---
>> meta/recipes-core/udev/udev/init | 5 +++--
>> meta/recipes-core/udev/udev/udev-cache | 6 ++++++
>> 2 files changed, 9 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta/recipes-core/udev/udev/init
>> b/meta/recipes-core/udev/udev/init
>> index 9b81700..38ea666 100644
>> --- a/meta/recipes-core/udev/udev/init
>> +++ b/meta/recipes-core/udev/udev/init
>> @@ -18,6 +18,7 @@ export TZ=/etc/localtime
>> [ -x @UDEVD@ ] || exit 1
>> [ -f /etc/default/udev-cache ] && . /etc/default/udev-cache
>> [ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf
>> +[ -f /etc/default/rcS ] && . /etc/default/rcS
>>
>> readfile () {
>> filename=$1
>> @@ -52,8 +53,8 @@ case "$1" in
>> mount -a -t tmpfs 2>/dev/null
>> mkdir -p /var/volatile/tmp
>>
>> - # cache handling
>> - if [ "$DEVCACHE" != "" ]; then
>> + # Cache handling. Skip cache handling in case of a read-only
>> rootfs.
>> + if [ "$ROOTFS_READ_ONLY" = "no" -a "$DEVCACHE" != "" ]; then
>> readfile /proc/version
>> VERSION="$READDATA"
>> readfile /proc/cmdline
> Do you think it would be possible in a fix embedded device to have the
> udev cache created and installed in a read-only FS?
>
> Sau!
>
Thanks for pointing it out.
Yes, you're right.
No matter how the cache is installed, if the $DEVCACHE file exists and
the $READDATA matches, we could use the cache.
I'll send out a V2.
//Chen Qi
>> diff --git a/meta/recipes-core/udev/udev/udev-cache
>> b/meta/recipes-core/udev/udev/udev-cache
>> index 8a84fa9..3e0eff6 100644
>> --- a/meta/recipes-core/udev/udev/udev-cache
>> +++ b/meta/recipes-core/udev/udev/udev-cache
>> @@ -15,8 +15,14 @@ export TZ=/etc/localtime
>> [ -x @UDEVD@ ] || exit 1
>> [ -d /sys/class ] || exit 1
>>
>> +[ -f /etc/default/rcS ] && . /etc/default/rcS
>> [ -f /etc/default/udev-cache ] && . /etc/default/udev-cache
>>
>> +if [ "$ROOTFS_READ_ONLY" = "yes" ]; then
>> + [ "$VERBOSE" != "no" ] && echo "read-only rootfs, skip udev-cache"
>> + exit 0
>> +fi
>> +
>> if [ "$DEVCACHE" != "" -a -e /dev/shm/udev.cache ]; then
>> echo "Populating dev cache"
>> (cd /; tar cf "$DEVCACHE" dev)
>>
>
>
prev parent reply other threads:[~2013-06-28 6:21 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-28 5:00 [PATCH 0/1] udev-cache: take a read-only rootfs into consideration Qi.Chen
2013-06-28 5:00 ` [PATCH 1/1] " Qi.Chen
2013-06-28 5:59 ` Saul Wold
2013-06-28 6:21 ` 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=51CD2B86.3050906@windriver.com \
--to=qi.chen@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=qingtao.cao@windriver.com \
--cc=sgw@linux.intel.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