Enhance kdump to support bind mounted target, since kdump cann't parse
the bind mounted path.
Following is the testcases which kdump can generate the core sucessfully.
1) rootfs, default path / specified path
2) rootfs with bind mounted path which is in the rootfs device
# cat /etc/kdump | grep ^path
path /var/crash
# mount -o bind /var/crash /mnt/crash
4) rootfs with bind mounted path which is not in the rootfs device
# cat /etc/kdump | grep ^path
path /var/crash
# mount /dev/vdb /mnt
# mount -o bind /var/crash /mnt/crash
5) no-rootfs
6) no-rootfs with bind mounted path which is in the same device
7) no-rootfs with bind mounted path which is not in the same device
8) nfs
9) nfs with bind mounted path which is under the nfs mount point path
# cat /etc/kdump | grep ^nfs
nfs 192.168.122.134:/opt/crash
# cat /etc/kdump | grep ^path
path /var/crash
# mount.nfs 192.168.122.134:/opt/crash /mnt/nfs
# mount -o bind /mnt/nfs/var/crash /mnt/nfs/dump
10) nfs with bind mounted path which is not under the nfs mount point path
# cat /etc/kdump | grep ^nfs
nfs 192.168.122.134:/opt/crash
# cat /etc/kdump | grep ^path
path /var/crash
# mount.nfs 192.168.122.134:/opt/crash /mnt/nfs
# mount -o bind /mnt/nfs/var/crash /mnt/dump
11) nfs which don't specify the nfs option in the /etc/kdump, with bind mounted path
which is under the nfs mount point path
# cat /etc/kdump | grep ^nfs
# mount.nfs 192.168.122.134:/opt/crash /mnt/nfs
# cat /etc/kdump | grep ^path
path /mnt/nfs/var/crash
# mount -o bind /mnt/nfs/var/crash /mnt/nfs/dump
12) nfs which don't specify the nfs option in the /etc/kdump, with bind mounted path
which is not under the nfs mount point path
# cat /etc/kdump | grep ^nfs
# mount.nfs 192.168.122.134:/opt/crash /mnt/nfs
# cat /etc/kdump | grep ^path
path /mnt/nfs/var/crash
# mount -o bind /mnt/nfs/var/crash /mnt/dump
13) ext4
14) ext4 with bind mounted path which is under the ext4 mount point path
15) ext4 with bind mounted path which is not under the ext4 mount point path
16) btrfs
17) btrfs with subvolume which mounts under mount point path
18) btrfs with subvolume which does not mount under mount point path
Minfei Huang (4):
kdump-lib: Add new function to cut out the substring
kdump-lib: Add the new function to enhance bind mounted judgement
kdump-lib: Get the mount point correctly, if the device has several
mount point
dracut-module-setup: Fix the incorrect dumping target, if the path is
bind mounted
dracut-module-setup.sh | 49 +++++++++++++++++++++++++++++++++++-----
kdump-lib.sh | 61 +++++++++++++++++++++++++++++++++++++++++++++++++-
mkdumprd | 32 +++++++++++++++++++-------
3 files changed, 128 insertions(+), 14 deletions(-)
--
1.9.3