From: Hannes Reinecke <hare@suse.de>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: Paul Brook <paul@codesourcery.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [sneak preview] major scsi overhaul
Date: Thu, 26 Nov 2009 08:31:20 +0100 [thread overview]
Message-ID: <4B0E2EC8.7040309@suse.de> (raw)
In-Reply-To: <4B0D5D36.6080100@redhat.com>
Gerd Hoffmann wrote:
> On 11/24/09 14:51, Paul Brook wrote:
>> On Tuesday 24 November 2009, Gerd Hoffmann wrote:
>>> On 11/16/09 19:53, Paul Brook wrote:
>>>> Capping the amount of memory required for a transfer *is*
>>>> implemented, in
>>>> both LSI and virtio-blk. The exception being SCSI passthrough where
>>>> the
>>>> kernel API makes it impossible.
>>>
>>> Well. Figured while doing more testing: The allowed request size is
>>> limited by the kernel, so scsi-generic requests larger than (currently)
>>> 128k fail.
>>>
>>> Now, how to handle *that*? Is there some way to signal to the guest
>>> that the request was to big?
>>
>> Same as real hardware. Probably also want to populate the Block
>> Limits VPD
>> page appropriately
>
> Some experiements later.
>
> Linux reads the block limits vpd, but seems to ignore the hard limit.
>
Ah. Maybe we should fix that up then ...
> Answering large requests with "Illegal request, Invalid field in CDB"
> doesn't makes linux try smaller requests, instead it reports I/O errors
> to the syslog.
>
> Hmm.
>
Can't we just put residuals to good use here?
Ie finish up the request up to the size we can handle, and return the
original request with the transfer size set correctly.
Then the SCSI stack of the guest should retry the leftovers, which
then we should be able to handle. Or redo from start until we are
able to.
Should be straightforward to implement, one would assume.
And we could probably encapsulate it entirely within the bdrv
as don't actually need to expose those limits when the block
driver layer is handling it correctly.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)
next prev parent reply other threads:[~2009-11-26 7:31 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-06 23:09 [Qemu-devel] [sneak preview] major scsi overhaul Gerd Hoffmann
2009-11-07 15:22 ` Blue Swirl
2009-11-09 9:08 ` Gerd Hoffmann
2009-11-09 12:37 ` Avi Kivity
2009-11-09 13:03 ` Gerd Hoffmann
2009-11-09 13:17 ` Avi Kivity
2009-11-09 13:39 ` Gerd Hoffmann
2009-11-09 13:48 ` Avi Kivity
2009-11-09 20:38 ` Blue Swirl
2009-11-09 21:25 ` Gerd Hoffmann
2009-11-11 4:06 ` Paul Brook
2009-11-11 9:41 ` Gerd Hoffmann
2009-11-11 14:13 ` Paul Brook
2009-11-11 15:26 ` Gerd Hoffmann
2009-11-11 16:38 ` Paul Brook
2009-11-16 16:35 ` Gerd Hoffmann
2009-11-16 18:53 ` Paul Brook
2009-11-16 21:50 ` Gerd Hoffmann
2009-11-24 11:59 ` Gerd Hoffmann
2009-11-24 13:51 ` Paul Brook
2009-11-25 16:37 ` Gerd Hoffmann
2009-11-26 7:31 ` Hannes Reinecke [this message]
2009-11-26 8:25 ` Gerd Hoffmann
2009-11-26 10:57 ` Hannes Reinecke
2009-11-26 11:04 ` Gerd Hoffmann
2009-11-26 11:20 ` Hannes Reinecke
2009-11-26 14:21 ` Gerd Hoffmann
2009-11-26 14:27 ` Hannes Reinecke
2009-11-26 14:37 ` Gerd Hoffmann
2009-11-26 15:50 ` Hannes Reinecke
2009-11-27 11:08 ` Gerd Hoffmann
2009-12-02 13:47 ` Gerd Hoffmann
2009-12-07 8:28 ` Hannes Reinecke
2009-12-07 8:50 ` Gerd Hoffmann
2009-11-16 19:08 ` Ryan Harper
2009-11-16 20:40 ` Gerd Hoffmann
2009-11-16 21:45 ` Ryan Harper
2009-11-11 11:21 ` [Qemu-devel] " Gerd Hoffmann
2009-11-11 11:52 ` Hannes Reinecke
2009-11-11 13:02 ` Gerd Hoffmann
2009-11-11 13:30 ` Hannes Reinecke
2009-11-11 14:37 ` Gerd Hoffmann
2009-11-12 9:54 ` Hannes Reinecke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B0E2EC8.7040309@suse.de \
--to=hare@suse.de \
--cc=kraxel@redhat.com \
--cc=paul@codesourcery.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).