[Bug 194293] FUSE program freezes when seeking pos > file size
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Fri Dec 25 04:03:13 UTC 2015
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194293
Rick Macklem <rmacklem at FreeBSD.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rmacklem at FreeBSD.org
--- Comment #4 from Rick Macklem <rmacklem at FreeBSD.org> ---
I think I know what causes the hang for the small write
(test.c).
Could you try the program, but change "w" to "rw" in the
fopen().
- I think the problem happens when a file is opened "write only"
and then a partial block is written. The write of the partial
buffer cache block requires that the block first be read from
the file, but "write only" doesn't allow that to happen and
it gets stuck.
If test.c works ok when opening "rw", then I think this is what
is happening.
--> I am thinking that fuse_vnop_open(..O_WRONLY..) should actually
do a O_RDWR open. It means that files that only give the user
write access won't be able to be opened, but that seems to be
preferred to a hang?
Please let us know if you get to try this, rick.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-fs
mailing list