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

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

 



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
--
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


[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux