Re: [PATCH] dracut: write initramfs to temp file then move into place

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 21.02.2013 22:40, schrieb lars@xxxxxxxxx:
> From: "Lars R. Damerow" <lars@xxxxxxxxx>
> 
> We've been finding cases where multiple instances of dracut can be launched
> simultaneously, resulting in a corrupted initramfs file. This patch makes
> dracut write the initramfs to a new file, then move it into place atomically.
> ---
>  dracut.sh | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/dracut.sh b/dracut.sh
> index 31cf2a5..da96aaa 100755
> --- a/dracut.sh
> +++ b/dracut.sh
> @@ -1103,10 +1103,11 @@ fi
>  rm -f "$outfile"
>  dinfo "*** Creating image file ***"
>  if ! ( umask 077; cd "$initdir"; find . |cpio -R 0:0 -H newc -o --quiet| \
> -    $compress > "$outfile"; ); then
> -    dfatal "dracut: creation of $outfile failed"
> +    $compress > "$outfile.$$"; ); then
> +    dfatal "dracut: creation of $outfile.$$ failed"
>      exit 1
>  fi
> +mv $outfile.$$ $outfile
>  dinfo "*** Creating image file done ***"
>  
>  dinfo "Wrote $outfile:"
> 

Yes, right!
Thanks for the patch!
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux