On Tue, Apr 24, 2012 at 11:18:09AM +0800, Cong Wang wrote:
[..]
> > > Why don't you want host-only mode for the other kernel modules?
> >
> > I think host-only should be reasonable but there should be scope for
> > further optimization. IIUC, host-only will try to include all the modules
> > which are needed to mount root and boot the machine. But in kdump, we
> > might not want to mount root at all. We just might want to dump vmcore
> > over NFS and reboot.
>
> Yes, exactly. The last time I tried host-only, it included more dracut
> modules than what we need, thus increased the initrd size.
For me using --hostonly seems to be producing smaller initramfs then what
is produced by default in kdump today in F17.
I tried "-m kdumpbase" and my uncompressed initramfs size is around 36MB.
I tried "--add kdumpbase" and my uncompressed initramfs size is 72MB.
With "-add kdumpbase --host-only" uncompressed initramfs size is 18MB.
So with --hostonly size has come down. So why do you say that using
hostonlly increased the size of initramfs.
>
> (The other reason is, as you replied in another email, host-only doesn't
> respect --mount, this also means "network" module will not be included
> when I dump to NFS but my rootfs is not NFS.)
I did not say that --hostonly does not respect --mount in all the cases.
Looks like it does not respect in case of multipath and iscsi as of
today. I see code where --mount devices and fs is pushed into
host_fs_types[]. I guess it is just a matter of parsing host_fs_types
in multipath and things should work.
> >
> > So the assumption that we will necessarily mount root is not valid in
> > kdump context. I am not sure how much memory saving this extra
> > optimization will lead to, but I will try passing -H and do some testing
> > and see how size is varying.
>
> Before this, we have to fix -H to work with --mount. ;-)
Following is a small patch which seems to fix the issue of dumping to
multipath device for me. Is it this simple. Harald?
---
lib/dracut/modules.d/90multipath/module-setup.sh | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
Index: /lib/dracut/modules.d/90multipath/module-setup.sh
===================================================================
--- .orig/lib/dracut/modules.d/90multipath/module-setup.sh 2012-04-16
10:03:27.000000000 -0400
+++ /lib/dracut/modules.d/90multipath/module-setup.sh 2012-04-24
16:59:53.831999986 -0400
@@ -17,11 +17,14 @@ check() {
}
if [[ $hostonly ]]; then
- _rootdev=$(find_root_block_device)
- if [[ $_rootdev ]]; then
- check_block_and_slaves is_mpath "$_rootdev" && return 0
- fi
- return 1
+ local _found
+ local _dev
+ for fs in ${host_fs_types[@]}; do
+ _dev=$(echo $fs | awk -F '|' '{print $1}')
+ is_mpath $(get_maj_min $_dev) && _found="1"
+ done
+ [[ $_found ]] || return 1
+ unset _found
fi
return 0
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html