On Wed, Nov 19, 2014 at 02:48:34PM +0800, WANG Chao wrote:
On 11/17/14 at 04:14pm, Vivek Goyal wrote:
> On Thu, Nov 13, 2014 at 03:56:34PM +0800, WANG Chao wrote:
> > This patchset adds support for hardware iscsi. It's previously one big
patch,
> > and now I break it down to three.
> >
>
> Hi Chao,
>
> Last time I mentioned that first we need to move some pieces which are
> in kdump to iscsi module of dracut. You were of the opinion that there
> are no such pieces.
>
> I am looking at the code now and I am wondering that why following should
> not go in 95iscsi/ module.
>
> kdump_check_iscsi_targets().
>
> This function seems to go through all the block devices. I think it
> should be dracut's job to call in to iscsi module with each block
> device and see if any of these is iscsi backed block device and
> let iscsi module pull in relevant dependencies.
>
> For example, look at check() function of 95iscsi/module-setup.sh and
> it does check if the passed in device is iscsi device or not.
>
> module-setup.sh also seems to be pulling in right modules. What I
> am not sure is that where is it preparing right configuation info
> which is passed on command line to dracut. rd.iscsi= etc.
Yes, kdump_check_iscsi_targets() will go throught all the necessary
block devices and setup the cmdline if iscsi device is found.
In 95iscsi/module-setup.sh::check(), it will also go through all the
necessary devices. But only will it pull in the binaries and other
dependencies for setting up iscsi.
This kind of separation makes sense to me. I think in case of iscsi
device, dracut is more designed like "tell me what how exactly you want
to setup the iscsi device and I'll bring it up for you" or "I can't
simply guess what's the configuration you like for this device", given
the fact that iscsi setup is complicated and dracut provides a rich set
of iscsi cmdline argument.
I think it's more like a design issue. I like the way it does now and it
does exactly the same thing for network devices. You have to tell dracut
what's network topology you want, "I want a bridge interface over
bonding" not just "setup the network as the system does for me now".
My point is dracut is designed the way it needs to be told how exactly
it should work. If it's doing too much, it may end up doing something
unexpected.
Hi Chao,
Ok, I agree. Right now dracut modules seems to be pulling in right
modules, dependencies and some configuration files.
Rest of the device specific configuration it seems to be expecting
on command line.
I think for the time being let us continue to have what we have.
Thanks
Vivek