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

Reply via email to