[oe] [PATCH] Modified populate-volatile.sh to atomically update volatile.cache, to avoid power loss issues. Signed-off-by: jameslimbouris <james at digitalmatter.com.au>
Paul Menzel
paulepanter at users.sourceforge.net
Tue Jun 7 08:50:04 UTC 2011
Dear James,
thank you for your patch.
I am also putting you into CC not knowing if you read the list
regularly. (I am reading the list.)
Am Dienstag, den 07.06.2011, 02:58 +0000 schrieb James Limbouris:
please resend your patch [2], as the commit message ended up in the
subject line/commit summary. Please also prefix the commit summary with
the recipe name [1] and format your name correctly in the Signed-off-by
line. You can take the following one as a starting point and please
adapt/improve it.
8<-------------------------------------------------------------------->8
initscripts: Modify `populate-volatile.sh` to atomically update `volatile.cache`
When power is lost during boot it could happen that
`/etc/volatile.cache` is written too and lays around during the next
boot causing the following problems.
Using a temporary file and renaming it at once avoids those issues.
Signed-off-by: James Limbouris <james at digitalmatter.com.au>
8<-------------------------------------------------------------------->8
> ---
> .../initscripts-1.0/populate-volatile.sh | 10 ++++++----
> 1 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/recipes/initscripts/initscripts-1.0/populate-volatile.sh b/recipes/initscripts/initscripts-1.0/populate-volatile.sh
> index 3bb3d94..e355680 100755
> --- a/recipes/initscripts/initscripts-1.0/populate-volatile.sh
> +++ b/recipes/initscripts/initscripts-1.0/populate-volatile.sh
> @@ -14,7 +14,7 @@ create_file() {
> chown ${TUSER}.${TGROUP} $1 || echo \"Failed to set owner -${TUSER}- for -$1-.\" >/dev/tty0 2>&1;
> chmod ${TMODE} $1 || echo \"Failed to set mode -${TMODE}- for -$1-.\" >/dev/tty0 2>&1 "
>
> - test "$VOLATILE_ENABLE_CACHE" = yes && echo "$EXEC" >> /etc/volatile.cache
> + test "$VOLATILE_ENABLE_CACHE" = yes && echo "$EXEC" >> /etc/volatile.cache.build
>
> [ -e "$1" ] && {
> [ "${VERBOSE}" != "no" ] && echo "Target already exists. Skipping."
> @@ -29,7 +29,7 @@ mk_dir() {
> chown ${TUSER}.${TGROUP} $1 || echo \"Failed to set owner -${TUSER}- for -$1-.\" >/dev/tty0 2>&1;
> chmod ${TMODE} $1 || echo \"Failed to set mode -${TMODE}- for -$1-.\" >/dev/tty0 2>&1 "
>
> - test "$VOLATILE_ENABLE_CACHE" = yes && echo "$EXEC" >> /etc/volatile.cache
> + test "$VOLATILE_ENABLE_CACHE" = yes && echo "$EXEC" >> /etc/volatile.cache.build
>
> [ -e "$1" ] && {
> [ "${VERBOSE}" != "no" ] && echo "Target already exists. Skipping."
> @@ -41,7 +41,7 @@ mk_dir() {
> link_file() {
> EXEC="test -e \"$2\" -o -L $2 || ln -s \"$1\" \"$2\" >/dev/tty0 2>&1"
>
> - test "$VOLATILE_ENABLE_CACHE" = yes && echo " $EXEC" >> /etc/volatile.cache
> + test "$VOLATILE_ENABLE_CACHE" = yes && echo " $EXEC" >> /etc/volatile.cache.build
>
> [ -e "$2" ] && {
> echo "Cannot create link over existing -${TNAME}-." >&2
> @@ -164,8 +164,10 @@ if test -e /etc/volatile.cache -a "$VOLATILE_ENABLE_CACHE" = "yes" -a "x$1" != "
> then
> sh /etc/volatile.cache
> else
> - rm -f /etc/volatile.cache
> + rm -f /etc/volatile.cache /etc/volatile.cache.build
> for file in `ls -1 "${CFGDIR}" | sort`; do
> apply_cfgfile "${CFGDIR}/${file}"
> done
> +
> + [ -e /etc/volatile.cache.build ] && sync && mv /etc/volatile.cache.build /etc/volatile.cache
> fi
Does not `/etc/volatile.cache.build` need to be removed during the next
boot up?
Thanks,
Paul
[1] http://openembedded.org/index.php/Commit_Policy
[2] http://openembedded.org/index.php/How_to_submit_a_patch_to_OpenEmbedded
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20110607/fa42a86e/attachment-0002.sig>
More information about the Openembedded-devel
mailing list