From: Jens Axboe <[email protected]>
To: Ashlie Martinez <[email protected]>, [email protected]
Subject: Re: fsync with SETUP_IOPOLL and SETUP_SQPOLL
Date: Tue, 10 Mar 2020 07:22:08 -0600 [thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <CA+KEPO_-7woKF=eNV0jnuT+JOFW43im3dxzZMJTuPbSns638pw@mail.gmail.com>
On 3/9/20 7:31 PM, Ashlie Martinez wrote:
> Hello,
>
> I am playing around with some of the newer io_uring features on kernel
> 5.6-rc4 and I was curious why fsync always returns EINVAL when the
> SETUP_IOPOLL flag is set when running on a file system (in my case xfs
> since it supports iopoll). Is this because you expect all changes to
> already be persisted on disk already? Do the assumptions change if for
> this if one is using a file system rather than a raw block device (ex.
> would I also need to use O_SYNC in addition to O_DIRECT at file-open
> time)?
>
> I am not super familiar with io_uring and how it interacts with file
> systems vs. block devices, so any insights would be appreciated.
Polled IO cannot support any operation that needs to block for
completion, as the task submitting IO is also the one that needs to find
and reap completions. That's why you get -EINVAL when attempting to do
so.
You could potentially have a non-polled ring that you use for fsync in
combination with the polled ring. At least that would be one way to make
it work.
--
Jens Axboe
prev parent reply other threads:[~2020-03-10 13:22 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-10 1:31 fsync with SETUP_IOPOLL and SETUP_SQPOLL Ashlie Martinez
2020-03-10 13:22 ` Jens Axboe [this message]
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 \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
/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