mpathpersist
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 -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel |
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 |
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 |
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. 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 |
mpathpersist
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 -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel |
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] 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 -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel |
| All times are GMT. The time now is 01:23 AM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.