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.
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
12-31-2011, 01:00 PM
Christophe Varoqui
mpathpersist
> 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
12-31-2011, 04:52 PM
Fil
mpathpersist
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
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
01-02-2012, 10:53 AM
"Chauhan, Vijay"
mpathpersist
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.
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
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
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
01-04-2012, 10:42 AM
"Chauhan, Vijay"
mpathpersist
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]