diff options
author | Mark Harmstone <maharmstone@fb.com> | 2025-01-10 20:23:52 +0300 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2025-01-13 23:06:31 +0300 |
commit | e32dcdb0af9f31aab05e20f950c2871378082569 (patch) | |
tree | 7d4629361ef09a8bbdef2bb83efd5b190864426c /tools/perf/scripts/python/export-to-postgresql.py | |
parent | bf50aca633bb5de5901b831bbac0e6b678d61a3f (diff) | |
download | linux-e32dcdb0af9f31aab05e20f950c2871378082569.tar.xz |
btrfs: add io_uring interface for encoded writes
Add an io_uring interface for encoded writes, with the same parameters
as the BTRFS_IOC_ENCODED_WRITE ioctl.
As with the encoded reads code, there's a test program for this at
https://github.com/maharmstone/io_uring-encoded, and I'll get this
worked into an fstest.
How io_uring works is that it initially calls btrfs_uring_cmd with the
IO_URING_F_NONBLOCK flag set, and if we return -EAGAIN it tries again in
a kthread with the flag cleared.
Ideally we'd honour this and call try_lock etc., but there's still a lot
of work to be done to create non-blocking versions of all the functions
in our write path. Instead, just validate the input in
btrfs_uring_encoded_write() on the first pass and return -EAGAIN, with a
view to properly optimizing the optimistic path later on.
Signed-off-by: Mark Harmstone <maharmstone@fb.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions