From: Pavel Begunkov <[email protected]>
To: [email protected]
Cc: Jens Axboe <[email protected]>,
[email protected], Conrad Meyer <[email protected]>,
[email protected], [email protected]
Subject: [RFC 0/5] implement asynchronous BLKDISCARD via io_uring
Date: Wed, 14 Aug 2024 11:45:49 +0100 [thread overview]
Message-ID: <[email protected]> (raw)
There is an interest in having asynchronous block operations like
discard. The patch set implements that as io_uring commands, which is
an io_uring request type allowing to implement custom file specific
operations.
First 4 patches are simple preps, and the main part is in Patch 5.
Not tested with a real drive yet, hence sending as an RFC.
I'm also going to add BLKDISCARDZEROES and BLKSECDISCARD, which should
reuse structures and helpers from Patch 5.
liburing tests for reference:
https://github.com/isilence/liburing.git discard-cmd-test
Pavel Begunkov (5):
io_uring/cmd: expose iowq to cmds
io_uring/cmd: give inline space in request to cmds
filemap: introduce filemap_invalidate_pages
block: introduce blk_validate_discard()
block: implement io_uring discard cmd
block/blk.h | 1 +
block/fops.c | 2 +
block/ioctl.c | 139 ++++++++++++++++++++++++++++++-----
include/linux/io_uring/cmd.h | 15 ++++
include/linux/pagemap.h | 2 +
include/uapi/linux/fs.h | 2 +
io_uring/io_uring.c | 11 +++
io_uring/io_uring.h | 1 +
io_uring/uring_cmd.c | 7 ++
mm/filemap.c | 18 +++--
10 files changed, 176 insertions(+), 22 deletions(-)
--
2.45.2
next reply other threads:[~2024-08-14 10:45 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-14 10:45 Pavel Begunkov [this message]
2024-08-14 10:45 ` [RFC 1/5] io_uring/cmd: expose iowq to cmds Pavel Begunkov
2024-08-14 10:45 ` [RFC 2/5] io_uring/cmd: give inline space in request " Pavel Begunkov
2024-08-14 10:45 ` [RFC 3/5] filemap: introduce filemap_invalidate_pages Pavel Begunkov
2024-08-14 10:45 ` [RFC 4/5] block: introduce blk_validate_discard() Pavel Begunkov
2024-08-14 10:45 ` [RFC 5/5] block: implement io_uring discard cmd Pavel Begunkov
2024-08-15 1:42 ` Ming Lei
2024-08-15 14:33 ` Jens Axboe
2024-08-15 17:11 ` Pavel Begunkov
2024-08-15 23:44 ` Ming Lei
2024-08-16 1:24 ` Jens Axboe
2024-08-16 1:45 ` Ming Lei
2024-08-16 1:59 ` Pavel Begunkov
2024-08-16 2:08 ` Ming Lei
2024-08-16 2:16 ` Pavel Begunkov
2024-08-19 20:02 ` Jens Axboe
2024-08-19 20:01 ` Jens Axboe
2024-08-20 2:36 ` Ming Lei
2024-08-20 16:30 ` Jens Axboe
2024-08-20 17:19 ` Pavel Begunkov
2024-08-21 2:55 ` Ming Lei
2024-08-15 14:42 ` Jens Axboe
2024-08-15 15:50 ` [RFC 0/5] implement asynchronous BLKDISCARD via io_uring Jens Axboe
2024-08-15 17:26 ` Pavel Begunkov
2024-08-15 16:15 ` Martin K. Petersen
2024-08-15 17:12 ` Pavel Begunkov
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] \
[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