In a iSCSI multipath environment (which uses iSCSI software initiator and target environment) when the vmcore file is saved on the target, kdump always fails to establish a iSCSI session and also fails to collect dump due to duplicate entries for 'netroot' and 'iscsi initiator' in the kdump bootargs:
# echo c > /proc/sysrq-trigger
[83471.842707] SysRq : Trigger a crash [83471.843233] BUG: unable to handle kernel NULL pointer dereference at (null) [83471.844155] IP: [<ffffffffac82ed16>] sysrq_handle_crash+0x16/0x20 [83471.844931] PGD 800000023f710067 PUD 229fd6067 PMD 0 [83471.845655] Oops: 0002 [#1] SMP
<snip..>
[83471.861889] Call Trace: [83471.862162] [<ffffffffac82f53d>] __handle_sysrq+0x10d/0x170 [83471.862771] [<ffffffffac82f9af>] write_sysrq_trigger+0x2f/0x40 [83471.863405] [<ffffffffac690630>] proc_reg_write+0x40/0x80 [83471.863984] [<ffffffffac61acd0>] vfs_write+0xc0/0x1f0 [83471.864536] [<ffffffffac61baff>] SyS_write+0x7f/0xf0 [83471.865075] [<ffffffffacb1f7d5>] system_call_fastpath+0x1c/0x21 [83471.865714] Code: eb 9b 45 01 f4 45 39 65 34 75 e5 4c 89 ef e8 e2 f7 ff ff eb db 0f 1f 44 00 00 55 48 89 e5 c7 05 41 47 81 00 01 00 00 00 0f ae f8 <c6> 04 25 00 00 00 00 01 5d c3 0f 1f 44 00 00 55 31 c0 c7 05 be [83471.868888] RIP [<ffffffffac82ed16>] sysrq_handle_crash+0x16/0x20 [83471.869700] RSP <ffff9e7fe77b7e58> [83471.870074] CR2: 0000000000000000
<snip..>
Starting Login iSCSI Target iqn.2014-08.com.example:t1... [ OK ] Stopped Login iSCSI Target iqn.2014-08.com.example:t1. Starting Login iSCSI Target iqn.2014-08.com.example:t1... [ 6.607051] scsi host2: iSCSI Initiator over TCP/IP [FAILED] Failed to start Login iSCSI Target iqn.2014-08.com.example:t1. See 'systemctl status "iscsistart_\x40...com.example:t1.service"' for details. [ 126.572911] dracut-initqueue[243]: Warning: dracut-initqueue timeout - starting timeout scripts Stopping Open-iSCSI... [ OK ] Stopped Open-iSCSI. Starting Open-iSCSI... [ OK ] Started Open-iSCSI. Starting Login iSCSI Target iqn.2014-08.com.example:t1... [ OK ] Stopped Login iSCSI Target iqn.2014-08.com.example:t1. Starting Login iSCSI Target iqn.2014-08.com.example:t1... [ 131.095897] scsi host3: iSCSI Initiator over TCP/IP [FAILED] Failed to start Login iSCSI Target iqn.2014-08.com.example:t1. See 'systemctl status "iscsistart_\x40...com.example:t1.service"' for details. [ 251.085029] dracut-initqueue[243]: Warning: dracut-initqueue timeout - starting timeout scripts [ 251.594554] dracut-initqueue[243]: Warning: dracut-initqueue timeout - starting timeout scripts
<snip..>
This patch fixes the same by removing the 'netroot', 'rd.iscsi.initiator' and 'iscsi_initiator' entries from the kdump boot cmdline.
Signed-off-by: Bhupesh Sharma bhsharma@redhat.com --- kdumpctl | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/kdumpctl b/kdumpctl index cebca36a4b20..c55a5a5817db 100755 --- a/kdumpctl +++ b/kdumpctl @@ -138,6 +138,11 @@ prepare_cmdline() # With the help of "--hostonly-cmdline", we can avoid some interitage. cmdline=$(remove_cmdline_param "$cmdline" rd.lvm.lv rd.luks.uuid rd.dm.uuid rd.md.uuid fcoe)
+ # Remove netroot, rd.iscsi.initiator and iscsi_initiator since + # we get duplicate entries for the same in case iscsi code adds + # it as well. + cmdline=$(remove_cmdline_param "$cmdline" netroot rd.iscsi.initiator iscsi_initiator) + cmdline="${cmdline} ${KDUMP_COMMANDLINE_APPEND}"
id=$(get_bootcpu_apicid)
Hi Bhupesh,
On 05/21/18 at 10:31am, Bhupesh Sharma wrote:
In a iSCSI multipath environment (which uses iSCSI software initiator and target environment) when the vmcore file is saved on the target, kdump always fails to establish a iSCSI session and also fails to collect dump due to duplicate entries for 'netroot' and 'iscsi initiator' in the kdump bootargs:
# echo c > /proc/sysrq-trigger
[83471.842707] SysRq : Trigger a crash [83471.843233] BUG: unable to handle kernel NULL pointer dereference at (null) [83471.844155] IP: [<ffffffffac82ed16>] sysrq_handle_crash+0x16/0x20 [83471.844931] PGD 800000023f710067 PUD 229fd6067 PMD 0 [83471.845655] Oops: 0002 [#1] SMP
<snip..>
[83471.861889] Call Trace: [83471.862162] [<ffffffffac82f53d>] __handle_sysrq+0x10d/0x170 [83471.862771] [<ffffffffac82f9af>] write_sysrq_trigger+0x2f/0x40 [83471.863405] [<ffffffffac690630>] proc_reg_write+0x40/0x80 [83471.863984] [<ffffffffac61acd0>] vfs_write+0xc0/0x1f0 [83471.864536] [<ffffffffac61baff>] SyS_write+0x7f/0xf0 [83471.865075] [<ffffffffacb1f7d5>] system_call_fastpath+0x1c/0x21 [83471.865714] Code: eb 9b 45 01 f4 45 39 65 34 75 e5 4c 89 ef e8 e2 f7 ff ff eb db 0f 1f 44 00 00 55 48 89 e5 c7 05 41 47 81 00 01 00 00 00 0f ae f8 <c6> 04 25 00 00 00 00 01 5d c3 0f 1f 44 00 00 55 31 c0 c7 05 be [83471.868888] RIP [<ffffffffac82ed16>] sysrq_handle_crash+0x16/0x20 [83471.869700] RSP <ffff9e7fe77b7e58> [83471.870074] CR2: 0000000000000000
<snip..>
Starting Login iSCSI Target iqn.2014-08.com.example:t1...[ OK ] Stopped Login iSCSI Target iqn.2014-08.com.example:t1. Starting Login iSCSI Target iqn.2014-08.com.example:t1... [ 6.607051] scsi host2: iSCSI Initiator over TCP/IP [FAILED] Failed to start Login iSCSI Target iqn.2014-08.com.example:t1. See 'systemctl status "iscsistart_\x40...com.example:t1.service"' for details. [ 126.572911] dracut-initqueue[243]: Warning: dracut-initqueue timeout - starting timeout scripts Stopping Open-iSCSI... [ OK ] Stopped Open-iSCSI. Starting Open-iSCSI... [ OK ] Started Open-iSCSI. Starting Login iSCSI Target iqn.2014-08.com.example:t1... [ OK ] Stopped Login iSCSI Target iqn.2014-08.com.example:t1. Starting Login iSCSI Target iqn.2014-08.com.example:t1... [ 131.095897] scsi host3: iSCSI Initiator over TCP/IP [FAILED] Failed to start Login iSCSI Target iqn.2014-08.com.example:t1. See 'systemctl status "iscsistart_\x40...com.example:t1.service"' for details. [ 251.085029] dracut-initqueue[243]: Warning: dracut-initqueue timeout - starting timeout scripts [ 251.594554] dracut-initqueue[243]: Warning: dracut-initqueue timeout - starting timeout scripts
<snip..>
This patch fixes the same by removing the 'netroot', 'rd.iscsi.initiator' and 'iscsi_initiator' entries from the kdump boot cmdline.
One reason why this is safe is our kdump target setup does not depend on 1st kernel inherited cmdline params now since the work we dropped root dependency.
Acked-by: Dave Young dyoung@redhat.com
Signed-off-by: Bhupesh Sharma bhsharma@redhat.com
kdumpctl | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/kdumpctl b/kdumpctl index cebca36a4b20..c55a5a5817db 100755 --- a/kdumpctl +++ b/kdumpctl @@ -138,6 +138,11 @@ prepare_cmdline() # With the help of "--hostonly-cmdline", we can avoid some interitage. cmdline=$(remove_cmdline_param "$cmdline" rd.lvm.lv rd.luks.uuid rd.dm.uuid rd.md.uuid fcoe)
# Remove netroot, rd.iscsi.initiator and iscsi_initiator since
# we get duplicate entries for the same in case iscsi code adds
# it as well.
cmdline=$(remove_cmdline_param "$cmdline" netroot rd.iscsi.initiator iscsi_initiator)
cmdline="${cmdline} ${KDUMP_COMMANDLINE_APPEND}"
id=$(get_bootcpu_apicid)
-- 2.7.4