[Bug 194293] FUSE program freezes when seeking pos > file size

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Dec 28 01:51:22 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194293

rmacklem at uoguelph.ca changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rmacklem at uoguelph.ca

--- Comment #5 from rmacklem at uoguelph.ca ---
Created attachment 164744
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=164744&action=edit
patch fuse so that a WRONLY open becomes a RDWR open

This patch modifies the FreeBSD Fuse fs (in sys/fs/fuse) so that it
always does a RDWR open when a WRONLY open is requested.
I believe this bug happens when a write of a partial block occurs
when not doing DIRECT_IO. When this happens the buffer cache first
reads the entire block in. Without a RDWR open, this read fails and
leaves the block "stuck", making umount etc. fail.

The problem I see w.r.t. this patch is that a WRONLY open will fail
if the process doesn't have Read access to the file.

An alternate way to patch this would be to force DIRECT_IO for WRONLY
opens. Comments/opinions?

Hopefully nishida@ can test this patch to determine if it fixes the problem?

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


More information about the freebsd-fs mailing list