[stgt] WRITE_SAME aio support

ronnie sahlberg ronniesahlberg at gmail.com
Mon Aug 19 06:14:28 CEST 2013


Since you are willing to test,  can you test this patch?
This patch adds support for WRITESAME10/16 to the bs_aio backend.

It passes my tests for WRITESAME :
./bin/iscsi-test-cu iscsi://127.0.0.1/iqn.ronnie.test/1 --test
SCSI.WriteSame*.* -V --dataloss
(well one test fails but it fails for bs_rdwr too)


Dont build against TGTD HEAD, it is broken for aio.
Build against 1.0.38


On Sun, Aug 18, 2013 at 8:13 PM, Moussa Ba (moussaba)
<moussaba at micron.com> wrote:
> I just switched over to rdwr, might be safer anyway...So, how do I enable COMPAREANDWRITE on rdwr?
>
> Moussa
>
> -----Original Message-----
> From: stgt-owner at vger.kernel.org [mailto:stgt-owner at vger.kernel.org] On Behalf Of ronnie sahlberg
> Sent: Sunday, August 18, 2013 8:12 PM
> To: Moussa Ba (moussaba)
> Cc: stgt at vger.kernel.org
> Subject: Re: WRITE_SAME aio support
>
> COMPAREANDWRITE needs to be ported to bs_aio too, but porting it and
> WRITESAME too to bs_aio should be straightforward.
> I can do a patch for that perhaps over the next few days. Possibly.
>
> Unfortunately, I never use bs_aio myself, I only use bs_rdwr,   and it
> seems that TGTD and bs_aio is completely broken.
> I tried to compile and install it under both ubuntu and fedora right
> now but it just dumps core as soon as
> you start sending any kind of I/O to it.
>
> As I am not familiar with bs_aio  I cant tell how long it will take to
> fix it, or perhaps someone else can help look at it too. But as for
> now, bs_aio is pretty borked :-(
> As soon as bs_aio is fixed  I can port WRITESAME and COMPAREANDWRITE to it.
>
>
>
> On Sun, Aug 18, 2013 at 6:16 PM, Moussa Ba (moussaba)
> <moussaba at micron.com> wrote:
>> I will collect the wireshark and send the data. But based on the available documentation on VAAI, it implements 0x89 (ATS or Compare and Write), 0x83 (XCOPY), 0x93 (WRITE_SAME).
>>
>> How is COMPAREANDWRITE enabled?
>> Is it a stable feature?
>> Is it supported by aio?
>>
>> Moussa
>>
>> -----Original Message-----
>> From: ronnie sahlberg [mailto:ronniesahlberg at gmail.com]
>> Sent: Sunday, August 18, 2013 5:20 PM
>> To: Moussa Ba (moussaba)
>> Cc: stgt at vger.kernel.org
>> Subject: Re: WRITE_SAME aio support
>>
>> On Sun, Aug 18, 2013 at 5:08 PM, Moussa Ba (moussaba)
>> <moussaba at micron.com> wrote:
>>> Our device is a high performance PCIe drive.  aio is better.
>>
>> I see.
>> The TGTD LUN, is it a normal LUN or have you activated thin-provisioning for it?
>>
>> Can you compile tgtd from scratch and test?
>> If that is feasible, you can change  usr/sbc.c and remove
>> WRITESAME10/16 completely from tgtd.
>> Towards the end of that file there is a definition of what commands
>> the emulated disk devices support :
>>
>> static struct device_type_template sbc_template = {
>> ...
>>
>> Indices 0x41 and 0x93 refer to the two WRITESAME versions.
>> If you change these two lines :
>> {sbc_rw,}, /* WRITE_SAME10 */
>> ...
>> {sbc_rw,}, /* WRITE_SAME_16 */
>>
>> to instead be
>> {spc_illegal_op,},
>>
>> Then WRITESAME10/16 will be disabled and you shouldnt get those
>> warnings in the logs.
>>
>>
>> I can try adding WRITESAME10/16 support to tgtd sometime in the next few days.
>> Would it be possible for you to test those patches for me ?
>>
>>
>>
>>
>>
>>
>>> Any plans for tgt to support ATS,  full copy and other VAAI primitives?
>>
>> Sure.
>> Do you have a list of which SCSI commands these refer to?
>> I assume COMPAREANDWRITE and XCOPY at least.
>>
>> We have COMPAREANDWRITE in TGTD but it is not enabled by default.
>> Could you collect a wireshark trace and send to me so I can see what
>> the commands VMWARE sends looks like? If so I can give it a try to
>> implement something.
>>
>>
>>
>>>
>>> Moussa
>>>
>>>
>>>
>>> -------- Original message --------
>>> From: ronnie sahlberg <ronniesahlberg at gmail.com>
>>> Date: 08/18/2013 17:04 (GMT-08:00)
>>> To: "Moussa Ba (moussaba)" <moussaba at micron.com>
>>> Cc: stgt at vger.kernel.org
>>> Subject: Re: WRITE_SAME aio support
>>>
>>>
>>> If it is VMWARE then it probably uses WRITESAME10/16 for unmap/discard purposes.
>>>
>>> For now, can you try using bs_rdwr instead of bs_aio ?
>>>
>>>
>>> Longer term I will do a patch for
>>> * add WRITESAME10/16 + unmap support to bs_aio
>>> * make "indicate unmap support based on whether the backend supports it or not"
>>>
>>>
>>>
>>>
>>> On Sun, Aug 18, 2013 at 4:57 PM, Moussa Ba (moussaba)
>>> <moussaba at micron.com> wrote:
>>>> The LUN as seen by VMWare shows WRITE_SAME support.   Not sure what is uses for  discard
>>>>
>>>>
>>>> -------- Original message --------
>>>> From: ronnie sahlberg <ronniesahlberg at gmail.com>
>>>> Date: 08/18/2013 16:55 (GMT-08:00)
>>>> To: "Moussa Ba (moussaba)" <moussaba at micron.com>
>>>> Cc: stgt at vger.kernel.org
>>>> Subject: Re: WRITE_SAME aio support
>>>>
>>>>
>>>> Your initiator uses WS10/16 for unmap/discard ?
>>>> (i.e. you mount the filesystem using -o discard in the guest)
>>>>
>>>> STGT currently offers "I support unmapping using both WS10 and 16". We
>>>> probably should only do this
>>>> for backends that supports these operations,  == bs_rdwr.c and not
>>>> indicate support for the others.
>>>>
>>>>
>>>> What we probably need to do here is to make the support for
>>>> WRITESAME10/16 with unmap support optional
>>>> on whether the backend supports it.
>>>> I can look at adding this once I get some other changes in.
>>>>
>>>>
>>>>
>>>> On Wed, Aug 14, 2013 at 2:41 PM, Moussa Ba (moussaba)
>>>> <moussaba at micron.com> wrote:
>>>>> I am seeing a LOT of WRITE_SAME error messages in the tgt logs. I understand it is not implemented for aio, my question is will this affect array performance . We are using tgt to host datastores for a virtualization workload.
>>>>>
>>>>>
>>>>> tgtd: bs_aio_cmd_submit(211) WRITE_SAME not yet supported for AIO backend
>>>>>
>>>>>
>>>>> Moussa
>>>>> --
>>>>> To unsubscribe from this list: send the line "unsubscribe stgt" in
>>>>> the body of a message to majordomo at vger.kernel.org
>>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe stgt" in
>>>> the body of a message to majordomo at vger.kernel.org
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe stgt" in
>>> the body of a message to majordomo at vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe stgt" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: aio_writesame.diff.gz
Type: application/x-gzip
Size: 2327 bytes
Desc: not available
URL: <http://lists.wpkg.org/pipermail/stgt/attachments/20130818/48551d31/attachment-0003.bin>


More information about the stgt mailing list