[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/3] Add specialized block driver scsi generic A
From: |
Christoph Hellwig |
Subject: |
Re: [Qemu-devel] [PATCH 1/3] Add specialized block driver scsi generic API |
Date: |
Sun, 15 Mar 2009 16:06:34 +0100 |
User-agent: |
Mutt/1.3.28i |
On Sun, Mar 15, 2009 at 04:57:53PM +0200, Avi Kivity wrote:
> Christoph Hellwig wrote:
> >The patch series (now posted) makes all aio APIs use iovecs. The
> >current non-iovec based SG API would require some nasty shims allocating
> >nested aiocbs. Or we could just make the sg aio methods fake-ioveced
> >which is the solution I had before your split, always adding a
> >one-element iovec to the scsi-generic request structure.
> >
>
> I'd go for having everything vectored. It's how non-1962 hardware works.
Yeah, that's what I did for regular block I/O in my series.
scsi-generic is a little different beast, though. qemu uses the legacy
(not sure if it's formally deprecated) read/write support on /dev/sg
which doen't support vectored I/O. If we want to use vectored I/O
with sg we'd have to use the SG_IO ioctl (which also has the advantage
of working with all sd/sr/ide/etc block devices). But supporting that
would probably require very different APIs then the current (aio-)
read/writeish one.
[Qemu-devel] [PATCH 3/3] Drop internal bdrv_pread()/bdrv_pwrite() APIs, Avi Kivity, 2009/03/12
[Qemu-devel] [PATCH 2/3] Add internal scsi generic block API, Avi Kivity, 2009/03/12
[Qemu-devel] Re: [PATCH 0/3] Remove ->bdrv_pread() internal block layer API (v2), Anthony Liguori, 2009/03/12