Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 01 Aug 2018 12:37:46 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 230259] [FUSE] [BUG]: File close (release) issue
Message-ID:  <bug-230259-227@https.bugs.freebsd.org/bugzilla/>

index | next in thread | raw e-mail

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@FreeBSD.org
          Reporter: freebsd@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.

help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-230259-227>