From: Kevin Wolf <kwolf@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: qemu-devel@nongnu.org, Fam Zheng <famz@redhat.com>,
Ronnie Sahlberg <ronniesahlberg@gmail.com>,
qemu-block@nongnu.org, Peter Lieven <pl@kamp.de>,
mreitz@redhat.com, Stefan Hajnoczi <stefanha@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 5/5] block: Move request_alignment into BlockLimit
Date: Tue, 7 Jun 2016 12:08:10 +0200 [thread overview]
Message-ID: <20160607100810.GB4684@noname.str.redhat.com> (raw)
In-Reply-To: <5751F9E8.6090900@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 2522 bytes --]
Am 03.06.2016 um 23:43 hat Eric Blake geschrieben:
> On 06/03/2016 11:49 AM, Eric Blake wrote:
> > On 06/03/2016 11:03 AM, Eric Blake wrote:
> >> It makes more sense to have ALL block size limit constraints
> >> in the same struct. Improve the documentation while at it.
> >>
> >> Note that bdrv_refresh_limits() has to keep things alive across
> >> a memset() of BlockLimits.
> >>
> >> Signed-off-by: Eric Blake <eblake@redhat.com>
> >> ---
> >> include/block/block_int.h | 12 ++++++++----
> >> block.c | 4 ++--
> >> block/blkdebug.c | 4 ++--
> >> block/bochs.c | 2 +-
> >> block/cloop.c | 2 +-
> >> block/dmg.c | 2 +-
> >> block/io.c | 12 +++++++-----
> >> block/iscsi.c | 2 +-
> >> block/raw-posix.c | 16 ++++++++--------
> >> block/raw-win32.c | 6 +++---
> >> block/vvfat.c | 2 +-
> >> 11 files changed, 35 insertions(+), 29 deletions(-)
> >
> > Something in this patch is causing qemu-iotests 77 to infloop; we may
> > decide it is just easier to drop this patch rather than find all the
> > places where the request_alignment must be preserved across what
> > otherwise zeroes out limits.
>
> Found it; squash this in (or use it as an argument why we don't want
> request_alignment in bs->bl after all):
This hunk doesn't make sense to me. For the correctness of the code it
shouldn't make a difference whether the alignment happens before passing
the request to file/raw-posix or already in the raw format layer.
The cause for the hang you're seeing is probably that the request is
already aligned before the blkdebug layer and therefore the blkdebug
events aren't generated any more. That's a problem with the test (I'm
considering the blkdebug events part of the test infrastructure),
however, and not with the code.
Kevin
> diff --git i/block/raw_bsd.c w/block/raw_bsd.c
> index b1d5237..c3c2246 100644
> --- i/block/raw_bsd.c
> +++ w/block/raw_bsd.c
> @@ -152,7 +152,11 @@ static int raw_get_info(BlockDriverState *bs,
> BlockDriverInfo *bdi)
>
> static void raw_refresh_limits(BlockDriverState *bs, Error **errp)
> {
> + /* Inherit all limits except for request_alignment */
> + int request_alignment = bs->bl.request_alignment;
> +
> bs->bl = bs->file->bs->bl;
> + bs->bl.request_alignment = request_alignment;
> }
>
> static int raw_truncate(BlockDriverState *bs, int64_t offset)
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2016-06-07 10:08 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-03 17:03 [Qemu-devel] [PATCH 0/5] Byte-based block limits Eric Blake
2016-06-03 17:03 ` [Qemu-devel] [PATCH 1/5] block: Tighter assertions on bdrv_aligned_preadv() Eric Blake
2016-06-07 12:15 ` Kevin Wolf
2016-06-03 17:03 ` [Qemu-devel] [PATCH 2/5] block: Honor flags during bdrv_aligned_preadv() Eric Blake
2016-06-07 12:12 ` Kevin Wolf
2016-06-11 21:43 ` Eric Blake
2016-06-03 17:03 ` [Qemu-devel] [PATCH 3/5] block: Switch transfer length bounds to byte-based Eric Blake
2016-06-07 12:45 ` Kevin Wolf
2016-06-11 22:06 ` Eric Blake
2016-06-14 8:20 ` Kevin Wolf
2016-06-03 17:03 ` [Qemu-devel] [PATCH 4/5] block: Switch discard " Eric Blake
2016-06-07 13:12 ` Kevin Wolf
2016-06-03 17:03 ` [Qemu-devel] [PATCH 5/5] block: Move request_alignment into BlockLimit Eric Blake
2016-06-03 17:49 ` Eric Blake
2016-06-03 21:43 ` Eric Blake
2016-06-07 10:08 ` Kevin Wolf [this message]
2016-06-07 11:04 ` Paolo Bonzini
2016-06-07 11:24 ` Kevin Wolf
2016-06-14 4:39 ` Eric Blake
2016-06-14 8:05 ` Kevin Wolf
2016-06-14 14:47 ` Eric Blake
2016-06-14 15:30 ` Kevin Wolf
2016-06-07 13:19 ` Kevin Wolf
2016-06-03 23:06 ` [Qemu-devel] [PATCH 6/5] block: Fix harmless off-by-one in bdrv_aligned_preadv() Eric Blake
2016-06-07 13:47 ` Kevin Wolf
2016-06-03 23:13 ` [Qemu-devel] [PATCH 7/5] block: Refactor zero_beyond_eof hack " Eric Blake
2016-06-07 13:49 ` Kevin Wolf
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=20160607100810.GB4684@noname.str.redhat.com \
--to=kwolf@redhat.com \
--cc=eblake@redhat.com \
--cc=famz@redhat.com \
--cc=mreitz@redhat.com \
--cc=pbonzini@redhat.com \
--cc=pl@kamp.de \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=ronniesahlberg@gmail.com \
--cc=stefanha@redhat.com \
/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).