On Fri, Sep 26, 2008 at 08:58:54AM +0800, Aaron Dailey wrote:
> Albert, You should be able to just use write to substitute for write
> verify (of course you have missing functionality of the verify).
The attached patch gets it to work on AIX 5.3 and 6.1. But, we're having
some problems with the system running the AIX Integrated Virtualization
Manager.
> On Thu, 25 Sep 2008 17:03:26 -0500, "Albert Chin"
> <[EMAIL PROTECTED]> said:
> > On Thu, Sep 25, 2008 at 04:27:21PM -0500, Albert Chin wrote:
> > > On Wed, Sep 24, 2008 at 05:52:36PM -0500, Albert Chin wrote:
> > > > On Wed, Sep 24, 2008 at 05:10:44PM -0500, Albert Chin wrote:
> > > > > On Wed, Sep 24, 2008 at 04:58:00PM -0500, Albert Chin wrote:
> > > > > > On Fri, Aug 01, 2008 at 01:20:36PM -0700, Nigel Smith wrote:
> > > > > > > Did it work or did you have problems?
> > > > > >
> > > > > > [[ snip snip ]]
> > > > > > (initiator) SCSI: Reserve(6) LUN: 0x00
> > > > > > (target) SCSI Response (Check Condition) LUN: 0x00
> > > > > >
> > > > > > iSCSI (SCSI Response)
> > > > > > ...
> > > > > > SCSI: SNS Info
> > > > > > [LUN: 0x0000]
> > > > > > Valid: 0
> > > > > > .111 0000 = SNS Error Type: Current Error (0x70)
> > > > > > Filemark: 0, EOM: 0, ILI: 0
> > > > > > .... 0101 = Sense Key: Illegal Request (0x05)
> > > > > > Sense Info: 0x00000000
> > > > > > Additional Sense Length: 0
> > > > > > Command-Specific Information: 00000000
> > > > > > Additional Sense Code+Qualifier: Invalid Command Operation
> > > > > > Code (0x2000)
> > > > > > Field Replaceable Unit Code: 0x00
> > > > > > .. = SKSV: False
> > > > > > Sense Key Specific: 000000
> > > > >
> > > > > Does the Solaris iscsitgtd in b91 support the RESERVE/RELEASE
> > > > > commands?
> > > >
> > > > Ok, it seems that the iscsitgtd from b91 doesn't support RESERVE(6) but
> > > > the latest does. However, in addition to the RESERVE(6) from AIX,
> > > > there's also a RESERVE(10) (opcode 0x56). According to lba_table in
> > > > usr/src/cmd/iscsi/iscsitgtd/t10_sbc.c, there is no support for this. Any
> > > > plans to add RESERVE(10) and RELEASE(10) support?
> > > >
> > > > [[ snip snip ]]
> > >
> > > Ok, upgraded to b98 and am able to get further. But, now that RESERVE(6)
> > > and RELEASE(6) are supported, AIX wants Write & Verify(10) (opcode 0x2e)
> > > which isn't supported by iscsitgtd.
> > >
> > > Frame 74 (114 bytes on wire, 114 bytes captured)
> > > ...
> > > iSCSI (SCSI Command)
> > > Opcode: SCSI Command (0x01)
> > > .0.. .... = I: Queued delivery
> > > Flags: 0xa1
> > > 1... .... = F: Final PDU in sequence
> > > .0.. .... = R: No data will be read from target
> > > ..1. .... = W: Data will be written to target
> > > .... .001 = Attr: Simple (0x01)
> > > TotalAHSLength: 0x00
> > > DataSegmentLength: 0x00000000
> > > LUN: 0000000000000000
> > > InitiatorTaskTag: 0x0000000a
> > > ExpectedDataTransferLength: 0x00000200
> > > CmdSN: 0x0bfffe15
> > > ExpStatSN: 0x0000000b
> > > SCSI CDB Write & Verify(10)
> > > [LUN: 0x0000]
> > > [Command Set:Direct Access Device (0x00) (Using default commandset)]
> > > Opcode: Write & Verify(10) (0x2e)
> > > Flags: 0x00
> > > 000. .... = WRPROTECT: 0x00
> > > ...0 .... = DPO: Disable page out is DISABLED (cache this data)
> > > .... ..0. = BYTCHK: False
> > > LBA: 8
> > > ...0 0000 = Group: 0x00
> > > Transfer Length: 1
> > > Vendor Unique = 0, NACA = 0, Link = 0
> >
> > According to spc3r23, table D.2, Write & Verify(1) is optional for
> > DIRECT ACCESS BLOCK DEVICE (SBC-2) but mandatory for SIMPLIFIED
> > DIRECT-ACCESS DEVICE (RBC).
> >
> > Is implementing W&V as simple as calling sbc_write/sbc_verify together?
> > Wondering if I can cobble something together quickly.
> >
> > --
> > albert chin ([EMAIL PROTECTED])
> > _______________________________________________
> > storage-discuss mailing list
> > [email protected]
> > http://mail.opensolaris.org/mailman/listinfo/storage-discuss
> --
> Aaron Dailey
> [EMAIL PROTECTED]
>
> _______________________________________________
> storage-discuss mailing list
> [email protected]
> http://mail.opensolaris.org/mailman/listinfo/storage-discuss
>
--
albert chin ([EMAIL PROTECTED])
--- usr/src/cmd/iscsi/iscsitgtd/t10_raw_if.c.orig Thu Sep 11 01:37:52 2008
+++ usr/src/cmd/iscsi/iscsitgtd/t10_raw_if.c Thu Sep 25 22:28:48 2008
@@ -595,6 +595,7 @@
break;
case SCMD_WRITE_G1:
+ case SCMD_WRITE_VERIFY:
/*
* SBC-2 revision 16, section 5.25
* Reserve bit checks.
--- usr/src/cmd/iscsi/iscsitgtd/t10_sbc.c.orig Thu Sep 11 01:37:52 2008
+++ usr/src/cmd/iscsi/iscsitgtd/t10_sbc.c Thu Sep 25 22:27:58 2008
@@ -601,6 +601,7 @@
break;
case SCMD_WRITE_G1:
+ case SCMD_WRITE_VERIFY:
/*
* SBC-2 revision 16, section 5.25
* Reserve bit checks.
@@ -2072,7 +2073,7 @@
{ spc_unsupported, NULL, NULL, NULL },
{ spc_unsupported, NULL, NULL, NULL },
{ spc_unsupported, NULL, NULL, NULL },
- { spc_unsupported, NULL, NULL, NULL },
+ { sbc_write, sbc_write_data, sbc_write_cmplt, "WRITE_VERIFY_G1" },
{ sbc_verify, sbc_verify_data, NULL, "VERIFY_G1" },
/* 0x30 -- 0x3f */
_______________________________________________
storage-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/storage-discuss