[dm-devel] [PATCH 2/2] dm-mpath: Allow 'default' hardware handler

Jun'ichi Nomura j-nomura at ce.jp.nec.com
Tue Apr 3 01:45:03 UTC 2012


Hi Hannes,

On 04/03/12 02:07, Hannes Reinecke wrote:
> On 04/02/2012 07:04 PM, Mike Snitzer wrote:
>> On Mon, Apr 02 2012 at 12:43pm -0400,
>> Hannes Reinecke <hare at suse.de> wrote:
>>
>>> This patch introduces a 'default' hardware handler for dm-mpath.
>>> When specifying '1 default' dm-multipath will be using the currently
>>> attached hardware handler.
>>>
>>> Signed-off-by: Hannes Reinecke <hare at suse.de>
>>> ---
>>>  drivers/md/dm-mpath.c |    8 ++++++--
>>>  1 files changed, 6 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
>>> index 922a338..bbf950f 100644
>>> --- a/drivers/md/dm-mpath.c
>>> +++ b/drivers/md/dm-mpath.c
>>> @@ -586,15 +586,19 @@ static struct pgpath *parse_path(struct dm_arg_set *as, struct path_selector *ps
>>>  
>>>  	if (m->hw_handler_name) {
>>>  		struct request_queue *q = bdev_get_queue(p->path.dev->bdev);
>>> +		char *hw_handler = NULL;
>>>  
>>> -		r = scsi_dh_attach(q, m->hw_handler_name);
>>> +		if (strncmp(m->hw_handler_name, "default", 6))
>>> +			hw_handler = m->hw_handler_name;
>>
>> Should be: if (strncmp(m->hw_handler_name, "default", 7))
> A-hem.
> 
> Counting by hand is at times tricky.
> I'll be sending an updated patchset.

It seems you will hit the following error in parse_hw_handler().
Or is it avoided somehow?

        request_module("scsi_dh_%s", m->hw_handler_name);
        if (scsi_dh_handler_exist(m->hw_handler_name) == 0) {
                ti->error = "unknown hardware handler type";
                ret = -EINVAL;
                goto fail;
        }

Thanks,
-- 
Jun'ichi Nomura, NEC Corporation




More information about the dm-devel mailing list