[Bug 271065] Kernel FUSE limits read() size by 64k/128k

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 25 Apr 2023 15:55:33 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271065

--- Comment #2 from Ivan Rozhuk <rozhuk.im@gmail.com> ---
There is no special user space program, this sshfs share used as usual disk
share for home pc.
mpv, thunar, pc-fm, image viewer and etc.

After add "oflag=direct" to dd:
unique: 18788, opcode: READ (15), nodeid: 868, insize: 80, pid: 84280
[03770] READ
  [03769]           DATA   131085bytes (75ms)
   unique: 18788, success, outsize: 131088
It have same limit.


fuse: unknown option(s): `-o async_read'
looks like it was not handled.
I do not see code to handle it in sshfs and in kernel FUSE.


Read ahead is work. There is comment in kernel FUSE code that it read one block
ahead, so this is why I got 64+64=128k read request.



I have found that "mp->mnt_stat.f_iosize" first limit and "mp->mnt_iosize_max =
maxphys;" is second limit for read size request that fuse server receive from
kernel.

-- 
You are receiving this mail because:
You are the assignee for the bug.