From: mhuang mhuang@redhat.com
The device which is exclude by root device, must specify option in /etc/dasd.conf to make it online on s390x when the machine is booting.
The kdump will fail to generate the vmcore in the 2nd kernel, if the kdump target is not the root device.
In the initramfs, we will generate the config dasd.conf which contains all of the online devices by sysfs.
Signed-off-by: mhuang mhuang@redhat.com --- dracut-module-setup.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh index 38801de..48307e6 100755 --- a/dracut-module-setup.sh +++ b/dracut-module-setup.sh @@ -569,6 +569,29 @@ kdump_install_random_seed() { bs=$poolsize count=1 2> /dev/null }
+specify_dasd_conf() { + local dasd_dev + local dasd_conf="${initdir}/etc/dasd.conf" + + [[ -f $dasd_conf ]] || touch $dasd_conf + + for dasd_dev in /sys/block/dasd* + do + if [ `cat $dasd_dev/device/online` -eq 1 ]; then + dasd_dev=$(basename $(readlink $dasd_dev/device)) + if ! grep -q "$dasd_dev" $dasd_conf 2>/dev/null; then + echo $dasd_dev >> $dasd_conf + fi + fi + done +} + +kdump_specify_conf() { + if [ "$(uname -m)" = "s390x" ]; then + specify_dasd_conf + fi +} + install() { kdump_install_conf
@@ -601,6 +624,8 @@ install() { # target. Ideally all this should be pushed into dracut iscsi module # at some point of time. kdump_check_iscsi_targets + + kdump_specify_conf }
installkernel() {
On 10/15/14 at 03:35pm, Minfei Huang wrote:
From: mhuang mhuang@redhat.com
The device which is exclude by root device, must specify option in /etc/dasd.conf to make it online on s390x when the machine is booting.
The kdump will fail to generate the vmcore in the 2nd kernel, if the kdump target is not the root device.
In the initramfs, we will generate the config dasd.conf which contains all of the online devices by sysfs.
I am trying to reorganize the description as below, just for reference.
The device which is not root device, an option need be specified in /etc/dasd.conf to make it be online on s390x during the machine is booting. Othersise if it's specified as kdump target and it's not in /etc/dasd.conf, it won't be offline in kdump kernel too. Then kdump will fail to generate vmcore.
In this patch, we need add this device as an option into /$initdir/etc/dasd.conf. Then this can make that device which is the kdump target be online in 2nd kernel. With this it can work well.
Thanks Baoquan
Signed-off-by: mhuang mhuang@redhat.com
dracut-module-setup.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh index 38801de..48307e6 100755 --- a/dracut-module-setup.sh +++ b/dracut-module-setup.sh @@ -569,6 +569,29 @@ kdump_install_random_seed() { bs=$poolsize count=1 2> /dev/null }
+specify_dasd_conf() {
- local dasd_dev
- local dasd_conf="${initdir}/etc/dasd.conf"
- [[ -f $dasd_conf ]] || touch $dasd_conf
- for dasd_dev in /sys/block/dasd*
- do
if [ `cat $dasd_dev/device/online` -eq 1 ]; then
dasd_dev=$(basename $(readlink $dasd_dev/device))
if ! grep -q "$dasd_dev" $dasd_conf 2>/dev/null; then
echo $dasd_dev >> $dasd_conf
fi
fi
- done
+}
+kdump_specify_conf() {
- if [ "$(uname -m)" = "s390x" ]; then
specify_dasd_conf
- fi
+}
install() { kdump_install_conf
@@ -601,6 +624,8 @@ install() { # target. Ideally all this should be pushed into dracut iscsi module # at some point of time. kdump_check_iscsi_targets
- kdump_specify_conf
}
installkernel() {
1.8.3.1
kexec mailing list kexec@lists.fedoraproject.org https://lists.fedoraproject.org/mailman/listinfo/kexec
On 10/15/14 at 05:59pm, Baoquan He wrote:
On 10/15/14 at 03:35pm, Minfei Huang wrote:
From: mhuang mhuang@redhat.com
The device which is exclude by root device, must specify option in /etc/dasd.conf to make it online on s390x when the machine is booting.
The kdump will fail to generate the vmcore in the 2nd kernel, if the kdump target is not the root device.
In the initramfs, we will generate the config dasd.conf which contains all of the online devices by sysfs.
I am trying to reorganize the description as below, just for reference.
Sorry, grammer mistake. Add a 'for'.
For the device which is not root device, an option need be specified in
The device which is not root device, an option need be specified in /etc/dasd.conf to make it be online on s390x during the machine is booting. Othersise if it's specified as kdump target and it's not in /etc/dasd.conf, it won't be offline in kdump kernel too. Then kdump will fail to generate vmcore.
In this patch, we need add this device as an option into /$initdir/etc/dasd.conf. Then this can make that device which is the kdump target be online in 2nd kernel. With this it can work well.
Thanks Baoquan
Signed-off-by: mhuang mhuang@redhat.com
dracut-module-setup.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh index 38801de..48307e6 100755 --- a/dracut-module-setup.sh +++ b/dracut-module-setup.sh @@ -569,6 +569,29 @@ kdump_install_random_seed() { bs=$poolsize count=1 2> /dev/null }
+specify_dasd_conf() {
- local dasd_dev
- local dasd_conf="${initdir}/etc/dasd.conf"
- [[ -f $dasd_conf ]] || touch $dasd_conf
- for dasd_dev in /sys/block/dasd*
- do
if [ `cat $dasd_dev/device/online` -eq 1 ]; then
dasd_dev=$(basename $(readlink $dasd_dev/device))
if ! grep -q "$dasd_dev" $dasd_conf 2>/dev/null; then
echo $dasd_dev >> $dasd_conf
fi
fi
- done
+}
+kdump_specify_conf() {
- if [ "$(uname -m)" = "s390x" ]; then
specify_dasd_conf
- fi
+}
install() { kdump_install_conf
@@ -601,6 +624,8 @@ install() { # target. Ideally all this should be pushed into dracut iscsi module # at some point of time. kdump_check_iscsi_targets
- kdump_specify_conf
}
installkernel() {
1.8.3.1
kexec mailing list kexec@lists.fedoraproject.org https://lists.fedoraproject.org/mailman/listinfo/kexec
On Wed, Oct 15, 2014 at 03:35:22PM +0800, Minfei Huang wrote:
From: mhuang mhuang@redhat.com
The device which is exclude by root device, must specify option in
You mean "A dasd device which is not root device"?
/etc/dasd.conf to make it online on s390x when the machine is booting.
So some service goes through /etc/dasd.conf and brings everything mentioned there online? Which service is that?
The kdump will fail to generate the vmcore in the 2nd kernel, if the kdump target is not the root device.
You can add more context here.
"If some device is not part of /etc/dasd.conf, then it will not be brought up in second kernel and hence saving dump to that device wil fail".
In the initramfs, we will generate the config dasd.conf which contains all of the online devices by sysfs.
Why are we putting all dasd devices in $initramfs/etc/dasd.conf. Shouldn't we only add those devices which fall in dump path. System might have many other dasd devices and we don't want to bring these up. These will just add to extra memory usage.
Thanks Vivek
Signed-off-by: mhuang mhuang@redhat.com
dracut-module-setup.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh index 38801de..48307e6 100755 --- a/dracut-module-setup.sh +++ b/dracut-module-setup.sh @@ -569,6 +569,29 @@ kdump_install_random_seed() { bs=$poolsize count=1 2> /dev/null }
+specify_dasd_conf() {
- local dasd_dev
- local dasd_conf="${initdir}/etc/dasd.conf"
- [[ -f $dasd_conf ]] || touch $dasd_conf
- for dasd_dev in /sys/block/dasd*
- do
if [ `cat $dasd_dev/device/online` -eq 1 ]; then
dasd_dev=$(basename $(readlink $dasd_dev/device))
if ! grep -q "$dasd_dev" $dasd_conf 2>/dev/null; then
echo $dasd_dev >> $dasd_conf
fi
fi
- done
+}
+kdump_specify_conf() {
- if [ "$(uname -m)" = "s390x" ]; then
specify_dasd_conf
- fi
+}
install() { kdump_install_conf
@@ -601,6 +624,8 @@ install() { # target. Ideally all this should be pushed into dracut iscsi module # at some point of time. kdump_check_iscsi_targets
- kdump_specify_conf
}
installkernel() {
1.8.3.1
kexec mailing list kexec@lists.fedoraproject.org https://lists.fedoraproject.org/mailman/listinfo/kexec
On 10/15/14 at 04:43pm, Vivek Goyal wrote:
On Wed, Oct 15, 2014 at 03:35:22PM +0800, Minfei Huang wrote:
From: mhuang mhuang@redhat.com
The device which is exclude by root device, must specify option in
You mean "A dasd device which is not root device"?
Yes.
/etc/dasd.conf to make it online on s390x when the machine is booting.
So some service goes through /etc/dasd.conf and brings everything mentioned there online? Which service is that?
/sbin/dasdconf.sh will parse the /etc/dasd.conf configuration to bring up the device or not during the kernel booting.
The kdump will fail to generate the vmcore in the 2nd kernel, if the kdump target is not the root device.
You can add more context here.
"If some device is not part of /etc/dasd.conf, then it will not be brought up in second kernel and hence saving dump to that device wil fail".
Thanks. I will change it.
In the initramfs, we will generate the config dasd.conf which contains all of the online devices by sysfs.
Why are we putting all dasd devices in $initramfs/etc/dasd.conf. Shouldn't we only add those devices which fall in dump path. System might have many other dasd devices and we don't want to bring these up. These will just add to extra memory usage.
That is a good way to collect the useful device.
But I think we should make more similiar in the kdump environment to the 1st kernel.
Also administator can be offline all of useless devices(for kdump environment) to start the kdump service.
Thanks Minfei
Thanks Vivek
Signed-off-by: mhuang mhuang@redhat.com
dracut-module-setup.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh index 38801de..48307e6 100755 --- a/dracut-module-setup.sh +++ b/dracut-module-setup.sh @@ -569,6 +569,29 @@ kdump_install_random_seed() { bs=$poolsize count=1 2> /dev/null }
+specify_dasd_conf() {
- local dasd_dev
- local dasd_conf="${initdir}/etc/dasd.conf"
- [[ -f $dasd_conf ]] || touch $dasd_conf
- for dasd_dev in /sys/block/dasd*
- do
if [ `cat $dasd_dev/device/online` -eq 1 ]; then
dasd_dev=$(basename $(readlink $dasd_dev/device))
if ! grep -q "$dasd_dev" $dasd_conf 2>/dev/null; then
echo $dasd_dev >> $dasd_conf
fi
fi
- done
+}
+kdump_specify_conf() {
- if [ "$(uname -m)" = "s390x" ]; then
specify_dasd_conf
- fi
+}
install() { kdump_install_conf
@@ -601,6 +624,8 @@ install() { # target. Ideally all this should be pushed into dracut iscsi module # at some point of time. kdump_check_iscsi_targets
- kdump_specify_conf
}
installkernel() {
1.8.3.1
kexec mailing list kexec@lists.fedoraproject.org https://lists.fedoraproject.org/mailman/listinfo/kexec
On Thu, Oct 16, 2014 at 11:15:16AM +0800, Minfei Huang wrote:
On 10/15/14 at 04:43pm, Vivek Goyal wrote:
On Wed, Oct 15, 2014 at 03:35:22PM +0800, Minfei Huang wrote:
From: mhuang mhuang@redhat.com
The device which is exclude by root device, must specify option in
You mean "A dasd device which is not root device"?
Yes.
/etc/dasd.conf to make it online on s390x when the machine is booting.
So some service goes through /etc/dasd.conf and brings everything mentioned there online? Which service is that?
/sbin/dasdconf.sh will parse the /etc/dasd.conf configuration to bring up the device or not during the kernel booting.
The kdump will fail to generate the vmcore in the 2nd kernel, if the kdump target is not the root device.
You can add more context here.
"If some device is not part of /etc/dasd.conf, then it will not be brought up in second kernel and hence saving dump to that device wil fail".
Thanks. I will change it.
In the initramfs, we will generate the config dasd.conf which contains all of the online devices by sysfs.
Why are we putting all dasd devices in $initramfs/etc/dasd.conf. Shouldn't we only add those devices which fall in dump path. System might have many other dasd devices and we don't want to bring these up. These will just add to extra memory usage.
That is a good way to collect the useful device.
This is not preferred. This needs to be done only if we can't figure out which dasd device falls in dump path.
But I think we should make more similiar in the kdump environment to the 1st kernel.
Not in terms of bringing up all devices.
Also administator can be offline all of useless devices(for kdump environment) to start the kdump service.
Other devices might be being used for other purposes in first kernel. Kdump destination is only one of them. So admin will not offline rest of the devices.
Thanks Vivek
Signed-off-by: mhuang mhuang@redhat.com
dracut-module-setup.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh index 38801de..48307e6 100755 --- a/dracut-module-setup.sh +++ b/dracut-module-setup.sh @@ -569,6 +569,29 @@ kdump_install_random_seed() { bs=$poolsize count=1 2> /dev/null }
+specify_dasd_conf() {
- local dasd_dev
- local dasd_conf="${initdir}/etc/dasd.conf"
- [[ -f $dasd_conf ]] || touch $dasd_conf
- for dasd_dev in /sys/block/dasd*
- do
if [ `cat $dasd_dev/device/online` -eq 1 ]; then
dasd_dev=$(basename $(readlink $dasd_dev/device))
if ! grep -q "$dasd_dev" $dasd_conf 2>/dev/null; then
echo $dasd_dev >> $dasd_conf
fi
fi
- done
+}
+kdump_specify_conf() {
- if [ "$(uname -m)" = "s390x" ]; then
specify_dasd_conf
- fi
+}
install() { kdump_install_conf
@@ -601,6 +624,8 @@ install() { # target. Ideally all this should be pushed into dracut iscsi module # at some point of time. kdump_check_iscsi_targets
- kdump_specify_conf
}
installkernel() {
1.8.3.1
kexec mailing list kexec@lists.fedoraproject.org https://lists.fedoraproject.org/mailman/listinfo/kexec
kexec mailing list kexec@lists.fedoraproject.org https://lists.fedoraproject.org/mailman/listinfo/kexec
On 10/16/14 at 09:15am, Vivek Goyal wrote:
On Thu, Oct 16, 2014 at 11:15:16AM +0800, Minfei Huang wrote:
On 10/15/14 at 04:43pm, Vivek Goyal wrote:
On Wed, Oct 15, 2014 at 03:35:22PM +0800, Minfei Huang wrote:
From: mhuang mhuang@redhat.com
...
In the initramfs, we will generate the config dasd.conf which contains all of the online devices by sysfs.
Why are we putting all dasd devices in $initramfs/etc/dasd.conf. Shouldn't we only add those devices which fall in dump path. System might have many other dasd devices and we don't want to bring these up. These will just add to extra memory usage.
That is a good way to collect the useful device.
This is not preferred. This needs to be done only if we can't figure out which dasd device falls in dump path.
The 2nd kernel will bring up all of devices, which are online in the kernel during mkdumprd script is running to generate the initramfs.
So I collect all of the online devices by sysfs, and write to the ${initdir}/etc/dasd.conf.
I think it is more complex to figure out all of devices by dump path, especially using LVM, etc.
In the other hand, by using this patch, We can bring up the deivce whichever admin wants, without modifing the kexec-tool code in the 2nd kernel.
But I think we should make more similiar in the kdump environment to the 1st kernel.
Not in terms of bringing up all devices.
Also administator can be offline all of useless devices(for kdump environment) to start the kdump service.
Other devices might be being used for other purposes in first kernel. Kdump destination is only one of them. So admin will not offline rest of the devices.
Thanks Vivek
Signed-off-by: mhuang mhuang@redhat.com
dracut-module-setup.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
...
-- 1.8.3.1
kexec mailing list kexec@lists.fedoraproject.org https://lists.fedoraproject.org/mailman/listinfo/kexec
kexec mailing list kexec@lists.fedoraproject.org https://lists.fedoraproject.org/mailman/listinfo/kexec
Hi, Vivek.
Maybe We can add the dasd instruction in the kdump-howto to guide admin to configure the kdump.
On 10/20/14 at 10:06pm, Minfei Huang wrote:
On 10/16/14 at 09:15am, Vivek Goyal wrote:
On Thu, Oct 16, 2014 at 11:15:16AM +0800, Minfei Huang wrote:
On 10/15/14 at 04:43pm, Vivek Goyal wrote:
On Wed, Oct 15, 2014 at 03:35:22PM +0800, Minfei Huang wrote:
From: mhuang mhuang@redhat.com
...
In the initramfs, we will generate the config dasd.conf which contains all of the online devices by sysfs.
Why are we putting all dasd devices in $initramfs/etc/dasd.conf. Shouldn't we only add those devices which fall in dump path. System might have many other dasd devices and we don't want to bring these up. These will just add to extra memory usage.
That is a good way to collect the useful device.
This is not preferred. This needs to be done only if we can't figure out which dasd device falls in dump path.
The 2nd kernel will bring up all of devices, which are online in the kernel during mkdumprd script is running to generate the initramfs.
So I collect all of the online devices by sysfs, and write to the ${initdir}/etc/dasd.conf.
I think it is more complex to figure out all of devices by dump path, especially using LVM, etc.
In the other hand, by using this patch, We can bring up the deivce whichever admin wants, without modifing the kexec-tool code in the 2nd kernel.
But I think we should make more similiar in the kdump environment to the 1st kernel.
Not in terms of bringing up all devices.
Also administator can be offline all of useless devices(for kdump environment) to start the kdump service.
Other devices might be being used for other purposes in first kernel. Kdump destination is only one of them. So admin will not offline rest of the devices.
Thanks Vivek
Signed-off-by: mhuang mhuang@redhat.com
dracut-module-setup.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
...
-- 1.8.3.1
kexec mailing list kexec@lists.fedoraproject.org https://lists.fedoraproject.org/mailman/listinfo/kexec
kexec mailing list kexec@lists.fedoraproject.org https://lists.fedoraproject.org/mailman/listinfo/kexec
kexec mailing list kexec@lists.fedoraproject.org https://lists.fedoraproject.org/mailman/listinfo/kexec