From b82c35c842a64be6f73212eab879d5b2a4acf86d Mon Sep 17 00:00:00 2001 From: Kairui Song Date: Thu, 30 Apr 2020 17:33:15 +0800 Subject: [PATCH] Partially Revert "Don't mount the dump target unless needed" This partially reverts commit 6dee286467e5a697d25148712a110da1a720ac96. There are reports that NFSv3 is failing after this commit, and after more debug, I found NFSv4 may not work properly if "nfs4_disable_idmapping" is set to 0. The cause of the failure is that kdump.sh runs after dracut's pre-pivot and clean up hook, many dracut module will install hooks to kill some running services, so if the dump target requires a service to be running but it's killed, mount will fail. Dracut ensures the configured mount points are ready before pre-pivot. After pre-pivot, any further mounting operation may not work as expected. Although there is no report of other type of dump target failure except NFSv3, it's better to revert this, to avoid other potential risk, and wait for a proper fix for that systemd/kernel issue. Else, this may bring more trouble for further development. But still keep the change in kdump-lib-initramfs.sh for better robustness. Signed-off-by: Kairui Song Acked-by: Pingfan Liu --- mkdumprd | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/mkdumprd b/mkdumprd index 35f5eed..cedf536 100644 --- a/mkdumprd +++ b/mkdumprd @@ -77,13 +77,12 @@ to_mount() { fi # mount fs target as rw in 2nd kernel _options=$(echo $_options | sed 's/\(^\|,\)ro\($\|,\)/\1rw\2/g') - # filter out 'noauto' here, it will be force appended later, avoid duplication + # with 'noauto' in fstab nfs and non-root disk mount will fail in 2nd + # kernel, filter it out here. _options=$(echo $_options | sed 's/\(^\|,\)noauto\($\|,\)/\1/g') # drop nofail or nobootwait _options=$(echo $_options | sed 's/\(^\|,\)nofail\($\|,\)/\1/g') _options=$(echo $_options | sed 's/\(^\|,\)nobootwait\($\|,\)/\1/g') - # only mount the dump target when needed. - _options="$_options,noauto" _mntopts="$_target $_fstype $_options" #for non-nfs _dev converting to use udev persistent name