From: Paolo Bonzini <pbonzini@redhat.com>
To: Stefan Priebe - Profihost AG <s.priebe@profihost.ag>
Cc: josh.durgin@inktank.com, qemu-devel@nongnu.org, sage@newdream.net
Subject: Re: [Qemu-devel] scsi-hd with discard_granularity and unmap results in Aborted Commands
Date: Mon, 19 Nov 2012 13:24:07 +0100 [thread overview]
Message-ID: <50AA24E7.7010009@redhat.com> (raw)
In-Reply-To: <50AA1CE7.7090100@profihost.ag>
Il 19/11/2012 12:49, Stefan Priebe - Profihost AG ha scritto:
>>
>> It still causes hangs no? Though it works apart from that.
>
> iscsi/libiscsi and discards works fine since your latest patches:
> 1bd075f29ea6d11853475c7c42734595720c3ac6
> cfb3f5064af2d2e29c976e292c9472dfe9d61e31
> 27cbd828c617944c0f9603763fdf4fa87e7ad923
> b20909195745c34a819aed14ae996b60ab0f591f
Does the console still hang though?
> But in rbd it starts to cancel the discard requests. Both using the same
> guest and host kernel with the same QEMU version.
rbd's cancellation is broken like libiscsi's was. So the cancellation
succeeds apparently, but it is subject to the same race introduced in
commit 64e69e8 (iscsi: Fix NULL dereferences / races between task
completion and abort, 2012-08-15) for libiscsi.
It risks corruption in case the following happens:
guest qemu rbd server
=========================================================================
send write 1 -------->
send write 1 ------>
cancel write 1 ------>
cancel write 1 ---->
<------------------ cancelled
send write 2 -------->
send write 2 ------>
<--------------- completed write 2
<------------------ completed write 2
<--------------- completed write 1
Here, the guest would see write 2 superseding write 1, when in fact the
outcome could have been the opposite. The right behavior is to return
only after the target says whether the cancellation was done or not.
For libiscsi, it was implemented by the commits you mention.
Paolo
next prev parent reply other threads:[~2012-11-19 12:24 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-18 21:49 [Qemu-devel] [PATCH RFT 0/3] iscsi: fix NULL dereferences / races between task completion and abort Paolo Bonzini
2012-08-18 21:49 ` [Qemu-devel] [PATCH 1/3] iscsi: move iscsi_schedule_bh and iscsi_readv_writev_bh_cb Paolo Bonzini
2012-08-18 21:49 ` [Qemu-devel] [PATCH 2/3] iscsi: simplify iscsi_schedule_bh Paolo Bonzini
2012-08-18 21:49 ` [Qemu-devel] [PATCH 3/3] iscsi: fix races between task completion and abort Paolo Bonzini
2012-08-19 7:55 ` [Qemu-devel] [PATCH RFT 0/3] iscsi: fix NULL dereferences / " Stefan Priebe
2012-08-19 13:11 ` Paolo Bonzini
2012-08-19 19:22 ` Stefan Priebe - Profihost AG
2012-08-20 7:22 ` Paolo Bonzini
2012-08-20 7:34 ` Stefan Priebe - Profihost AG
2012-08-20 8:08 ` Paolo Bonzini
2012-08-20 8:12 ` Stefan Priebe - Profihost AG
2012-08-20 22:36 ` ronnie sahlberg
2012-08-21 7:22 ` Stefan Priebe - Profihost AG
2012-08-21 7:30 ` Paolo Bonzini
2012-11-06 8:41 ` [Qemu-devel] scsi-hd with discard_granularity and unmap results in Aborted Commands Stefan Priebe - Profihost AG
2012-11-06 22:42 ` Paolo Bonzini
2012-11-07 18:57 ` Stefan Priebe
2012-11-18 22:00 ` Stefan Priebe
2012-11-19 8:10 ` Paolo Bonzini
2012-11-19 9:36 ` Stefan Priebe - Profihost AG
2012-11-19 9:54 ` Paolo Bonzini
2012-11-19 9:59 ` Stefan Priebe - Profihost AG
2012-11-19 10:06 ` Paolo Bonzini
2012-11-19 10:13 ` Stefan Priebe - Profihost AG
2012-11-19 10:23 ` Paolo Bonzini
2012-11-19 10:30 ` Stefan Priebe - Profihost AG
2012-11-19 10:36 ` Paolo Bonzini
2012-11-19 10:57 ` Stefan Priebe - Profihost AG
2012-11-19 11:16 ` Paolo Bonzini
2012-11-19 11:49 ` Stefan Priebe - Profihost AG
2012-11-19 12:24 ` Paolo Bonzini [this message]
2012-11-19 13:01 ` Stefan Priebe - Profihost AG
2012-11-19 13:06 ` Paolo Bonzini
2012-11-19 14:16 ` Stefan Priebe - Profihost AG
2012-11-19 14:32 ` Paolo Bonzini
2012-11-19 14:28 ` Stefan Priebe - Profihost AG
2012-11-19 14:41 ` Paolo Bonzini
2012-11-19 14:48 ` Stefan Priebe - Profihost AG
2012-11-19 15:03 ` Paolo Bonzini
2012-11-19 15:04 ` Stefan Priebe - Profihost AG
2012-11-19 15:22 ` Paolo Bonzini
2012-11-19 15:58 ` Stefan Priebe - Profihost AG
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=50AA24E7.7010009@redhat.com \
--to=pbonzini@redhat.com \
--cc=josh.durgin@inktank.com \
--cc=qemu-devel@nongnu.org \
--cc=s.priebe@profihost.ag \
--cc=sage@newdream.net \
/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).