Home | History | Annotate | Download | only in perfused
History log of /src/usr.sbin/perfused/perfused.h
RevisionDateAuthorComments
 1.11  04-Dec-2021  pho librefuse: Preparation of a proper API versioning; no more #ifdef woes in user code

The goal is to fully support FUSE API version 3.0 while maintaining
API/ABI compatibility with code written for 2.6 (or even older).

* <fuse.h> now emits a compiler warning if it's included without
defining FUSE_USE_VERSION. It had been silently defaulted to the
latest supported version prior to this change. This is permissive
compared to the original FUSE, as it emits an error instead.

* <fuse.h> now emits a warning if FUSE_USE_VERSION is higher than what
can be provided.

* Added a macro FUSE_MAKE_VERSION(maj, min). It was missing from
librefuse <fuse.h>.

No actual API updates have been made (yet).
 1.10  04-Feb-2012  joerg Mark perfused_panic as dead. Canonical form of infinite loops is
for (;;). Remove completely redundant NOTREACHED markers.
 1.9  03-Feb-2012  manu Make sure perfused exit when the filesystem crashed, so that unmount
is done. Failure to do so caused deadlocks, with operation that
held a lock on the root vnode and got stuck in perfused forever.

Approved by releng.
 1.8  30-Jan-2012  christos - remove dup included files
- use intptr_t instead of long where appropriate
- use perfused_ instead of perfuse_ for our own functions.
- more static
Fixes namespace collision of perfuse_mount with this and libperfuse.
 1.7  29-Jan-2012  manu Improve FUSE trace facility
 1.6  28-Dec-2011  manu Add a FUSE trace facility, with statistics collection. This should help
tracking bugs and performance issues
 1.5  30-Aug-2011  joerg branches: 1.5.2;
Fast backward code to 1989 and use ANSI C consistently. Use __dead.
 1.4  30-May-2011  manu Use SOCK_SEQPACKET in perfuse if available. This fix file operations hangs
where the FUSE filesyste replied to an operation and got an ENOBUFS it did
not handle.

We now are also able to cleanly unmount
 1.3  15-Sep-2010  manu - Use SOCK_DGRAM instead of SOCK_STREAM, as the filesystem seems to
assume datagram semantics: when using SOCK_STREAM, if perfused sends
frames faster than the filesystem consumes them, it will grab multiple
frames at once and discard anything beyond the first one. For now the
code can work both with SOCK_DGRAM and SOCK_STREAM, but SOCK_STREAM
support will probably have to be removed for the sake of readability.

- Remeber to sync parent directories when moving a node

- In debug output, display the requeue type (readdir, write, etc...)
 1.2  27-Aug-2010  manu - if perfused is not already started (cannot connect to /dev/fuse),
FUSE filesystems will attempt to start it on their own, and will
communicate using a socketpair

- do not advertise NULL file handle as being valid when sending themback to the FUSE filesystem.

- unmount if we cannot talk to the FUSE process anymore

- set calling process gid properly

- debug message cleanup
 1.1  25-Aug-2010  manu perfused(8) creates a /dev/fuse socket and performs PUFFS to FUSE relaying.
This is still a work in progress.
 1.5.2.1  17-Apr-2012  yamt sync with head

RSS XML Feed