From: Dominique Martinet <dominique.martinet@atmark-techno.com>
To: Stefano Garzarella <sgarzare@redhat.com>
Cc: Aarushi Mehta <mehta.aaru20@gmail.com>,
Julia Suvorova <jusual@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
qemu-block@nongnu.org, qemu-devel@nongnu.org,
Filipe Manana <fdmanana@kernel.org>
Subject: Re: [PATCH v2] io_uring: fix short read slow path
Date: Fri, 1 Jul 2022 10:33:19 +0900 [thread overview]
Message-ID: <Yr5O3/RFN/gvabTc@atmark-techno.com> (raw)
In-Reply-To: <Yr4pLwz5vQJhmvki@atmark-techno.com>
Dominique Martinet wrote on Fri, Jul 01, 2022 at 07:52:31AM +0900:
> Stefano Garzarella wrote on Thu, Jun 30, 2022 at 05:49:21PM +0200:
> > > so when we ask for more we issue an extra short reads, making sure we go
> > > through the two short reads path.
> > > (Unfortunately I wasn't quite sure what to fiddle with to issue short
> > > reads in the first place, I tried cutting one of the iovs short in
> > > luring_do_submit() but I must not have been doing it properly as I ended
> > > up with 0 return values which are handled by filling in with 0 (reads
> > > after eof) and that didn't work well)
> >
> > Do you remember the kernel version where you first saw these problems?
>
> Since you're quoting my paragraph about testing two short reads, I've
> never seen any that I know of; but there's also no reason these couldn't
> happen.
>
> Single short reads have been happening for me with O_DIRECT (cache=none)
> on btrfs for a while, but unfortunately I cannot remember which was the
> first kernel I've seen this on -- I think rather than a kernel update it
> was due to file manipulations that made the file eligible for short
> reads in the first place (I started running deduplication on the backing
> file)
>
> The older kernel I have installed right now is 5.16 and that can
> reproduce it -- I'll give my laptop some work over the weekend to test
> still maintained stable branches if that's useful.
I can confirm the same behavior happens with 5.4.202
I'm not sure about older kernels as my io_uring test that reproduces
short reads just doesn't start on these, but for all intent and purposes
we can probably say this has just always been possible.
The fix Filipe sent me unfortunately doesn't apply as far back as 5.4
(btrfs_get_blocks_direct had no flags argument back then, that got
introduced with conversion to dio in 5.8), but should probably work as
is for 5.10/15 kernels.
--
Dominique
next prev parent reply other threads:[~2022-07-01 1:34 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-29 4:49 [PATCH] io_uring: fix short read slow path corruptions Dominique Martinet
2022-06-29 5:23 ` Dominique Martinet
2022-06-29 8:46 ` Kevin Wolf
2022-06-29 10:22 ` Dominique Martinet
2022-06-30 1:01 ` [PATCH v2] io_uring: fix short read slow path Dominique Martinet
2022-06-30 15:43 ` Hanna Reitz
2022-06-30 15:49 ` Stefano Garzarella
2022-06-30 22:52 ` Dominique Martinet
2022-07-01 1:33 ` Dominique Martinet [this message]
2022-07-05 13:28 ` Stefan Hajnoczi
2022-07-05 19:23 ` Jens Axboe
2022-07-06 7:16 ` Stefan Hajnoczi
2022-07-05 22:52 ` Dominique Martinet
2022-07-06 7:17 ` Stefan Hajnoczi
2022-07-06 7:26 ` Dominique Martinet
2022-07-06 7:51 ` Stefan Hajnoczi
2022-07-05 13:34 ` Stefan Hajnoczi
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=Yr5O3/RFN/gvabTc@atmark-techno.com \
--to=dominique.martinet@atmark-techno.com \
--cc=fdmanana@kernel.org \
--cc=hreitz@redhat.com \
--cc=jusual@redhat.com \
--cc=kwolf@redhat.com \
--cc=mehta.aaru20@gmail.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=sgarzare@redhat.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 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.