init/setup-rwdev: don't write a journal in DispVMs

This commit is contained in:
Amber M. Breslau 2020-02-14 11:35:05 -05:00
parent be9155ef11
commit 22a3346f5d
No known key found for this signature in database
GPG Key ID: D5048E00997E4744

View File

@ -1,5 +1,9 @@
#!/bin/sh
# Source Qubes library.
# shellcheck source=init/functions
. /usr/lib/qubes/init/functions
set -e
dev=/dev/xvdb
@ -16,7 +20,13 @@ if [ -e "$dev" ] ; then
if cmp --bytes $private_size "$dev" /dev/zero >/dev/null && { blkid -p "$dev" >/dev/null; [ $? -eq 2 ]; }; then
# the device is empty, create filesystem
echo "Virgin boot of the VM: creating private.img filesystem on $dev" >&2
if ! content=$(mkfs.ext4 -m 0 -q "$dev" 2>&1) ; then
# journals are only useful on reboot, so don't write one in a DispVM
if is_dispvm ; then
journal="-O ^has_journal"
else
journal="-O has_journal"
fi
if ! content=$(mkfs.ext4 -m 0 -q "$journal" "$dev" 2>&1) ; then
echo "Virgin boot of the VM: creation of private.img on $dev failed:" >&2
echo "$content" >&2
echo "Virgin boot of the VM: aborting" >&2