From: Stefan Priebe <s.priebe@profihost.ag>
To: Josh Durgin <josh.durgin@inktank.com>
Cc: "ceph-devel@vger.kernel.org" <ceph-devel@vger.kernel.org>
Subject: Re: [BUG] rbd discard should return OK even if rbd file does not exist
Date: Sun, 18 Nov 2012 21:44:13 +0100 [thread overview]
Message-ID: <50A9489D.9080504@profihost.ag> (raw)
In-Reply-To: <50A84A26.20902@inktank.com>
mhm ok the finalize is only called if building is false and there are no
pending requests. But the discard issued is a bunch of 1000 requests or
so. So the finalize is only called in the end. And it seems this is too
late for qemu block driver.
Greets,
Stefan
Am 18.11.2012 03:38, schrieb Josh Durgin:
> On 11/17/2012 02:19 PM, Stefan Priebe wrote:
>> Hello list,
>>
>> right now librbd returns an error if i issue a discard for a sector /
>> byterange where ceph does not have any file as i had never written to
>> this section.
>
> Thanks for bringing this up again. I haven't had time to dig deeper
> into it yet, but I definitely want to fix this for bobtail.
>
>> This is not correct. It should return 0 / OK in this case.
>>
>> Stefan
>>
>> Examplelog:
>> 2012-11-02 21:06:17.649922 7f745f7fe700 20 librbd::AioRequest: WRITE_FLAT
>> 2012-11-02 21:06:17.649924 7f745f7fe700 20 librbd::AioCompletion:
>> AioCompletion::complete_request() this=0x7f72cc05bd20
>> complete_cb=0x7f747021d4b0
>> 2012-11-02 21:06:17.649924 7f747015c780 1 -- 10.10.0.2:0/2028325 -->
>> 10.10.0.18:6803/9687 -- osd_op(client.26862.0:3073
>> rb.0.1044.359ed6c7.000000000bde [delete] 3.bd84636 snapc 2=[]) v4 -- ?+0
>> 0x7f72d81c69b0 con 0x7f74600dbf50
>> 2012-11-02 21:06:17.649934 7f747015c780 20 librbd: oid
>> rb.0.1044.359ed6c7.000000000bdf 0~4194304 from [4156556288,4194304]
>> 2012-11-02 21:06:17.649972 7f7465a6e700 1 -- 10.10.0.2:0/2028325 <==
>> osd.1202 10.10.0.18:6806/9821 143 ==== osd_op_reply(1652
>> rb.0.1044.359ed6c7.000000000652 [delete] ondisk = -2 (No such file or
>> directory)) v4 ==== 130+0+0 (2964367729 0 0) 0x7f72dc0f0090 con
>> 0x7f74600e4350
>> 2012-11-02 21:06:17.649994 7f745f7fe700 20 librbd::AioRequest: write
>> 0x7f74600feab0 should_complete: r = -2
>
> This last line isn't printing what's actually being returned to the
> application. It's still in librbd's internal processing, and will be
> converted to 0 for the application.
>
> Could you try with the master or next branches? After the
> 'should_complete' line, there should be a line like:
>
> <date> <time> <thread_id> 20 librbd::AioCompletion:
> AioCompletion::finalize() rval 0 ...
>
> That 'rval 0' shows the actual return value the application (qemu in
> this case) will see.
>
> Josh
next prev parent reply other threads:[~2012-11-18 20:44 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-17 22:19 [BUG] rbd discard should return OK even if rbd file does not exist Stefan Priebe
2012-11-18 2:38 ` Josh Durgin
2012-11-18 6:33 ` Stefan Priebe - Profihost AG
2012-11-18 12:27 ` Stefan Priebe - Profihost AG
2012-11-18 19:00 ` Stefan Priebe - Profihost AG
2012-11-18 20:44 ` Stefan Priebe [this message]
2012-11-19 8:38 ` Stefan Priebe - Profihost AG
2012-11-19 9:42 ` Stefan Priebe - Profihost AG
2012-11-19 10:15 ` Stefan Priebe - Profihost AG
2012-11-19 10:17 ` 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=50A9489D.9080504@profihost.ag \
--to=s.priebe@profihost.ag \
--cc=ceph-devel@vger.kernel.org \
--cc=josh.durgin@inktank.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.