From: Stefan Priebe - Profihost AG <s.priebe@profihost.ag>
To: Paolo Bonzini <pbonzini@redhat.com>
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 15:48:39 +0100 [thread overview]
Message-ID: <50AA46C7.2070104@profihost.ag> (raw)
In-Reply-To: <50AA4507.4080401@redhat.com>
Am 19.11.2012 15:41, schrieb Paolo Bonzini:
> Il 19/11/2012 15:28, Stefan Priebe - Profihost AG ha scritto:
>> typedef struct RADOSCB {
>> @@ -376,6 +377,10 @@ static void qemu_rbd_complete_aio(RADOSCB *rcb)
>> RBDAIOCB *acb = rcb->acb;
>> int64_t r;
>>
>> + if (acb->bh) {
>> + return;
>> + }
>> +
>> r = rcb->ret;
>>
>> if (acb->cmd == RBD_AIO_WRITE ||
>> @@ -560,6 +565,20 @@ static void qemu_rbd_close(BlockDriverState *bs)
>> rados_shutdown(s->cluster);
>> }
>>
>> +static void qemu_rbd_aio_abort(void *private_data)
>> +{
>> + RBDAIOCB *acb = (RBDAIOCB *) private_data;
>> +
>> + acb->status = -ECANCELED;
>> +
>> + if (acb->bh) {
>> + return;
>> + }
>> +
>> + acb->bh = qemu_bh_new(rbd_aio_bh_cb, acb);
>> + qemu_bh_schedule(acb->bh);
>> +}
>
> I think this is all unneeded. Just store rcb->ret into
> rcb->acb->status, and your version of qemu_rbd_aio_cancel should just work.
>
> Also, I think the acb->cancelled field is not necessary anymore after
> these changes.
The iscsi driver still relies on canceled that's why i left it here in too.
So you mean in qemu_rbd_complete_aio i should remove the check for
cancelled and then just overwrite acb->status to that it changes from
-EINPROGRESS to something else?
And qemu_rbd_aio_cancel should just wait for status != -EINPROGRESS?
Stefan
next prev parent reply other threads:[~2012-11-19 14:49 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
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 [this message]
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=50AA46C7.2070104@profihost.ag \
--to=s.priebe@profihost.ag \
--cc=josh.durgin@inktank.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--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).