Re: target: problems with Persistent reservations, iscsi

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2011-01-07 at 15:14 -0300, Gustavo Panizzo wrote:
> Hi Nicholas,
> 
> that issue was fixed with your patch. thanks
> i've found another issue
> 
> i've attached the dmesg from lio node, it keeps saying
> 
> SPC-3 PR [iSCSI] waiting for pr_res_holders
> 
> and the machine hangs
> 
> 
> log from the testing machine
> 
> Check to verify there are no reservations on disk /dev/sdf from node
> cluster2  Passed
> RegisterIgnoreKeys on disk /dev/sdf from node cluster1 ................. Passed
> Verify registrations for disk /dev/sdf on node cluster1 ................ Passed
> RegisterIgnoreKeys on disk /dev/sdf from node cluster1 ................. Passed
> Verify registrations for disk /dev/sdf on node cluster1 ................ Passed
> Clear PGR on node cluster1 ............................................. Failed
> 
> 
> do you want a wireshark capture at this point?
> 

Hi Gustavo,

Looking at the latest dmesg, I believe this new issue is specific to the

'REGISTER_AND_IGNORE_EXISTING_KEY: Changed Reservation Key for ...'

scenario below with APTPL=0 within core_scsi3_emulate_pro_register():

[  269.532906] SPC-3 PR [iSCSI] Service Action: REGISTER_AND_IGNORE_EXISTING_KEY Initiator Node: iqn.1994-05.com.redhat.cluster1:7f3715a3da22,i,0x00023d010000
[  269.547412] SPC-3 PR [iSCSI] registration on Target Port: iqn.2010.ar.com.zumbi:disk0,0x0001
[  269.555871] SPC-3 PR [iSCSI] for SINGLE TCM Subsystem iblock Object Target Port(s)
[  269.563978] SPC-3 PR [iSCSI] SA Res Key: 0x4b6579412d2d2d2d PRgeneration: 0x00000007  APTPL: 0
[  269.573005] SPC-3 PR: Set APTPL Bit Deactivated for REGISTER
[  269.990649] SPC-3 PR [iSCSI] REGISTER_AND_IGNORE_EXISTING_KEY: Changed Reservation Key for iqn.1994-05.com.redhat.cluster1:7f3715a3da22 to: 0x4b6579422d2d2d2d PRgeneration: 0x00000008
[  270.007747] SPC-3 PR: Set APTPL Bit Deactivated for REGISTER
[  270.453160] SPC-3 PR [iSCSI] waiting for pr_res_holders
[  270.460294] SPC-3 PR [iSCSI] waiting for pr_res_holders
[  270.465543] SPC-3 PR [iSCSI] waiting for pr_res_holders
[  270.471450] SPC-3 PR [iSCSI] waiting for pr_res_holders

It appears that we are missing the final call to core_scsi3_put_pr_reg() to
drop pr_res_holders reference back to zero before returning.  Below is a quick
patch to fix this specific case in core_scsi3_emulate_pro_register(), please
re-test and I will try to reproduce and verify the fix on my end shortly.

Thanks!

--nab

diff --git a/drivers/target/target_core_pr.c b/drivers/target/target_core_pr.c
index 6b275bb..c858f20 100644
--- a/drivers/target/target_core_pr.c
+++ b/drivers/target/target_core_pr.c
@@ -2327,6 +2327,7 @@ static int core_scsi3_emulate_pro_register(
                        if (!(aptpl)) {
                                pr_tmpl->pr_aptpl_active = 0;
                                core_scsi3_update_and_write_aptpl(dev, NULL, 0);
+                               core_scsi3_put_pr_reg(pr_reg);
                                printk("SPC-3 PR: Set APTPL Bit Deactivated"
                                                " for REGISTER\n");
                                return 0;



--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux