[Bug 230260] [FUSE] [PERFORMANCE]: Performance issue (I/O block size)
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Wed Feb 20 14:25:38 UTC 2019
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230260
--- Comment #11 from Kenneth D. Merry <ken at FreeBSD.org> ---
Yes, this is inside an LTFS mount. Reading a just-written file does result in
only 64K getting read and an unexpected EOF. Here is a dd read of the same
file I created in the previous step.
The only difference between this and the previous version is that I built the
fuse.ko module with change 337165 reverted:
{sm4u-12:/root:!:0} cd /mnt
{sm4u-12:/mnt:!:0} ls -la
total 1048578
drwxrwxrwx 2 root wheel 0 Feb 19 22:20 .
drwxr-xr-x 30 root wheel 35 Jan 30 18:45 ..
-rwxrwxrwx 1 root wheel 1073741824 Feb 19 22:20 foo
{sm4u-12:/mnt:!:0} dd if=foo of=/dev/null bs=1m
1024+0 records in
1024+0 records out
1073741824 bytes transferred in 11.281752 secs (95175096 bytes/sec)
So, normal result, no problems. What this tells me is that somehow, changing
f_iosize from 4K to DFLTPHYS (which is set to 512K on this particular system)
messes up reads (but not writes) for LTFS.
In looking at the LTFS FUSE read code, I don't see any hardcoding of the I/O
size:
https://github.com/LinearTapeFileSystem/ltfs/blob/master/src/ltfs_fuse.c
So, perhaps there is a place in the FUSE libraries that is hard-coding the size
to 4K?
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-fs
mailing list