[Bug 230259] [FUSE] [BUG]: File close (release) issue

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Aug 1 12:37:50 UTC 2018


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

            Bug ID: 230259
           Summary: [FUSE] [BUG]: File close (release) issue
           Product: Base System
           Version: 11.1-RELEASE
          Hardware: Any
               URL: https://robo.moosefs.com/support/fuse_helloworld.tgz
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs at FreeBSD.org
          Reporter: freebsd at moosefs.com

This is one of three issues we detected in FreeBSD FUSE while developing our
distributed file system. All four issues can be replicated using this simple
test script:
https://robo.moosefs.com/support/fuse_helloworld.tgz

When an I/O operation (for example read) takes a bit long and the process that
performed the read operation is killed (i.e. with 9 signal), kernel does not
wait for the operation to complete but immediately sends release. Since FUSE is
multithreaded, one's program can get the release before the read (race
condition), effectively ending up reading data from an already closed
descriptor into no-longer-existing structures.

We handled that issue in our system by making reference counters and delaying
release (lots of FreeBSD specific code), but since FUSE behaviour on Linux is
completely different and FUSE was first developed on Linux, we feel some
consitency is warranted.

Best regards,
Peter / MooseFS Team

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


More information about the freebsd-bugs mailing list