dracut: write initramfs to temp file then move into place

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.
master
Lars R. Damerow 2013-02-21 13:40:23 -08:00 committed by Harald Hoyer
parent 9c65c125a9
commit 9a9c6e1256
1 changed files with 3 additions and 2 deletions

View File

@ -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:"