Am 25.04.2012 16:14, schrieb Vivek Goyal: > On Wed, Apr 25, 2012 at 03:57:34PM +0200, Harald Hoyer wrote: >> Am 25.04.2012 15:46, schrieb Vivek Goyal: >>> On Wed, Apr 25, 2012 at 11:26:15AM +0200, Harald Hoyer wrote: >>> >>> Hi Harald, >>> >>> [..] >>>> is_mpath() { >>>> - [ -e /sys/dev/block/$1/dm/uuid ] || return 1 >>>> - [[ $(cat /sys/dev/block/$1/dm/uuid) =~ ^mpath- ]] && return 0 >>>> + local _dev >>>> + _dev=${1##/dev/} >>>> + [ -e /sys/dev/block/$_dev/dm/uuid ] || return 1 >>>> + [[ $(cat /sys/dev/block/$_dev/dm/uuid) =~ ^mpath- ]] && return 0 >>> >>> Will this work? _dev is device name (sda) and /sys/dev/block/ has links >>> based on device "maj:min". I applied this patch and ran dracut and I >>> see that multipath module did not get included. >>> >>> Thanks >>> Vivek >> >> oh.. you are right: >> >> diff --git a/modules.d/90multipath/module-setup.sh >> b/modules.d/90multipath/module-setup.sh >> index ae9ec59..2af112a 100755 >> --- a/modules.d/90multipath/module-setup.sh >> +++ b/modules.d/90multipath/module-setup.sh >> @@ -12,7 +12,7 @@ check() { >> >> is_mpath() { >> local _dev >> - _dev=${1##/dev/} >> + _dev=$(get_maj_min $1) >> [ -e /sys/dev/block/$_dev/dm/uuid ] || return 1 >> [[ $(cat /sys/dev/block/$_dev/dm/uuid) =~ ^mpath- ]] && return 0 >> return 1 >> diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh >> index 34e101c..bfd9d73 100755 >> --- a/modules.d/95iscsi/module-setup.sh >> +++ b/modules.d/95iscsi/module-setup.sh >> @@ -16,7 +16,7 @@ check() { >> >> is_iscsi() ( >> local _dev >> - _dev=${1##/dev/} >> + _dev=$(get_maj_min $1) >> >> [[ -L /sys/dev/block/$_dev ]] || return >> cd "$(readlink -f /sys/dev/block/$_dev)" > > Thanks Harald. > > This fixes the issue for multipath. > > For iscsi, I see that after this change iscsi module is included but iscsi > target bring up still does not happen so iscsi luns don't show up in second > kernel. > > I think iscsi code might be assuing that we will pass some iscsi > parameters on command line but we don't have any information and we > don't pass anything. So iscsi module need save some files/state in > initramfs during build and bring up iscsi targets accordingly. > > In RHEL6, during the block device stack traversal, I had saved the > target information in a file and packed that file in initramfs. And > then invoked code in initramfs to specifically bring up those luns. > > I need to read up some code and also see if network modules are being > included or not and if networking is coming up or not before iscsi > can come up. > > Thanks > Vivek Just drop a iscsi.conf file in the initramfs /etc/cmdline.d either via your module-setup.sh or: echo 'netroot=iscsi:[<username>:<password>[:<reverse>:<password>]@][<servername>]:[<protocol>]:[<port>][:[<iscsi_iface_name>]:[<netdev_name>]]:[<LUN>]:<targetname>' > iscsi.conf dracut -i iscsi.conf /etc/cmdline.d/iscsi.conf .... -- To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html