Re: dracut does not mount iscsi targets specified using --mount option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


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


[Home]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Free Online Dating]     [Linux Kernel]     [Linux SCSI]     [XFree86]

Add to Google Powered by Linux