mbox

[PULL,00/14] SCSI changes for 2014-06-18

Message ID 1403098014-1522-1-git-send-email-pbonzini@redhat.com
State New
Headers show

Pull-request

git://github.com/bonzini/qemu.git scsi-next

Message

Paolo Bonzini June 18, 2014, 1:26 p.m. UTC
The following changes since commit af44da87e926ff64260b95f4350d338c4fc113ca:

  Merge remote-tracking branch 'remotes/agraf/tags/signed-ppc-for-upstream' into staging (2014-06-16 18:26:21 +0100)

are available in the git repository at:


  git://github.com/bonzini/qemu.git scsi-next

for you to fetch changes up to 3eff1f46f08a360a4ae9f834ce9fef4c45bf6f0f:

  virtio-scsi: add support for the any_layout feature (2014-06-18 08:47:11 +0200)

----------------------------------------------------------------
Alexey Kardashevskiy (1):
      scsi: Print command name in debug

Paolo Bonzini (8):
      megasas: use PCI DMA API
      util: add return value to qemu_iovec_concat_iov
      virtio-scsi: start preparing for any_layout
      virtio-scsi: add target swap for VirtIOSCSICtrlTMFReq fields
      virtio-scsi: add extra argument and return type to qemu_sgl_concat
      virtio-scsi: prepare sense data handling for any_layout
      virtio-scsi: introduce virtio_scsi_complete_cmd_req
      virtio-scsi: add support for the any_layout feature

Paul Janzen (1):
      scsi-disk.c: Fix compilation with -DDEBUG_SCSI

Peter Lieven (3):
      block/iscsi: handle BUSY condition
      block/iscsi: fix potential segfault on early callback
      block/iscsi: use 16 byte CDBs only when necessary

Ulrich Obergfell (1):
      scsi-disk: fix bug in scsi_block_new_request() introduced by commit 137745c

 block/iscsi.c                   | 118 +++++++++++----
 hw/scsi/megasas.c               |  16 +-
 hw/scsi/scsi-bus.c              |   4 +-
 hw/scsi/scsi-disk.c             |   7 +-
 hw/scsi/spapr_vscsi.c           |   5 +-
 hw/scsi/virtio-scsi.c           | 314 ++++++++++++++++++++++++----------------
 include/block/scsi.h            |   2 +
 include/hw/i386/pc.h            |   4 +
 include/hw/virtio/virtio-scsi.h |   4 +-
 include/qemu-common.h           |   6 +-
 util/iov.c                      |  10 +-
 11 files changed, 311 insertions(+), 179 deletions(-)

Comments

Peter Maydell June 18, 2014, 3:30 p.m. UTC | #1
On 18 June 2014 14:26, Paolo Bonzini <pbonzini@redhat.com> wrote:
> The following changes since commit af44da87e926ff64260b95f4350d338c4fc113ca:
>
>   Merge remote-tracking branch 'remotes/agraf/tags/signed-ppc-for-upstream' into staging (2014-06-16 18:26:21 +0100)
>
> are available in the git repository at:
>
>
>   git://github.com/bonzini/qemu.git scsi-next
>
> for you to fetch changes up to 3eff1f46f08a360a4ae9f834ce9fef4c45bf6f0f:
>
>   virtio-scsi: add support for the any_layout feature (2014-06-18 08:47:11 +0200)

Hi; I'm afraid this fails to build for me:

/home/petmay01/linaro/qemu-for-merges/block/iscsi.c: In function
‘iscsi_co_generic_cb’:
/home/petmay01/linaro/qemu-for-merges/block/iscsi.c:187:27: error:
‘SCSI_STATUS_BUSY’ undeclared (first use in this function)
             if (status == SCSI_STATUS_BUSY) {
                           ^
/home/petmay01/linaro/qemu-for-merges/block/iscsi.c:187:27: note: each
undeclared identifier is reported only once for each function it
appears in
/home/petmay01/linaro/qemu-for-merges/block/iscsi.c: In function
‘iscsi_co_writev’:
/home/petmay01/linaro/qemu-for-merges/block/iscsi.c:394:41: error:
passing argument 3 of ‘iscsi_write10_task’ makes pointer from integer
without a cast [-Werror]
                                         iscsi_co_generic_cb, &iTask);
                                         ^
In file included from /home/petmay01/linaro/qemu-for-merges/block/iscsi.c:43:0:
/usr/include/iscsi/iscsi.h:610:1: note: expected ‘unsigned char *’ but
argument is of type ‘uint64_t’
 iscsi_write10_task(struct iscsi_context *iscsi, int lun,
 ^
/home/petmay01/linaro/qemu-for-merges/block/iscsi.c:394:41: error:
passing argument 4 of ‘iscsi_write10_task’ makes integer from pointer
without a cast [-Werror]
                                         iscsi_co_generic_cb, &iTask);
                                         ^
In file included from /home/petmay01/linaro/qemu-for-merges/block/iscsi.c:43:0:
/usr/include/iscsi/iscsi.h:610:1: note: expected ‘uint32_t’ but
argument is of type ‘uint8_t *’
 iscsi_write10_task(struct iscsi_context *iscsi, int lun,
 ^
/home/petmay01/linaro/qemu-for-merges/block/iscsi.c:394:41: error: too
many arguments to function ‘iscsi_write10_task’
                                         iscsi_co_generic_cb, &iTask);
                                         ^
In file included from /home/petmay01/linaro/qemu-for-merges/block/iscsi.c:43:0:
/usr/include/iscsi/iscsi.h:610:1: note: declared here
 iscsi_write10_task(struct iscsi_context *iscsi, int lun,
 ^
cc1: all warnings being treated as errors
make: *** [block/iscsi.o] Error 1


thanks
-- PMM
Paolo Bonzini June 18, 2014, 3:47 p.m. UTC | #2
Il 18/06/2014 17:30, Peter Maydell ha scritto:
> On 18 June 2014 14:26, Paolo Bonzini <pbonzini@redhat.com> wrote:
>> The following changes since commit af44da87e926ff64260b95f4350d338c4fc113ca:
>>
>>   Merge remote-tracking branch 'remotes/agraf/tags/signed-ppc-for-upstream' into staging (2014-06-16 18:26:21 +0100)
>>
>> are available in the git repository at:
>>
>>
>>   git://github.com/bonzini/qemu.git scsi-next
>>
>> for you to fetch changes up to 3eff1f46f08a360a4ae9f834ce9fef4c45bf6f0f:
>>
>>   virtio-scsi: add support for the any_layout feature (2014-06-18 08:47:11 +0200)
>
> Hi; I'm afraid this fails to build for me:

Looks like your libiscsi is too old.

Paolo

> /home/petmay01/linaro/qemu-for-merges/block/iscsi.c: In function
> ‘iscsi_co_generic_cb’:
> /home/petmay01/linaro/qemu-for-merges/block/iscsi.c:187:27: error:
> ‘SCSI_STATUS_BUSY’ undeclared (first use in this function)
>              if (status == SCSI_STATUS_BUSY) {
>                            ^
> /home/petmay01/linaro/qemu-for-merges/block/iscsi.c:187:27: note: each
> undeclared identifier is reported only once for each function it
> appears in
> /home/petmay01/linaro/qemu-for-merges/block/iscsi.c: In function
> ‘iscsi_co_writev’:
> /home/petmay01/linaro/qemu-for-merges/block/iscsi.c:394:41: error:
> passing argument 3 of ‘iscsi_write10_task’ makes pointer from integer
> without a cast [-Werror]
>                                          iscsi_co_generic_cb, &iTask);
>                                          ^
> In file included from /home/petmay01/linaro/qemu-for-merges/block/iscsi.c:43:0:
> /usr/include/iscsi/iscsi.h:610:1: note: expected ‘unsigned char *’ but
> argument is of type ‘uint64_t’
>  iscsi_write10_task(struct iscsi_context *iscsi, int lun,
>  ^
> /home/petmay01/linaro/qemu-for-merges/block/iscsi.c:394:41: error:
> passing argument 4 of ‘iscsi_write10_task’ makes integer from pointer
> without a cast [-Werror]
>                                          iscsi_co_generic_cb, &iTask);
>                                          ^
> In file included from /home/petmay01/linaro/qemu-for-merges/block/iscsi.c:43:0:
> /usr/include/iscsi/iscsi.h:610:1: note: expected ‘uint32_t’ but
> argument is of type ‘uint8_t *’
>  iscsi_write10_task(struct iscsi_context *iscsi, int lun,
>  ^
> /home/petmay01/linaro/qemu-for-merges/block/iscsi.c:394:41: error: too
> many arguments to function ‘iscsi_write10_task’
>                                          iscsi_co_generic_cb, &iTask);
>                                          ^
> In file included from /home/petmay01/linaro/qemu-for-merges/block/iscsi.c:43:0:
> /usr/include/iscsi/iscsi.h:610:1: note: declared here
>  iscsi_write10_task(struct iscsi_context *iscsi, int lun,
>  ^
> cc1: all warnings being treated as errors
> make: *** [block/iscsi.o] Error 1
>
>
> thanks
> -- PMM
>
Peter Maydell June 18, 2014, 3:53 p.m. UTC | #3
On 18 June 2014 16:47, Paolo Bonzini <pbonzini@redhat.com> wrote:
> Il 18/06/2014 17:30, Peter Maydell ha scritto:
>> Hi; I'm afraid this fails to build for me:
>
>
> Looks like your libiscsi is too old.

Then you probably need to fix the configure test ;-) This is
Ubuntu Trusty so really pretty recent (it's my main x86 build
machine, not some oddball platform); libiscsi-dev 1.4.0-3.

thanks
-- PMM
Paolo Bonzini June 18, 2014, 3:57 p.m. UTC | #4
Il 18/06/2014 17:53, Peter Maydell ha scritto:
> Then you probably need to fix the configure test ;-) This is
> Ubuntu Trusty so really pretty recent (it's my main x86 build
> machine, not some oddball platform); libiscsi-dev 1.4.0-3.

This is a very old release.  I'll apply Peter's patch to disable 
libiscsi for pre-1.9.0 versions and respin the pull request.

I didn't want to do that because 1.4.0->1.9.0 breaks ABI, but Peter 
thinks that versions before 1.8.0 are not reliable anyway.

If Ubuntu wants to distribute both 1.4.0 and 1.9.0, they can move 1.9.0 
header files to a separate directory using pkgconfig (1.4.0 does not 
support pkgconfig).

Paolo
ronnie sahlberg June 18, 2014, 4:06 p.m. UTC | #5
On Wed, Jun 18, 2014 at 8:57 AM, Paolo Bonzini <pbonzini@redhat.com> wrote:
> Il 18/06/2014 17:53, Peter Maydell ha scritto:
>
>> Then you probably need to fix the configure test ;-) This is
>> Ubuntu Trusty so really pretty recent (it's my main x86 build
>> machine, not some oddball platform); libiscsi-dev 1.4.0-3.
>
>
> This is a very old release.  I'll apply Peter's patch to disable libiscsi
> for pre-1.9.0 versions and respin the pull request.
>
> I didn't want to do that because 1.4.0->1.9.0 breaks ABI, but Peter thinks
> that versions before 1.8.0 are not reliable anyway.

+1

Versions prior are good for causal use but Peter is the authority on
production use here.
I think qemu should have a configure check and just force disable
iscsi support if libiscsi < 1.9.0


>
> If Ubuntu wants to distribute both 1.4.0 and 1.9.0, they can move 1.9.0
> header files to a separate directory using pkgconfig (1.4.0 does not support
> pkgconfig).
>
> Paolo
>
Paolo Bonzini June 18, 2014, 4:07 p.m. UTC | #6
Il 18/06/2014 18:06, ronnie sahlberg ha scritto:
>> > This is a very old release.  I'll apply Peter's patch to disable libiscsi
>> > for pre-1.9.0 versions and respin the pull request.
>> >
>> > I didn't want to do that because 1.4.0->1.9.0 breaks ABI, but Peter thinks
>> > that versions before 1.8.0 are not reliable anyway.
> +1
>
> Versions prior are good for causal use but Peter is the authority on
> production use here.
> I think qemu should have a configure check and just force disable
> iscsi support if libiscsi < 1.9.0

But you should stop breaking the ABI, coz you make it more complicated 
for distros to upgrade your library! :)

Paolo