From 6a5170a15f67a72bcec427a252d23ead4f3ae89a Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Thu, 26 Jul 2012 15:16:22 +0200 Subject: [PATCH] PATCH: add support for xfs / reiserfs separate journal device xfs and reiserfs (among other) supports storing journal data to a separate device. Unfortunately, XFS requires this information to boot properly (reiserfs can embed the information in its metadata but you might want to override it). Attached patch ensure host information are stored in initramfs and also allows to give data over kernel commandline. -- Frederic Crozat SUSE >From a7c592b9bb7de0d7874ae51d02944a7eee2ec75b Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Tue, 24 Jul 2012 18:52:17 +0200 Subject: [PATCH] Add support for separate journal on reiserfs and xfs --- modules.d/95rootfs-block/mount-root.sh | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/modules.d/95rootfs-block/mount-root.sh b/modules.d/95rootfs-block/mount-root.sh index de9753a..a6cba12 100755 --- a/modules.d/95rootfs-block/mount-root.sh +++ b/modules.d/95rootfs-block/mount-root.sh @@ -7,9 +7,26 @@ type det_fs >/dev/null 2>&1 || . /lib/fs-lib.sh mount_root() { local _ret - local _rflags_ro="$rflags,ro" + local _rflags_ro # sanity - determine/fix fstype rootfs=$(det_fs "${root#block:}" "$fstype") + + journaldev=$(getarg root.journaldev) + if [ -n $journaldev ]; then + case "$rootfs" in + xfs) + rflags="${rflags:+${rflags},}logdev=$journaldev" + ;; + reiserfs) + fsckoptions="-j $journaldev $fsckoptions" + rflags="${rflags:+${rflags},}jdev=$journaldev" + ;; + *);; + esac + fi + + _rflags_ro="$rflags,ro" + while ! mount -t ${rootfs} -o "$_rflags_ro" "${root#block:}" "$NEWROOT"; do warn "Failed to mount -t ${rootfs} -o $_rflags_ro ${root#block:} $NEWROOT" fsck_ask_err -- 2.7.4