qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCHv7 00/17] block: logical block provisioning enhan


From: Peter Lieven
Subject: Re: [Qemu-devel] [PATCHv7 00/17] block: logical block provisioning enhancements
Date: Fri, 8 Nov 2013 20:29:25 +0100

Am 08.11.2013 um 19:03 schrieb ronnie sahlberg <address@hidden>:

> It would mean that any version of libiscsi from 1.1 or later would
> work   and there would not be the issues such as
> UNMAP is only available from 1.2 and forward,   WRITESAME* is only
> availabel from 1.3.

I think 1.3.0 is not a big requirement when the recent version is 1.8.0

> SANITIZE only being available from 1.9 …

Sanitize we do not use at all currently.

Peter

> 
> 
> On Fri, Nov 8, 2013 at 9:52 AM, ronnie sahlberg
> <address@hidden> wrote:
>> For better support for older versions of libiscsi
>> I think it would be good to convert all the
>> iscsi_unmap_task/iscsi_writesame*_task/iscsi_*_task   functions with
>> calls to the much more genric iscsi_scsi_command_sync().
>> 
>> iscsi_scsi_command_sync() and iscsi_scsi_command_async() have been
>> available since prior to version 1.1 and can be used to send arbitrary
>> scsi opcodes to the target.
>> 
>> 
>> iscsi_scsi_command_async() is already used instead of
>> iscs_read16/write16_async() since the read16/write16 helpers were
>> added to libiscsi at a much later stage and there are examples of its
>> use.
>> 
>> 
>> Using iscsi_scsi_command_[a]sync() instead of for example
>> iscsi_unmap_task() would mean that you can use the UNMAP opcode
>> always, regardless version of libiscsi.
>> It would mean that you need to build the CDB directly inside
>> block/iscsi.c but that is not hard.
>> 
>> 
>> I.e.  change block/iscsi.c to only use iscsi_scsi_command_[a]sync()
>> for all opcodes it wants to send to the target.
>> 
>> 
>> 
>> 
>> On Wed, Nov 6, 2013 at 1:16 PM, Paolo Bonzini <address@hidden> wrote:
>>> Il 06/11/2013 20:38, Peter Lieven ha scritto:
>>>> 
>>>> Am 06.11.2013 um 14:09 schrieb Paolo Bonzini <address@hidden>:
>>>> 
>>>>> Il 06/11/2013 14:08, Stefan Hajnoczi ha scritto:
>>>>>> Thanks, applied to my block-next tree:
>>>>>> https://github.com/stefanha/qemu/commits/block-next
>>>>>> 
>>>>>> This will go into QEMU 1.8.  Since it's a new feature that touches core
>>>>>> block layer code and several block drivers, I can't merge it into
>>>>>> 1.7-rc.
>>>>> 
>>>>> Yay!  With these patches I can properly emulate WRITE SAME in the SCSI
>>>>> layer.
>>>> 
>>>> Yes, you can, but only when write same is used to write zeroes. The other
>>>> case is still unhandled or needs emulation.
>>> 
>>> WRITE SAME with UNMAP is incorrect in the current QEMU code.  Your patch
>>> let me fix it so that the payload can be read back with no change, *and*
>>> sectors are unmapped when possible.
>>> 
>>> Paolo
>>> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]