On Wednesday, January 25, 2012 9:12 PM, Fil Wrote: >Here is the info you requested. Fil, Thanks for the logs. >On 01/25/2012 02:45 AM, Chauhan, Vijay wrote: >> On January 24, 2012, Fil Wrote: >>> >>> 1. Patches apply against the 63704387009443bdb37d9deaaafa9ab121d45bfb >>> without any problems. Everything builds correctly (tested it on >centos >>> 6.2 and fedora 16). >>> >>> 2. multipathd runs correctly. >>> >> >> Fil, Thanks for the update. Good to know. >> >>> 3. mpathpersist is missing --no-inquiry option. It would be nice to >be >>> compatible with sg_persist. (breaks most of my test scripts.) >>> >>> 4. mpathpersist -d /dev/mapper/blah --in --read-status >>> mpathpersist: unrecognized option '--read-status' >>> unrecognised switch code 0x3f ?? >>> >> >> There is a typo in usage output. Please use --read-full-status >instead. I will correct it. > >still no go... > It seems issue 4 is resolved with option '--read-full-status' >mpathpersist -d /dev/mapper/blah --in --read-full-status >Persistent Reserve IN command failed >mpathpersist -d /dev/mapper/blah --in --read-full-status -v3 >Jan 25 10:32:37 | alias = blah >Jan 25 10:32:37 | 36001405c55fc03cd8193d491eda0d4d7: sending pr in >command to sda >Jan 25 10:32:37 | sda: duration = 2 (ms) >Jan 25 10:32:37 | sda: status driver:00 host:04 scsi:00 PRIN command returned with DID_BAD_TARGET host status. iscsi layer returns this when we get some bad output from target. This does not look like issue related to this feature. >> >>> 5. registration works >>> >>> 6. reservation, reserves only a single path. (is this by design?) >> >> Yes, this is as per design. Reservation is sent to one of the active >> path and reservation is applicable to registered I_T nexus with >respect to pr type. >> >> I was expecting your device server to apply reservation to all the >> registered I_T nexus for pr type "Exclusive Access, all registrants". >Can you verify the below output again? >> >> Please see below in SPC4 >> "For a persistent reservation of the type Write Exclusive – All >Registrants or Exclusive Access – All Registrants, >> the persistent reservation holder is any registered I_T nexus;" >> >>> mpathpersist --out --reserve --param-rk=123abc --prout-type=8 -d >>> /dev/mapper/blah >>> >>> sg_persist -i -s /dev/mapper/blah >>> QNAP iSCSI Storage 3.1 >>> Peripheral device type: disk >>> PR generation=0x8 >>> Key=0x123abc >>> All target ports bit clear >>> Relative port address: 0x1 >>> not reservation holder >>> Transport Id of initiator: >>> iSCSI name and session id: iqn.2009- >>> 11.com.adriaticsolutions:blah >>> Key=0x123abc >>> All target ports bit clear >>> Relative port address: 0x1 >>> << Reservation holder >> >>> scope: LU_SCOPE, type: Exclusive Access, all registrants >>> Transport Id of initiator: >>> iSCSI name and session id: iqn.2009- >>> 11.com.adriaticsolutions:blah >>> >>> multipath -ll >>> blah (36001405c55fc03cd8193d491eda0d4d7) dm-4 QNAP,iSCSI Storage >>> size=10G features='0' hwhandler='0' wp=rw >>> `-+- policy='round-robin 0' prio=1 status=active >>> |- 16:0:0:0 sda 8:0 active ready running >>> `- 17:0:0:0 sdb 8:16 failed faulty running >>> >>> 7. mpathpersist -d /dev/mapper/blah --in --read-reservation >>> Persistent Reserve IN command failed >>> >> Can you please share the output with verbose 3. Append '-v3'. > > >mpathpersist -d /dev/mapper/blah --in --read-reservation >Persistent Reserve IN command failed >mpathpersist -d /dev/mapper/blah --in --read-reservation -v3 >Jan 25 10:34:07 | alias = blah >Jan 25 10:34:07 | 36001405c55fc03cd8193d491eda0d4d7: sending pr in >command to sda >Jan 25 10:34:07 | sda: duration = 1 (ms) >Jan 25 10:34:07 | sda: status driver:00 host:04 scsi:00 Same is with issue 7. PRIN command returned with DID_BAD_TARGET host status. >Jan 25 10:34:07 | directio checker refcount 2 >Jan 25 10:34:07 | directio checker refcount 1 >Persistent Reserve IN command failed >Jan 25 10:34:07 | unloading const prioritizer >Jan 25 10:34:07 | unloading directio checker > >> >>> 8. release 'fails' because reservation registered only a single path >and >>> the other one is in a failed state. >>> >>> mpathpersist -d /dev/mapper/blah --out --release --param-rk=123abc >>> --prout-type=8 >>> Jan 24 00:43:53 | 36001405c55fc03cd8193d491eda0d4d7: pr in read >>> reservation command failed. >>> PR out: command failed >>> >> As per design, release service action performs following steps: >> Step 1) PROUT 'release' SA is sent on the all paths of the multipath >device as it is not clear which data path is reservation holder. >> STEP 2) PRIN read reservation SA is sent to one of the active path to >verify the reservation. >> STEP 3) If the Read Reservation parameter data indicates that the >logical unit is still reserved then this indicates that the reservation >holder belongs to a data path in failed state or removed data path of >the multipath device, continue else goto step 7 >> STEP 4) PRIN Report Full Status service action is issued to any >active data path. Full status descriptors are saved. >> STEP 5) PROUT clear reservation service action is sent via any active >data path to clear the reservation and >> Registrants >> STEP 6) all registrants are restored by issuing PROUT register service >action with transport IDs from the full status >> descriptors saved in the step 4 >> STEP 7) exit with status >> >> It looks like you are getting into some other issue. Can you please >share the output with verbose with '-v3'. > > >mpathpersist -d /dev/mapper/blah --out --release --param-rk=123abc >--prout-type=8 -v3 >Jan 25 10:35:41 | alias = blah >Jan 25 10:35:41 | 36001405c55fc03cd8193d491eda0d4d7: sending pr out >command to sda >Jan 25 10:35:41 | 36001405c55fc03cd8193d491eda0d4d7: sdb path not up. >Jan 25 10:35:41 | sda: rq_servact = 2 >Jan 25 10:35:41 | sda: rq_scope = 0 >Jan 25 10:35:41 | sda: rq_type = 8 >Jan 25 10:35:41 | sda: paramlen = 24 >Jan 25 10:35:41 | sda: Persistent Reservation OUT parameter: >Jan 25 10:35:41 | 00 00 00 00 00 12 3a bc 00 00 00 00 00 00 00 >00 >Jan 25 10:35:41 | 00 00 00 00 00 00 00 00 >Jan 25 10:35:41 | sda: Duration=1 (ms) >Jan 25 10:35:41 | sda: status driver:00 host:00 scsi:00 >Jan 25 10:35:41 | sda: status = 0 >Jan 25 10:35:41 | 36001405c55fc03cd8193d491eda0d4d7: sending pr in >command to sda >Jan 25 10:35:41 | sda: duration = 1 (ms) >Jan 25 10:35:41 | sda: status driver:08 host:00 scsi:02 >Jan 25 10:35:41 | sda: Sense_Key=06, ASC=00 ASCQ=00 >Jan 25 10:35:41 | sda: retrying for Unit Attention. Remaining retries = >4 >Jan 25 10:35:41 | sda: duration = 0 (ms) >Jan 25 10:35:41 | sda: status driver:00 host:04 scsi:00 Same with issue 8. PRIN command returned with DID_BAD_TARGET host status. All the three failures reported above are due to DID_BAD_TARGET host status returned for the PRIN command. It does not look like anywhere this feature is related to the above reported errors. >>> 9. de-registration works.... >>> Thanks, Vijay -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel