On 2021-07-28 02:16, Stefan Metzmacher wrote:
I am using Btrfs.
My testing was done by exporting the share with
vfs objects = io_uring
vfs objects = btrfs, io_uring
Same results in both cases. Exporting with "vfs objects = btrfs" (no io_uring) works as expected.
I don't think it makes a difference for the current problem, but I guess you want the following order instead:
vfs objects = io_uring, btrfs
metze
I haven't tested that combination. However the docs mention that
io_uring must be last VFS object loaded.
https://www.samba.org/samba/docs/4.12/man-html/vfs_io_uring.8.html
"The io_uring VFS module enables asynchronous pread, pwrite and fsync
using the io_uring infrastructure of Linux (>= 5.1). This provides much
less overhead compared to the usage of the pthreadpool for async io.
This module SHOULD be listed last in any module stack as it requires
real kernel file descriptors."
The manpage for vfs_btrfs mentions that btrfs is stackable and in their
example they have btrfs loaded before vfs_shadow_copy.
https://www.samba.org/samba/docs/4.12/man-html/vfs_btrfs.8.html
What would be the implication of having io_uring before the btrfs module?
Regards
Forza