All of lore.kernel.org
 help / color / mirror / Atom feed
* mpathpersist
@ 2011-12-31  6:05 Fil
  2011-12-31 14:00 ` mpathpersist Christophe Varoqui
  0 siblings, 1 reply; 6+ messages in thread
From: Fil @ 2011-12-31  6:05 UTC (permalink / raw)
  To: device-mapper development

Hi Christophe,

Happy New Year!

I have seen your set of patches for persistent reservation of multipath
devices and wanted to try them out. While trying this patch set I have
run into several issues. Which code base can I apply this against? Any
help would be greatly appreciated. Issues are listed below.

thanks
fil


1. I have tried applying the patch set against fedora 16 multipath-tools
srpm and it failed miserably.

2. I pulled multipath-tools from opensvc git and that patching failed
too, so I had to apply all the patches manually.

3. while testing mppersist I get following error:

mpathpersist --out --register --param-sark=123abc --prout-type=8
/dev/mapper/blah -v 4
Dec 31 00:54:29 | alias = blah
Dec 31 00:54:29 | params = 0 0 1 1 round-robin 0 2 1 8:0 1 8:16 1
Dec 31 00:54:29 | status = 2 0 0 0 1 1 A 0 2 0 8:0 A 0 8:16 A 0
Dec 31 00:54:29 | blah: disassemble map [0 0 1 1 round-robin 0 2 1 8:0 1
8:16 1 ]
Dec 31 00:54:29 | 8:0: not found in pathvec
Dec 31 00:54:29 | 8:16: not found in pathvec
Dec 31 00:54:29 | No device found for 8:0

Dec 31 00:54:29 | No device found for 8:16

Dec 31 00:54:29 | blah: disassemble status [2 0 0 0 1 1 A 0 2 0 8:0 A 0
8:16 A 0 ]
Dec 31 00:54:29 | 36001405c55fc03cd8193d491eda0d4d7: no path available
PR out: command failed

4. with all patches applied, all multipathd cli commands crash the daemon.

here are my configs:

cat /etc/multipath.conf
defaults {
	user_friendly_names	yes
	polling_interval	10
}

multipaths {
	multipath {
		wwid			36001405c55fc03cd8193d491eda0d4d7
		alias			blah
	}
}


devices {
	device {
		vendor			"QNAP"
		product			"iSCSI Storage"
		path_selector		"round-robin 0"
		path_grouping_policy	multibus
		getuid_callout          "/lib/udev/scsi_id -g -u -d /dev/%n"
		path_checker		directio
		failback		immediate
	}

}

blacklist {
        devnode "^(vd)[a-z]"
}

multipath -ll -v3
Dec 31 00:59:01 | loading /lib64/multipath/libcheckdirectio.so checker
Dec 31 00:59:01 | loading /lib64/multipath/libprioconst.so prioritizer
Dec 31 00:59:01 | loop0: device node name blacklisted
Dec 31 00:59:01 | loop1: device node name blacklisted
Dec 31 00:59:01 | loop2: device node name blacklisted
Dec 31 00:59:01 | loop3: device node name blacklisted
Dec 31 00:59:01 | loop4: device node name blacklisted
Dec 31 00:59:01 | loop5: device node name blacklisted
Dec 31 00:59:01 | loop6: device node name blacklisted
Dec 31 00:59:01 | loop7: device node name blacklisted
Dec 31 00:59:01 | vda: device node name blacklisted
Dec 31 00:59:01 | dm-0: device node name blacklisted
Dec 31 00:59:01 | dm-1: device node name blacklisted
Dec 31 00:59:01 | dm-2: device node name blacklisted
Dec 31 00:59:01 | dm-3: device node name blacklisted
Dec 31 00:59:01 | sda: not found in pathvec
Dec 31 00:59:01 | sda: mask = 0x5
Dec 31 00:59:01 | sda: dev_t = 8:0
Dec 31 00:59:01 | sda: size = 20971520
Dec 31 00:59:01 | sda: vendor = QNAP
Dec 31 00:59:01 | sda: product = iSCSI Storage
Dec 31 00:59:01 | sda: rev = 3.1
Dec 31 00:59:01 | sda: h:b:t:l = 2:0:0:0
Dec 31 00:59:01 | sda: path state = running
Dec 31 00:59:01 | sda: get_state
Dec 31 00:59:01 | sda: path checker = directio (controller setting)
Dec 31 00:59:01 | sda: checker timeout = 30000 ms (sysfs setting)
Dec 31 00:59:01 | directio: starting new request
Dec 31 00:59:01 | directio: io finished 4096/0
Dec 31 00:59:01 | sda: state = up
Dec 31 00:59:01 | sdb: not found in pathvec
Dec 31 00:59:01 | sdb: mask = 0x5
Dec 31 00:59:01 | sdb: dev_t = 8:16
Dec 31 00:59:01 | sdb: size = 20971520
Dec 31 00:59:01 | sdb: vendor = QNAP
Dec 31 00:59:01 | sdb: product = iSCSI Storage
Dec 31 00:59:01 | sdb: rev = 3.1
Dec 31 00:59:01 | sdb: h:b:t:l = 3:0:0:0
Dec 31 00:59:01 | sdb: path state = running
Dec 31 00:59:01 | sdb: get_state
Dec 31 00:59:01 | sdb: path checker = directio (controller setting)
Dec 31 00:59:01 | sdb: checker timeout = 30000 ms (sysfs setting)
Dec 31 00:59:01 | directio: starting new request
Dec 31 00:59:01 | directio: io finished 4096/0
Dec 31 00:59:01 | sdb: state = up
Dec 31 00:59:01 | dm-4: device node name blacklisted
===== paths list =====
uuid hcil    dev dev_t pri dm_st chk_st vend/prod/rev      dev_st
     2:0:0:0 sda 8:0   -1  undef ready  QNAP,iSCSI Storage running
     3:0:0:0 sdb 8:16  -1  undef ready  QNAP,iSCSI Storage running
Dec 31 00:59:01 | params = 0 0 1 1 round-robin 0 2 1 8:0 1 8:16 1
Dec 31 00:59:01 | status = 2 0 0 0 1 1 A 0 2 0 8:0 A 0 8:16 A 0
Dec 31 00:59:01 | blah: disassemble map [0 0 1 1 round-robin 0 2 1 8:0 1
8:16 1 ]
Dec 31 00:59:01 | sda: mask = 0x8
Dec 31 00:59:01 | sda: path state = running
Dec 31 00:59:01 | sda: prio = const (internal default)
Dec 31 00:59:01 | sda: prio =  (internal default)
Dec 31 00:59:01 | sda: const prio = 1
Dec 31 00:59:01 | sdb: mask = 0x8
Dec 31 00:59:01 | sdb: path state = running
Dec 31 00:59:01 | sdb: prio = const (internal default)
Dec 31 00:59:01 | sdb: prio =  (internal default)
Dec 31 00:59:01 | sdb: const prio = 1
Dec 31 00:59:01 | blah: disassemble status [2 0 0 0 1 1 A 0 2 0 8:0 A 0
8:16 A 0 ]
blah (36001405c55fc03cd8193d491eda0d4d7) dm-4 QNAP,iSCSI Storage
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=0 status=active
  |- 2:0:0:0 sda 8:0  active ready running
  `- 3:0:0:0 sdb 8:16 active ready running
Dec 31 00:59:01 | directio checker refcount 2
Dec 31 00:59:01 | directio checker refcount 1
Dec 31 00:59:01 | unloading const prioritizer
Dec 31 00:59:01 | unloading directio checker

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: mpathpersist
  2011-12-31  6:05 mpathpersist Fil
@ 2011-12-31 14:00 ` Christophe Varoqui
  2011-12-31 17:52   ` mpathpersist Fil
  0 siblings, 1 reply; 6+ messages in thread
From: Christophe Varoqui @ 2011-12-31 14:00 UTC (permalink / raw)
  To: dm-devel


> I have seen your set of patches for persistent reservation of multipath
> devices and wanted to try them out. While trying this patch set I have
> run into several issues. Which code base can I apply this against? Any
> help would be greatly appreciated. Issues are listed below.

This patchset has been developped by Netapp's Vijay Chauhan.

> 2. I pulled multipath-tools from opensvc git and that patching failed
> too, so I had to apply all the patches manually.
> 
This is the correct project repository. The patchset may need rebasing
over the HEAD. If it does not apply cleanly there, you might try to
revert to a previous commit.

I'll try this patchset soon and compare my experience with your
observations.

Thanks for the report.

> 3. while testing mppersist I get following error:
> 
> mpathpersist --out --register --param-sark=123abc --prout-type=8
> /dev/mapper/blah -v 4
> Dec 31 00:54:29 | alias = blah
> Dec 31 00:54:29 | params = 0 0 1 1 round-robin 0 2 1 8:0 1 8:16 1
> Dec 31 00:54:29 | status = 2 0 0 0 1 1 A 0 2 0 8:0 A 0 8:16 A 0
> Dec 31 00:54:29 | blah: disassemble map [0 0 1 1 round-robin 0 2 1 8:0 1
> 8:16 1 ]
> Dec 31 00:54:29 | 8:0: not found in pathvec
> Dec 31 00:54:29 | 8:16: not found in pathvec
> Dec 31 00:54:29 | No device found for 8:0
> 
> Dec 31 00:54:29 | No device found for 8:16
> 
> Dec 31 00:54:29 | blah: disassemble status [2 0 0 0 1 1 A 0 2 0 8:0 A 0
> 8:16 A 0 ]
> Dec 31 00:54:29 | 36001405c55fc03cd8193d491eda0d4d7: no path available
> PR out: command failed
> 
> 4. with all patches applied, all multipathd cli commands crash the daemon.
> 
> here are my configs:
> 
> cat /etc/multipath.conf
> defaults {
> 	user_friendly_names	yes
> 	polling_interval	10
> }
> 
> multipaths {
> 	multipath {
> 		wwid			36001405c55fc03cd8193d491eda0d4d7
> 		alias			blah
> 	}
> }
> 
> 
> devices {
> 	device {
> 		vendor			"QNAP"
> 		product			"iSCSI Storage"
> 		path_selector		"round-robin 0"
> 		path_grouping_policy	multibus
> 		getuid_callout          "/lib/udev/scsi_id -g -u -d /dev/%n"
> 		path_checker		directio
> 		failback		immediate
> 	}
> 
> }
> 
> blacklist {
>         devnode "^(vd)[a-z]"
> }
> 
> multipath -ll -v3
> Dec 31 00:59:01 | loading /lib64/multipath/libcheckdirectio.so checker
> Dec 31 00:59:01 | loading /lib64/multipath/libprioconst.so prioritizer
> Dec 31 00:59:01 | loop0: device node name blacklisted
> Dec 31 00:59:01 | loop1: device node name blacklisted
> Dec 31 00:59:01 | loop2: device node name blacklisted
> Dec 31 00:59:01 | loop3: device node name blacklisted
> Dec 31 00:59:01 | loop4: device node name blacklisted
> Dec 31 00:59:01 | loop5: device node name blacklisted
> Dec 31 00:59:01 | loop6: device node name blacklisted
> Dec 31 00:59:01 | loop7: device node name blacklisted
> Dec 31 00:59:01 | vda: device node name blacklisted
> Dec 31 00:59:01 | dm-0: device node name blacklisted
> Dec 31 00:59:01 | dm-1: device node name blacklisted
> Dec 31 00:59:01 | dm-2: device node name blacklisted
> Dec 31 00:59:01 | dm-3: device node name blacklisted
> Dec 31 00:59:01 | sda: not found in pathvec
> Dec 31 00:59:01 | sda: mask = 0x5
> Dec 31 00:59:01 | sda: dev_t = 8:0
> Dec 31 00:59:01 | sda: size = 20971520
> Dec 31 00:59:01 | sda: vendor = QNAP
> Dec 31 00:59:01 | sda: product = iSCSI Storage
> Dec 31 00:59:01 | sda: rev = 3.1
> Dec 31 00:59:01 | sda: h:b:t:l = 2:0:0:0
> Dec 31 00:59:01 | sda: path state = running
> Dec 31 00:59:01 | sda: get_state
> Dec 31 00:59:01 | sda: path checker = directio (controller setting)
> Dec 31 00:59:01 | sda: checker timeout = 30000 ms (sysfs setting)
> Dec 31 00:59:01 | directio: starting new request
> Dec 31 00:59:01 | directio: io finished 4096/0
> Dec 31 00:59:01 | sda: state = up
> Dec 31 00:59:01 | sdb: not found in pathvec
> Dec 31 00:59:01 | sdb: mask = 0x5
> Dec 31 00:59:01 | sdb: dev_t = 8:16
> Dec 31 00:59:01 | sdb: size = 20971520
> Dec 31 00:59:01 | sdb: vendor = QNAP
> Dec 31 00:59:01 | sdb: product = iSCSI Storage
> Dec 31 00:59:01 | sdb: rev = 3.1
> Dec 31 00:59:01 | sdb: h:b:t:l = 3:0:0:0
> Dec 31 00:59:01 | sdb: path state = running
> Dec 31 00:59:01 | sdb: get_state
> Dec 31 00:59:01 | sdb: path checker = directio (controller setting)
> Dec 31 00:59:01 | sdb: checker timeout = 30000 ms (sysfs setting)
> Dec 31 00:59:01 | directio: starting new request
> Dec 31 00:59:01 | directio: io finished 4096/0
> Dec 31 00:59:01 | sdb: state = up
> Dec 31 00:59:01 | dm-4: device node name blacklisted
> ===== paths list =====
> uuid hcil    dev dev_t pri dm_st chk_st vend/prod/rev      dev_st
>      2:0:0:0 sda 8:0   -1  undef ready  QNAP,iSCSI Storage running
>      3:0:0:0 sdb 8:16  -1  undef ready  QNAP,iSCSI Storage running
> Dec 31 00:59:01 | params = 0 0 1 1 round-robin 0 2 1 8:0 1 8:16 1
> Dec 31 00:59:01 | status = 2 0 0 0 1 1 A 0 2 0 8:0 A 0 8:16 A 0
> Dec 31 00:59:01 | blah: disassemble map [0 0 1 1 round-robin 0 2 1 8:0 1
> 8:16 1 ]
> Dec 31 00:59:01 | sda: mask = 0x8
> Dec 31 00:59:01 | sda: path state = running
> Dec 31 00:59:01 | sda: prio = const (internal default)
> Dec 31 00:59:01 | sda: prio =  (internal default)
> Dec 31 00:59:01 | sda: const prio = 1
> Dec 31 00:59:01 | sdb: mask = 0x8
> Dec 31 00:59:01 | sdb: path state = running
> Dec 31 00:59:01 | sdb: prio = const (internal default)
> Dec 31 00:59:01 | sdb: prio =  (internal default)
> Dec 31 00:59:01 | sdb: const prio = 1
> Dec 31 00:59:01 | blah: disassemble status [2 0 0 0 1 1 A 0 2 0 8:0 A 0
> 8:16 A 0 ]
> blah (36001405c55fc03cd8193d491eda0d4d7) dm-4 QNAP,iSCSI Storage
> size=10G features='0' hwhandler='0' wp=rw
> `-+- policy='round-robin 0' prio=0 status=active
>   |- 2:0:0:0 sda 8:0  active ready running
>   `- 3:0:0:0 sdb 8:16 active ready running
> Dec 31 00:59:01 | directio checker refcount 2
> Dec 31 00:59:01 | directio checker refcount 1
> Dec 31 00:59:01 | unloading const prioritizer
> Dec 31 00:59:01 | unloading directio checker
> 
> --
> dm-devel mailing list
> dm-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: mpathpersist
  2011-12-31 14:00 ` mpathpersist Christophe Varoqui
@ 2011-12-31 17:52   ` Fil
  2012-01-02 11:53     ` mpathpersist Chauhan, Vijay
  0 siblings, 1 reply; 6+ messages in thread
From: Fil @ 2011-12-31 17:52 UTC (permalink / raw)
  To: christophe.varoqui, device-mapper development

oops sorry, I was reading something else you responded to so
automatically I wrote to you....

thanks
fil

On 12/31/2011 09:00 AM, Christophe Varoqui wrote:
> 
>> I have seen your set of patches for persistent reservation of multipath
>> devices and wanted to try them out. While trying this patch set I have
>> run into several issues. Which code base can I apply this against? Any
>> help would be greatly appreciated. Issues are listed below.
> 
> This patchset has been developped by Netapp's Vijay Chauhan.
> 
>> 2. I pulled multipath-tools from opensvc git and that patching failed
>> too, so I had to apply all the patches manually.
>>
> This is the correct project repository. The patchset may need rebasing
> over the HEAD. If it does not apply cleanly there, you might try to
> revert to a previous commit.
> 
> I'll try this patchset soon and compare my experience with your
> observations.
> 
> Thanks for the report.
> 
>> 3. while testing mppersist I get following error:
>>
>> mpathpersist --out --register --param-sark=123abc --prout-type=8
>> /dev/mapper/blah -v 4
>> Dec 31 00:54:29 | alias = blah
>> Dec 31 00:54:29 | params = 0 0 1 1 round-robin 0 2 1 8:0 1 8:16 1
>> Dec 31 00:54:29 | status = 2 0 0 0 1 1 A 0 2 0 8:0 A 0 8:16 A 0
>> Dec 31 00:54:29 | blah: disassemble map [0 0 1 1 round-robin 0 2 1 8:0 1
>> 8:16 1 ]
>> Dec 31 00:54:29 | 8:0: not found in pathvec
>> Dec 31 00:54:29 | 8:16: not found in pathvec
>> Dec 31 00:54:29 | No device found for 8:0
>>
>> Dec 31 00:54:29 | No device found for 8:16
>>
>> Dec 31 00:54:29 | blah: disassemble status [2 0 0 0 1 1 A 0 2 0 8:0 A 0
>> 8:16 A 0 ]
>> Dec 31 00:54:29 | 36001405c55fc03cd8193d491eda0d4d7: no path available
>> PR out: command failed
>>
>> 4. with all patches applied, all multipathd cli commands crash the daemon.
>>
>> here are my configs:
>>
>> cat /etc/multipath.conf
>> defaults {
>> 	user_friendly_names	yes
>> 	polling_interval	10
>> }
>>
>> multipaths {
>> 	multipath {
>> 		wwid			36001405c55fc03cd8193d491eda0d4d7
>> 		alias			blah
>> 	}
>> }
>>
>>
>> devices {
>> 	device {
>> 		vendor			"QNAP"
>> 		product			"iSCSI Storage"
>> 		path_selector		"round-robin 0"
>> 		path_grouping_policy	multibus
>> 		getuid_callout          "/lib/udev/scsi_id -g -u -d /dev/%n"
>> 		path_checker		directio
>> 		failback		immediate
>> 	}
>>
>> }
>>
>> blacklist {
>>         devnode "^(vd)[a-z]"
>> }
>>
>> multipath -ll -v3
>> Dec 31 00:59:01 | loading /lib64/multipath/libcheckdirectio.so checker
>> Dec 31 00:59:01 | loading /lib64/multipath/libprioconst.so prioritizer
>> Dec 31 00:59:01 | loop0: device node name blacklisted
>> Dec 31 00:59:01 | loop1: device node name blacklisted
>> Dec 31 00:59:01 | loop2: device node name blacklisted
>> Dec 31 00:59:01 | loop3: device node name blacklisted
>> Dec 31 00:59:01 | loop4: device node name blacklisted
>> Dec 31 00:59:01 | loop5: device node name blacklisted
>> Dec 31 00:59:01 | loop6: device node name blacklisted
>> Dec 31 00:59:01 | loop7: device node name blacklisted
>> Dec 31 00:59:01 | vda: device node name blacklisted
>> Dec 31 00:59:01 | dm-0: device node name blacklisted
>> Dec 31 00:59:01 | dm-1: device node name blacklisted
>> Dec 31 00:59:01 | dm-2: device node name blacklisted
>> Dec 31 00:59:01 | dm-3: device node name blacklisted
>> Dec 31 00:59:01 | sda: not found in pathvec
>> Dec 31 00:59:01 | sda: mask = 0x5
>> Dec 31 00:59:01 | sda: dev_t = 8:0
>> Dec 31 00:59:01 | sda: size = 20971520
>> Dec 31 00:59:01 | sda: vendor = QNAP
>> Dec 31 00:59:01 | sda: product = iSCSI Storage
>> Dec 31 00:59:01 | sda: rev = 3.1
>> Dec 31 00:59:01 | sda: h:b:t:l = 2:0:0:0
>> Dec 31 00:59:01 | sda: path state = running
>> Dec 31 00:59:01 | sda: get_state
>> Dec 31 00:59:01 | sda: path checker = directio (controller setting)
>> Dec 31 00:59:01 | sda: checker timeout = 30000 ms (sysfs setting)
>> Dec 31 00:59:01 | directio: starting new request
>> Dec 31 00:59:01 | directio: io finished 4096/0
>> Dec 31 00:59:01 | sda: state = up
>> Dec 31 00:59:01 | sdb: not found in pathvec
>> Dec 31 00:59:01 | sdb: mask = 0x5
>> Dec 31 00:59:01 | sdb: dev_t = 8:16
>> Dec 31 00:59:01 | sdb: size = 20971520
>> Dec 31 00:59:01 | sdb: vendor = QNAP
>> Dec 31 00:59:01 | sdb: product = iSCSI Storage
>> Dec 31 00:59:01 | sdb: rev = 3.1
>> Dec 31 00:59:01 | sdb: h:b:t:l = 3:0:0:0
>> Dec 31 00:59:01 | sdb: path state = running
>> Dec 31 00:59:01 | sdb: get_state
>> Dec 31 00:59:01 | sdb: path checker = directio (controller setting)
>> Dec 31 00:59:01 | sdb: checker timeout = 30000 ms (sysfs setting)
>> Dec 31 00:59:01 | directio: starting new request
>> Dec 31 00:59:01 | directio: io finished 4096/0
>> Dec 31 00:59:01 | sdb: state = up
>> Dec 31 00:59:01 | dm-4: device node name blacklisted
>> ===== paths list =====
>> uuid hcil    dev dev_t pri dm_st chk_st vend/prod/rev      dev_st
>>      2:0:0:0 sda 8:0   -1  undef ready  QNAP,iSCSI Storage running
>>      3:0:0:0 sdb 8:16  -1  undef ready  QNAP,iSCSI Storage running
>> Dec 31 00:59:01 | params = 0 0 1 1 round-robin 0 2 1 8:0 1 8:16 1
>> Dec 31 00:59:01 | status = 2 0 0 0 1 1 A 0 2 0 8:0 A 0 8:16 A 0
>> Dec 31 00:59:01 | blah: disassemble map [0 0 1 1 round-robin 0 2 1 8:0 1
>> 8:16 1 ]
>> Dec 31 00:59:01 | sda: mask = 0x8
>> Dec 31 00:59:01 | sda: path state = running
>> Dec 31 00:59:01 | sda: prio = const (internal default)
>> Dec 31 00:59:01 | sda: prio =  (internal default)
>> Dec 31 00:59:01 | sda: const prio = 1
>> Dec 31 00:59:01 | sdb: mask = 0x8
>> Dec 31 00:59:01 | sdb: path state = running
>> Dec 31 00:59:01 | sdb: prio = const (internal default)
>> Dec 31 00:59:01 | sdb: prio =  (internal default)
>> Dec 31 00:59:01 | sdb: const prio = 1
>> Dec 31 00:59:01 | blah: disassemble status [2 0 0 0 1 1 A 0 2 0 8:0 A 0
>> 8:16 A 0 ]
>> blah (36001405c55fc03cd8193d491eda0d4d7) dm-4 QNAP,iSCSI Storage
>> size=10G features='0' hwhandler='0' wp=rw
>> `-+- policy='round-robin 0' prio=0 status=active
>>   |- 2:0:0:0 sda 8:0  active ready running
>>   `- 3:0:0:0 sdb 8:16 active ready running
>> Dec 31 00:59:01 | directio checker refcount 2
>> Dec 31 00:59:01 | directio checker refcount 1
>> Dec 31 00:59:01 | unloading const prioritizer
>> Dec 31 00:59:01 | unloading directio checker
>>
>> --
>> dm-devel mailing list
>> dm-devel@redhat.com
>> https://www.redhat.com/mailman/listinfo/dm-devel
> 
> 
> 
> --
> dm-devel mailing list
> dm-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: mpathpersist
  2011-12-31 17:52   ` mpathpersist Fil
@ 2012-01-02 11:53     ` Chauhan, Vijay
  2012-01-03  3:32       ` mpathpersist Fil
  0 siblings, 1 reply; 6+ messages in thread
From: Chauhan, Vijay @ 2012-01-02 11:53 UTC (permalink / raw)
  To: device-mapper development, Fil

Thanks for trying out this patch and for your comments.

Patch is made on top of commit fa7074f35c67ff1ef29f1aea5a484c5dea25863a
. 
Please let me know if you still face any issue in applying patch on this
commit. 
Meanwhile I will rebase the changes to HEAD   before resending it.

Any feedback for your verification would be appreciated.   

On 12/31/2010 11:23 PM, Fil wrote:
> oops sorry, I was reading something else you responded to so
automatically I
> wrote to you....
> On 12/31/2011 09:00 AM, Christophe Varoqui wrote:
> >
> >> I have seen your set of patches for persistent reservation of
> >> multipath devices and wanted to try them out. While trying this
patch
> >> set I have run into several issues. Which code base can I apply
this
> >> against? Any help would be greatly appreciated. Issues are listed
below.
> >
> > This patchset has been developped by Netapp's Vijay Chauhan.
> >
> >> 2. I pulled multipath-tools from opensvc git and that patching
failed
> >> too, so I had to apply all the patches manually.
> >>
> > This is the correct project repository. The patchset may need
rebasing
> > over the HEAD. If it does not apply cleanly there, you might try to
> > revert to a previous commit.
> >
> > I'll try this patchset soon and compare my experience with your
> > observations.
> >
> > Thanks for the report.
> >
> >> 3. while testing mppersist I get following error:
> >> 
> >> mpathpersist --out --register --param-sark=123abc --prout-type=8
> >> /dev/mapper/blah -v 4 Dec 31 00:54:29 | alias = blah Dec 31
00:54:29
> >> | params = 0 0 1 1 round-robin 0 2 1 8:0 1 8:16 1 Dec 31 00:54:29 |
> >> status = 2 0 0 0 1 1 A 0 2 0 8:0 A 0 8:16 A 0 Dec 31 00:54:29 |
blah:
> >> disassemble map [0 0 1 1 round-robin 0 2 1 8:0 1
> >> 8:16 1 ]
> >> Dec 31 00:54:29 | 8:0: not found in pathvec Dec 31 00:54:29 | 8:16:
> >> not found in pathvec Dec 31 00:54:29 | No device found for 8:0
> >>

Please try patch on the commit version mentioned above and let me know
if 
you still face issue 3 and issue 4? 

> >> Dec 31 00:54:29 | No device found for 8:16
> >>
> >> Dec 31 00:54:29 | blah: disassemble status [2 0 0 0 1 1 A 0 2 0 8:0
A
> >> 0
> >> 8:16 A 0 ]
> >> Dec 31 00:54:29 | 36001405c55fc03cd8193d491eda0d4d7: no path
> >> available PR out: command failed
> >>
> >> 4. with all patches applied, all multipathd cli commands crash the
daemon.
> >>

You may need specify reservation_key keyword in following format in
either 
multipath section or default section for the applicable devices. In case
if reservation_key
 is not mentioned in multipath.conf then multipathd would not check for
persistent reservation 
for newly discovered path and reinstated path.

reservation_key  <reservation key>

Example:
 multipaths {
        multipath {
                          wwid   XXXXXXXXXXXXXXXX
                         alias      yellow
                         reservation_key  0x123abc
      }
}

> >> here are my configs:
> >>
> >> cat /etc/multipath.conf
> >> defaults {
> >> 	user_friendly_names	yes
> >> 	polling_interval	10
> >> }
> >>
> >> multipaths {
> >> 	multipath {
> >> 		wwid
> 	36001405c55fc03cd8193d491eda0d4d7
> >> 		alias			blah
> >> 	}
> >> }
> >>
> >>
> >> devices {
> >> 	device {
> >> 		vendor			"QNAP"
> >> 		product			"iSCSI Storage"
> >> 		path_selector		"round-robin 0"
> >> 		path_grouping_policy	multibus
> >> 		getuid_callout          "/lib/udev/scsi_id -g -u -d
/dev/%n"
> >> 		path_checker		directio
> >> 		failback		immediate
> >> 	}
> >>
> >> }
> >>
> >> blacklist {
> >>         devnode "^(vd)[a-z]"
> >> }
> >>
> >> multipath -ll -v3
> >> Dec 31 00:59:01 | loading /lib64/multipath/libcheckdirectio.so
> >> checker Dec 31 00:59:01 | loading /lib64/multipath/libprioconst.so
> >> prioritizer Dec 31 00:59:01 | loop0: device node name blacklisted
Dec
> >> 31 00:59:01 | loop1: device node name blacklisted Dec 31 00:59:01 |
> >> loop2: device node name blacklisted Dec 31 00:59:01 | loop3: device
> >> node name blacklisted Dec 31 00:59:01 | loop4: device node name
> >> blacklisted Dec 31 00:59:01 | loop5: device node name blacklisted
Dec
> >> 31 00:59:01 | loop6: device node name blacklisted Dec 31 00:59:01 |
> >> loop7: device node name blacklisted Dec 31 00:59:01 | vda: device
> >> node name blacklisted Dec 31 00:59:01 | dm-0: device node name
> >> blacklisted Dec 31 00:59:01 | dm-1: device node name blacklisted
Dec
> >> 31 00:59:01 | dm-2: device node name blacklisted Dec 31 00:59:01 |
> >> dm-3: device node name blacklisted Dec 31 00:59:01 | sda: not found
> >> in pathvec Dec 31 00:59:01 | sda: mask = 0x5 Dec 31 00:59:01 | sda:
> >> dev_t = 8:0 Dec 31 00:59:01 | sda: size = 20971520 Dec 31 00:59:01
|
> >> sda: vendor = QNAP Dec 31 00:59:01 | sda: product = iSCSI Storage
Dec
> >> 31 00:59:01 | sda: rev = 3.1 Dec 31 00:59:01 | sda: h:b:t:l =
2:0:0:0
> >> Dec 31 00:59:01 | sda: path state = running Dec 31 00:59:01 | sda:
> >> get_state Dec 31 00:59:01 | sda: path checker = directio
(controller
> >> setting) Dec 31 00:59:01 | sda: checker timeout = 30000 ms (sysfs
> >> setting) Dec 31 00:59:01 | directio: starting new request Dec 31
> >> 00:59:01 | directio: io finished 4096/0 Dec 31 00:59:01 | sda:
state
> >> = up Dec 31 00:59:01 | sdb: not found in pathvec Dec 31 00:59:01 |
> >> sdb: mask = 0x5 Dec 31 00:59:01 | sdb: dev_t = 8:16 Dec 31 00:59:01
|
> >> sdb: size = 20971520 Dec 31 00:59:01 | sdb: vendor = QNAP Dec 31
> >> 00:59:01 | sdb: product = iSCSI Storage Dec 31 00:59:01 | sdb: rev
=
> >> 3.1 Dec 31 00:59:01 | sdb: h:b:t:l = 3:0:0:0 Dec 31 00:59:01 | sdb:
> >> path state = running Dec 31 00:59:01 | sdb: get_state Dec 31
00:59:01
> >> | sdb: path checker = directio (controller setting) Dec 31 00:59:01
|
> >> sdb: checker timeout = 30000 ms (sysfs setting) Dec 31 00:59:01 |
> >> directio: starting new request Dec 31 00:59:01 | directio: io
> >> finished 4096/0 Dec 31 00:59:01 | sdb: state = up Dec 31 00:59:01 |
> >> dm-4: device node name blacklisted ===== paths list =====
> >> uuid hcil    dev dev_t pri dm_st chk_st vend/prod/rev      dev_st
> >>      2:0:0:0 sda 8:0   -1  undef ready  QNAP,iSCSI Storage running
> >>      3:0:0:0 sdb 8:16  -1  undef ready  QNAP,iSCSI Storage running
> >> Dec 31 00:59:01 | params = 0 0 1 1 round-robin 0 2 1 8:0 1 8:16 1
Dec
> >> 31 00:59:01 | status = 2 0 0 0 1 1 A 0 2 0 8:0 A 0 8:16 A 0 Dec 31
> >> 00:59:01 | blah: disassemble map [0 0 1 1 round-robin 0 2 1 8:0 1
> >> 8:16 1 ]
> >> Dec 31 00:59:01 | sda: mask = 0x8
> >> Dec 31 00:59:01 | sda: path state = running Dec 31 00:59:01 | sda:
> >> prio = const (internal default) Dec 31 00:59:01 | sda: prio =
> >> (internal default) Dec 31 00:59:01 | sda: const prio = 1 Dec 31
> >> 00:59:01 | sdb: mask = 0x8 Dec 31 00:59:01 | sdb: path state =
> >> running Dec 31 00:59:01 | sdb: prio = const (internal default) Dec
31
> >> 00:59:01 | sdb: prio =  (internal default) Dec 31 00:59:01 | sdb:
> >> const prio = 1 Dec 31 00:59:01 | blah: disassemble status [2 0 0 0
1
> >> 1 A 0 2 0 8:0 A 0
> >> 8:16 A 0 ]
> >> blah (36001405c55fc03cd8193d491eda0d4d7) dm-4 QNAP,iSCSI Storage
> >> size=10G features='0' hwhandler='0' wp=rw
> >> `-+- policy='round-robin 0' prio=0 status=active
> >>   |- 2:0:0:0 sda 8:0  active ready running
> >>   `- 3:0:0:0 sdb 8:16 active ready running Dec 31 00:59:01 |
directio
> >> checker refcount 2 Dec 31 00:59:01 | directio checker refcount 1
Dec
> >> 31 00:59:01 | unloading const prioritizer Dec 31 00:59:01 |
unloading
> >> directio checker

Thanks,
Vijay

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: mpathpersist
  2012-01-02 11:53     ` mpathpersist Chauhan, Vijay
@ 2012-01-03  3:32       ` Fil
  2012-01-04 11:42         ` mpathpersist Chauhan, Vijay
  0 siblings, 1 reply; 6+ messages in thread
From: Fil @ 2012-01-03  3:32 UTC (permalink / raw)
  To: device-mapper development; +Cc: Chauhan, Vijay

Vijay,

I tried applying patches over that commit and it almost applied. There
is still one reject.

cat ./multipathd/cli.h.rej
--- multipathd/cli.h	2011-12-18 02:25:43.000000000 -0500
+++ multipathd/cli.h	2011-12-18 02:26:09.000000000 -0500
@@ -65,9 +65,9 @@
 #define WILDCARDS	(1 << __WILDCARDS)
 #define QUIT		(1 << __QUIT)
 #define SHUTDOWN	(1 << __SHUTDOWN)
-#define GETPRSTATUS    (1 << __GETPRSTATUS)
-#define SETPRSTATUS    (1 << __SETPRSTATUS)
-#define UNSETPRSTATUS  (1 << __UNSETPRSTATUS)
+#define GETPRSTATUS	(1 << __GETPRSTATUS)
+#define SETPRSTATUS	(1 << __SETPRSTATUS)
+#define UNSETPRSTATUS	(1UL << __UNSETPRSTATUS)

 #define INITIAL_REPLY_LEN 1000

It looks like those definitions already exist. The really bad news is
once you compile it  and run it, it still breaks multipathd cli.

./mpathpersist/mpathpersist --out --register --param-sark=123abc
--prout-type=8 /dev/mapper/blah -v 4
Jan 02 22:31:27 | alias = blah
Jan 02 22:31:27 | params = 0 0 1 1 round-robin 0 2 1 8:0 1 8:16 1
Jan 02 22:31:27 | status = 2 0 0 0 1 1 A 0 2 0 8:0 A 0 8:16 A 0
Jan 02 22:31:27 | blah: disassemble map [0 0 1 1 round-robin 0 2 1 8:0 1
8:16 1 ]
Jan 02 22:31:27 | 8:0: not found in pathvec
Jan 02 22:31:27 | 8:16: not found in pathvec
Jan 02 22:31:27 | No device found for 8:0

Jan 02 22:31:27 | No device found for 8:16

Jan 02 22:31:27 | blah: disassemble status [2 0 0 0 1 1 A 0 2 0 8:0 A 0
8:16 A 0 ]
Jan 02 22:31:27 | blah: reservation_key  = 0x123abc (config file default)
Jan 02 22:31:27 | 36001405c55fc03cd8193d491eda0d4d7: no path available
PR out: command failed



multipathd -k
multipathd> help

Jan 02 22:29:15 | Got request [help]
Jan 02 22:29:15 | Reply [1033 bytes]
*** glibc detected *** ./multipathd/multipathd: free(): invalid next
size (normal): 0x00007fe77c001d40 ***
======= Backtrace: =========
/lib64/libc.so.6[0x366b47c2d6]
/lib64/libc.so.6[0x366b47d5be]
./multipathd/multipathd[0x40abe7]
./multipathd/multipathd[0x4076eb]
/lib64/libpthread.so.0[0x366bc07d90]
/lib64/libc.so.6(clone+0x6d)[0x366b4ef48d]
======= Memory map: ========
00400000-00412000 r-xp 00000000 fd:02 134411
 /root/vlah/multipath-tools/multipathd/multipathd
00612000-00613000 rw-p 00012000 fd:02 134411
 /root/vlah/multipath-tools/multipathd/multipathd
012a0000-012c1000 rw-p 00000000 00:00 0
 [heap]
366b000000-366b022000 r-xp 00000000 fd:02 129841
 /lib64/ld-2.14.90.so
366b221000-366b222000 r--p 00021000 fd:02 129841
 /lib64/ld-2.14.90.so
366b222000-366b223000 rw-p 00022000 fd:02 129841
 /lib64/ld-2.14.90.so
366b223000-366b224000 rw-p 00000000 00:00 0
366b400000-366b5ab000 r-xp 00000000 fd:02 131672
 /lib64/libc-2.14.90.so
366b5ab000-366b7ab000 ---p 001ab000 fd:02 131672
 /lib64/libc-2.14.90.so
366b7ab000-366b7af000 r--p 001ab000 fd:02 131672
 /lib64/libc-2.14.90.so
366b7af000-366b7b1000 rw-p 001af000 fd:02 131672
 /lib64/libc-2.14.90.so
366b7b1000-366b7b6000 rw-p 00000000 00:00 0
366b800000-366b802000 r-xp 00000000 fd:02 131675
 /lib64/libdl-2.14.90.so
366b802000-366ba02000 ---p 00002000 fd:02 131675
 /lib64/libdl-2.14.90.so
366ba02000-366ba03000 r--p 00002000 fd:02 131675
 /lib64/libdl-2.14.90.so
366ba03000-366ba04000 rw-p 00003000 fd:02 131675
 /lib64/libdl-2.14.90.so
366bc00000-366bc17000 r-xp 00000000 fd:02 131678
 /lib64/libpthread-2.14.90.so
366bc17000-366be16000 ---p 00017000 fd:02 131678
 /lib64/libpthread-2.14.90.so
366be16000-366be17000 r--p 00016000 fd:02 131678
 /lib64/libpthread-2.14.90.so
366be17000-366be18000 rw-p 00017000 fd:02 131678
 /lib64/libpthread-2.14.90.so
366be18000-366be1c000 rw-p 00000000 00:00 0
366c000000-366c007000 r-xp 00000000 fd:02 131679
 /lib64/librt-2.14.90.so
366c007000-366c206000 ---p 00007000 fd:02 131679
 /lib64/librt-2.14.90.so
366c206000-366c207000 r--p 00006000 fd:02 131679
 /lib64/librt-2.14.90.so
366c207000-366c208000 rw-p 00007000 fd:02 131679
 /lib64/librt-2.14.90.so
366c400000-366c41d000 r-xp 00000000 fd:02 131683
 /lib64/libselinux.so.1
366c41d000-366c61d000 ---p 0001d000 fd:02 131683
 /lib64/libselinux.so.1
366c61d000-366c61e000 r--p 0001d000 fd:02 131683
 /lib64/libselinux.so.1
366c61e000-366c61f000 rw-p 0001e000 fd:02 131683
 /lib64/libselinux.so.1
366c61f000-366c620000 rw-p 00000000 00:00 0
366c800000-366c83e000 r-xp 00000000 fd:02 131691
 /lib64/libsepol.so.1
366c83e000-366ca3e000 ---p 0003e000 fd:02 131691
 /lib64/libsepol.so.1
366ca3e000-366ca3f000 rw-p 0003e000 fd:02 131691
 /lib64/libsepol.so.1
366cc00000-366cc26000 r-xp 00000000 fd:02 131693
 /lib64/libdevmapper.so.1.02
366cc26000-366ce25000 ---p 00026000 fd:02 131693
 /lib64/libdevmapper.so.1.02
366ce25000-366ce27000 rw-p 00025000 fd:02 131693
 /lib64/libdevmapper.so.1.02
366d000000-366d015000 r-xp 00000000 fd:02 131690
 /lib64/libgcc_s-4.6.2-20111027.so.1
366d015000-366d214000 ---p 00015000 fd:02 131690
 /lib64/libgcc_s-4.6.2-20111027.so.1
366d214000-366d215000 rw-p 00014000 fd:02 131690
 /lib64/libgcc_s-4.6.2-20111027.so.1
366d400000-366d43c000 r-xp 00000000 fd:02 131715
 /lib64/libreadline.so.6.2
366d43c000-366d63b000 ---p 0003c000 fd:02 131715
 /lib64/libreadline.so.6.2
366d63b000-366d643000 rw-p 0003b000 fd:02 131715
 /lib64/libreadline.so.6.2
366d643000-366d644000 rw-p 00000000 00:00 0
366d800000-366d823000 r-xp 00000000 fd:02 131710
 /lib64/libncurses.so.5.9
366d823000-366da22000 ---p 00023000 fd:02 131710
 /lib64/libncurses.so.5.9
366da22000-366da23000 r--p 00022000 fd:02 131710
 /lib64/libncurses.so.5.9
366da23000-366da24000 rw-p 00023000 fd:02 131710
 /lib64/libncurses.so.5.9
366e000000-366e023000 r-xp 00000000 fd:02 131709
 /lib64/libtinfo.so.5.9
366e023000-366e222000 ---p 00023000 fd:02 131709
 /lib64/libtinfo.so.5.9
366e222000-366e226000 r--p 00022000 fd:02 131709
 /lib64/libtinfo.so.5.9
366e226000-366e227000 rw-p 00026000 fd:02 131709
 /lib64/libtinfo.so.5.9
366f800000-366f80e000 r-xp 00000000 fd:02 131692
 /lib64/libudev.so.0.12.0
366f80e000-366fa0e000 ---p 0000e000 fd:02 131692
 /lib64/libudev.so.0.12.0
366fa0e000-366fa0f000 r--p 0000e000 fd:02 131692
 /lib64/libudev.so.0.12.0
366fa0f000-366fa10000 rw-p 0000f000 fd:02 131692
 /lib64/libudev.so.0.12.0
7fe774000000-7fe774021000 rw-p 00000000 00:00 0
7fe774021000-7fe778000000 ---p 00000000 00:00 0
7fe778000000-7fe778021000 rw-p 00000000 00:00 0
7fe778021000-7fe77c000000 ---p 00000000 00:00 0
7fe77c000000-7fe77c021000 rw-p 00000000 00:00 0
7fe77c021000-7fe780000000 ---p 00000000 00:00 0
7fe780000000-7fe780021000 rw-p 00000000 00:00 0
7fe780021000-7fe784000000 ---p 00000000 00:00 0
7fe784000000-7fe784021000 rw-p 00000000 00:00 0
7fe784021000-7fe788000000 ---p 00000000 00:00 0
7fe78b617000-7fe78b618000 ---p 00000000 00:00 0
7fe78b618000-7fe78b628000 rw-p 00000000 00:00 0
7fe78b628000-7fe78b629000 ---p 00000000 00:00 0
7fe78b629000-7fe78b639000 rw-p 00000000 00:00 0
7fe78b639000-7fe78b63a000 ---p 00000000 00:00 0
7fe78b63a000-7fe78b64a000 rw-p 00000000 00:00 0
7fe78b64a000-7fe78b64b000 ---p 00000000 00:00 0
7fe78b64b000-7fe78b65b000 rw-p 00000000 00:00 0
7fe78b65b000-7fe78b65c000 r-xp 00000000 fd:02 131265
 /lib64/multipath/libprioconst.so
7fe78b65c000-7fe78b85b000 ---p 00001000 fd:02 131265
 /lib64/multipath/libprioconst.soAborted

thanks
fil


On 01/02/2012 06:53 AM, Chauhan, Vijay wrote:
> Thanks for trying out this patch and for your comments.
> 
> Patch is made on top of commit fa7074f35c67ff1ef29f1aea5a484c5dea25863a
> . 
> Please let me know if you still face any issue in applying patch on this
> commit. 
> Meanwhile I will rebase the changes to HEAD   before resending it.
> 
> Any feedback for your verification would be appreciated.   
> 
> On 12/31/2010 11:23 PM, Fil wrote:
>> oops sorry, I was reading something else you responded to so
> automatically I
>> wrote to you....
>> On 12/31/2011 09:00 AM, Christophe Varoqui wrote:
>>>
>>>> I have seen your set of patches for persistent reservation of
>>>> multipath devices and wanted to try them out. While trying this
> patch
>>>> set I have run into several issues. Which code base can I apply
> this
>>>> against? Any help would be greatly appreciated. Issues are listed
> below.
>>>
>>> This patchset has been developped by Netapp's Vijay Chauhan.
>>>
>>>> 2. I pulled multipath-tools from opensvc git and that patching
> failed
>>>> too, so I had to apply all the patches manually.
>>>>
>>> This is the correct project repository. The patchset may need
> rebasing
>>> over the HEAD. If it does not apply cleanly there, you might try to
>>> revert to a previous commit.
>>>
>>> I'll try this patchset soon and compare my experience with your
>>> observations.
>>>
>>> Thanks for the report.
>>>
>>>> 3. while testing mppersist I get following error:
>>>>
>>>> mpathpersist --out --register --param-sark=123abc --prout-type=8
>>>> /dev/mapper/blah -v 4 Dec 31 00:54:29 | alias = blah Dec 31
> 00:54:29
>>>> | params = 0 0 1 1 round-robin 0 2 1 8:0 1 8:16 1 Dec 31 00:54:29 |
>>>> status = 2 0 0 0 1 1 A 0 2 0 8:0 A 0 8:16 A 0 Dec 31 00:54:29 |
> blah:
>>>> disassemble map [0 0 1 1 round-robin 0 2 1 8:0 1
>>>> 8:16 1 ]
>>>> Dec 31 00:54:29 | 8:0: not found in pathvec Dec 31 00:54:29 | 8:16:
>>>> not found in pathvec Dec 31 00:54:29 | No device found for 8:0
>>>>
> 
> Please try patch on the commit version mentioned above and let me know
> if 
> you still face issue 3 and issue 4? 
> 
>>>> Dec 31 00:54:29 | No device found for 8:16
>>>>
>>>> Dec 31 00:54:29 | blah: disassemble status [2 0 0 0 1 1 A 0 2 0 8:0
> A
>>>> 0
>>>> 8:16 A 0 ]
>>>> Dec 31 00:54:29 | 36001405c55fc03cd8193d491eda0d4d7: no path
>>>> available PR out: command failed
>>>>
>>>> 4. with all patches applied, all multipathd cli commands crash the
> daemon.
>>>>
> 
> You may need specify reservation_key keyword in following format in
> either 
> multipath section or default section for the applicable devices. In case
> if reservation_key
>  is not mentioned in multipath.conf then multipathd would not check for
> persistent reservation 
> for newly discovered path and reinstated path.
> 
> reservation_key  <reservation key>
> 
> Example:
>  multipaths {
>         multipath {
>                           wwid   XXXXXXXXXXXXXXXX
>                          alias      yellow
>                          reservation_key  0x123abc
>       }
> }
> 
>>>> here are my configs:
>>>>
>>>> cat /etc/multipath.conf
>>>> defaults {
>>>> 	user_friendly_names	yes
>>>> 	polling_interval	10
>>>> }
>>>>
>>>> multipaths {
>>>> 	multipath {
>>>> 		wwid
>> 	36001405c55fc03cd8193d491eda0d4d7
>>>> 		alias			blah
>>>> 	}
>>>> }
>>>>
>>>>
>>>> devices {
>>>> 	device {
>>>> 		vendor			"QNAP"
>>>> 		product			"iSCSI Storage"
>>>> 		path_selector		"round-robin 0"
>>>> 		path_grouping_policy	multibus
>>>> 		getuid_callout          "/lib/udev/scsi_id -g -u -d
> /dev/%n"
>>>> 		path_checker		directio
>>>> 		failback		immediate
>>>> 	}
>>>>
>>>> }
>>>>
>>>> blacklist {
>>>>         devnode "^(vd)[a-z]"
>>>> }
>>>>
>>>> multipath -ll -v3
>>>> Dec 31 00:59:01 | loading /lib64/multipath/libcheckdirectio.so
>>>> checker Dec 31 00:59:01 | loading /lib64/multipath/libprioconst.so
>>>> prioritizer Dec 31 00:59:01 | loop0: device node name blacklisted
> Dec
>>>> 31 00:59:01 | loop1: device node name blacklisted Dec 31 00:59:01 |
>>>> loop2: device node name blacklisted Dec 31 00:59:01 | loop3: device
>>>> node name blacklisted Dec 31 00:59:01 | loop4: device node name
>>>> blacklisted Dec 31 00:59:01 | loop5: device node name blacklisted
> Dec
>>>> 31 00:59:01 | loop6: device node name blacklisted Dec 31 00:59:01 |
>>>> loop7: device node name blacklisted Dec 31 00:59:01 | vda: device
>>>> node name blacklisted Dec 31 00:59:01 | dm-0: device node name
>>>> blacklisted Dec 31 00:59:01 | dm-1: device node name blacklisted
> Dec
>>>> 31 00:59:01 | dm-2: device node name blacklisted Dec 31 00:59:01 |
>>>> dm-3: device node name blacklisted Dec 31 00:59:01 | sda: not found
>>>> in pathvec Dec 31 00:59:01 | sda: mask = 0x5 Dec 31 00:59:01 | sda:
>>>> dev_t = 8:0 Dec 31 00:59:01 | sda: size = 20971520 Dec 31 00:59:01
> |
>>>> sda: vendor = QNAP Dec 31 00:59:01 | sda: product = iSCSI Storage
> Dec
>>>> 31 00:59:01 | sda: rev = 3.1 Dec 31 00:59:01 | sda: h:b:t:l =
> 2:0:0:0
>>>> Dec 31 00:59:01 | sda: path state = running Dec 31 00:59:01 | sda:
>>>> get_state Dec 31 00:59:01 | sda: path checker = directio
> (controller
>>>> setting) Dec 31 00:59:01 | sda: checker timeout = 30000 ms (sysfs
>>>> setting) Dec 31 00:59:01 | directio: starting new request Dec 31
>>>> 00:59:01 | directio: io finished 4096/0 Dec 31 00:59:01 | sda:
> state
>>>> = up Dec 31 00:59:01 | sdb: not found in pathvec Dec 31 00:59:01 |
>>>> sdb: mask = 0x5 Dec 31 00:59:01 | sdb: dev_t = 8:16 Dec 31 00:59:01
> |
>>>> sdb: size = 20971520 Dec 31 00:59:01 | sdb: vendor = QNAP Dec 31
>>>> 00:59:01 | sdb: product = iSCSI Storage Dec 31 00:59:01 | sdb: rev
> =
>>>> 3.1 Dec 31 00:59:01 | sdb: h:b:t:l = 3:0:0:0 Dec 31 00:59:01 | sdb:
>>>> path state = running Dec 31 00:59:01 | sdb: get_state Dec 31
> 00:59:01
>>>> | sdb: path checker = directio (controller setting) Dec 31 00:59:01
> |
>>>> sdb: checker timeout = 30000 ms (sysfs setting) Dec 31 00:59:01 |
>>>> directio: starting new request Dec 31 00:59:01 | directio: io
>>>> finished 4096/0 Dec 31 00:59:01 | sdb: state = up Dec 31 00:59:01 |
>>>> dm-4: device node name blacklisted ===== paths list =====
>>>> uuid hcil    dev dev_t pri dm_st chk_st vend/prod/rev      dev_st
>>>>      2:0:0:0 sda 8:0   -1  undef ready  QNAP,iSCSI Storage running
>>>>      3:0:0:0 sdb 8:16  -1  undef ready  QNAP,iSCSI Storage running
>>>> Dec 31 00:59:01 | params = 0 0 1 1 round-robin 0 2 1 8:0 1 8:16 1
> Dec
>>>> 31 00:59:01 | status = 2 0 0 0 1 1 A 0 2 0 8:0 A 0 8:16 A 0 Dec 31
>>>> 00:59:01 | blah: disassemble map [0 0 1 1 round-robin 0 2 1 8:0 1
>>>> 8:16 1 ]
>>>> Dec 31 00:59:01 | sda: mask = 0x8
>>>> Dec 31 00:59:01 | sda: path state = running Dec 31 00:59:01 | sda:
>>>> prio = const (internal default) Dec 31 00:59:01 | sda: prio =
>>>> (internal default) Dec 31 00:59:01 | sda: const prio = 1 Dec 31
>>>> 00:59:01 | sdb: mask = 0x8 Dec 31 00:59:01 | sdb: path state =
>>>> running Dec 31 00:59:01 | sdb: prio = const (internal default) Dec
> 31
>>>> 00:59:01 | sdb: prio =  (internal default) Dec 31 00:59:01 | sdb:
>>>> const prio = 1 Dec 31 00:59:01 | blah: disassemble status [2 0 0 0
> 1
>>>> 1 A 0 2 0 8:0 A 0
>>>> 8:16 A 0 ]
>>>> blah (36001405c55fc03cd8193d491eda0d4d7) dm-4 QNAP,iSCSI Storage
>>>> size=10G features='0' hwhandler='0' wp=rw
>>>> `-+- policy='round-robin 0' prio=0 status=active
>>>>   |- 2:0:0:0 sda 8:0  active ready running
>>>>   `- 3:0:0:0 sdb 8:16 active ready running Dec 31 00:59:01 |
> directio
>>>> checker refcount 2 Dec 31 00:59:01 | directio checker refcount 1
> Dec
>>>> 31 00:59:01 | unloading const prioritizer Dec 31 00:59:01 |
> unloading
>>>> directio checker
> 
> Thanks,
> Vijay
> 
> --
> dm-devel mailing list
> dm-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: mpathpersist
  2012-01-03  3:32       ` mpathpersist Fil
@ 2012-01-04 11:42         ` Chauhan, Vijay
  0 siblings, 0 replies; 6+ messages in thread
From: Chauhan, Vijay @ 2012-01-04 11:42 UTC (permalink / raw)
  To: Fil, device-mapper development


On January 03, 2012 9:03 AM, Fil wrote:
> Vijay,
> 
> I tried applying patches over that commit and it almost applied. There
is still
> one reject.
> 
> cat ./multipathd/cli.h.rej
> --- multipathd/cli.h	2011-12-18 02:25:43.000000000 -0500
> +++ multipathd/cli.h	2011-12-18 02:26:09.000000000 -0500
> @@ -65,9 +65,9 @@
>  #define WILDCARDS	(1 << __WILDCARDS)
>  #define QUIT		(1 << __QUIT)
>  #define SHUTDOWN	(1 << __SHUTDOWN)
> -#define GETPRSTATUS    (1 << __GETPRSTATUS)
> -#define SETPRSTATUS    (1 << __SETPRSTATUS)
> -#define UNSETPRSTATUS  (1 << __UNSETPRSTATUS)
> +#define GETPRSTATUS	(1 << __GETPRSTATUS)
> +#define SETPRSTATUS	(1 << __SETPRSTATUS)
> +#define UNSETPRSTATUS	(1UL << __UNSETPRSTATUS)
> 
>  #define INITIAL_REPLY_LEN 1000
> 
This is unexpected though I will recheck it.

> It looks like those definitions already exist. The really bad news is
once you
> compile it  and run it, it still breaks multipathd cli.
> 
> ./mpathpersist/mpathpersist --out --register --param-sark=123abc
> --prout-type=8 /dev/mapper/blah -v 4
> Jan 02 22:31:27 | alias = blah
> Jan 02 22:31:27 | params = 0 0 1 1 round-robin 0 2 1 8:0 1 8:16 1 Jan
02 22:31:27
> | status = 2 0 0 0 1 1 A 0 2 0 8:0 A 0 8:16 A 0 Jan 02 22:31:27 |
blah: disassemble
> map [0 0 1 1 round-robin 0 2 1 8:0 1
> 8:16 1 ]
> Jan 02 22:31:27 | 8:0: not found in pathvec Jan 02 22:31:27 | 8:16:
not found in
> pathvec Jan 02 22:31:27 | No device found for 8:0
> 
> Jan 02 22:31:27 | No device found for 8:16

Looks like this is due to sysfs changes in latest kernel. I will fix it.
Thanks for reporting.

> 
> Jan 02 22:31:27 | blah: disassemble status [2 0 0 0 1 1 A 0 2 0 8:0 A
0
> 8:16 A 0 ]
> Jan 02 22:31:27 | blah: reservation_key  = 0x123abc (config file
default) Jan 02
> 22:31:27 | 36001405c55fc03cd8193d491eda0d4d7: no path available PR
out:
> command failed
> 
> 
> multipathd -k
> multipathd> help
> 
> Jan 02 22:29:15 | Got request [help]
> Jan 02 22:29:15 | Reply [1033 bytes]

I will look into it and will fix it. 

> *** glibc detected *** ./multipathd/multipathd: free(): invalid next
size
> (normal): 0x00007fe77c001d40 *** ======= Backtrace: =========
> /lib64/libc.so.6[0x366b47c2d6] /lib64/libc.so.6[0x366b47d5be]
> ./multipathd/multipathd[0x40abe7] ./multipathd/multipathd[0x4076eb]
> /lib64/libpthread.so.0[0x366bc07d90]
> /lib64/libc.so.6(clone+0x6d)[0x366b4ef48d]
> ======= Memory map: ========
> 00400000-00412000 r-xp 00000000 fd:02 134411  /root/vlah/multipath-
> tools/multipathd/multipathd
> 00612000-00613000 rw-p 00012000 fd:02 134411  /root/vlah/multipath-
> tools/multipathd/multipathd
> 012a0000-012c1000 rw-p 00000000 00:00 0
>  [heap]
> 366b000000-366b022000 r-xp 00000000 fd:02 129841  /lib64/ld-2.14.90.so
> 366b221000-366b222000 r--p 00021000 fd:02 129841  /lib64/ld-2.14.90.so
> 366b222000-366b223000 rw-p 00022000 fd:02 129841  /lib64/ld-2.14.90.so
> 366b223000-366b224000 rw-p 00000000 00:00 0


Thanks,
Vijay

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-01-04 11:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-31  6:05 mpathpersist Fil
2011-12-31 14:00 ` mpathpersist Christophe Varoqui
2011-12-31 17:52   ` mpathpersist Fil
2012-01-02 11:53     ` mpathpersist Chauhan, Vijay
2012-01-03  3:32       ` mpathpersist Fil
2012-01-04 11:42         ` mpathpersist Chauhan, Vijay

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.