59 lines
2.0 KiB
Diff
59 lines
2.0 KiB
Diff
From 6a5170a15f67a72bcec427a252d23ead4f3ae89a Mon Sep 17 00:00:00 2001
|
|
From: Frederic Crozat <fcrozat@suse.com>
|
|
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 <fcrozat@suse.com>
|
|
SUSE
|
|
|
|
>From a7c592b9bb7de0d7874ae51d02944a7eee2ec75b Mon Sep 17 00:00:00 2001
|
|
From: Frederic Crozat <fcrozat@suse.com>
|
|
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
|