Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: [netbsd-8] src/lib/libperfuse



Module Name:    src
Committed By:   martin
Date:           Sun Feb 10 13:40:41 UTC 2019

Modified Files:
        src/lib/libperfuse [netbsd-8]: debug.c ops.c perfuse.c perfuse_priv.h

Log Message:
Pull up following revision(s) (requested by manu in ticket #1186):

        lib/libperfuse/perfuse.c: revision 1.41
        lib/libperfuse/perfuse_priv.h: revision 1.37
        lib/libperfuse/ops.c: revision 1.85
        lib/libperfuse/ops.c: revision 1.86
        lib/libperfuse/debug.c: revision 1.13

Use reclaim2 to fix reclaim/lookup race conditions

The PUFFS reclaim operation had a race condition with lookups: we could
be asked to lookup a node, then to reclaim it before lookup completion.

At lookup completion, we would then create a leaked node.

Enter the PUFFS reclaim2 operation, which features a nlookup argument.

That let us count how many lookups are pending and avoid the above
described scenario. It also makes the codes simplier.

 -

Fix directory filehandle usage with libufse. Fix lookup count
libfuse does not use filehandle the same way for directories and other
objects. As a result, filehandles obtained by OPENDIR should not be
sent on non-directory related operations like READ/WRITE/GETATTR...

While there, fix the lookup count sent to the FORGET operation, which
led to leaked nodes.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.12.24.1 src/lib/libperfuse/debug.c
cvs rdiff -u -r1.84 -r1.84.8.1 src/lib/libperfuse/ops.c
cvs rdiff -u -r1.40 -r1.40.6.1 src/lib/libperfuse/perfuse.c
cvs rdiff -u -r1.36 -r1.36.8.1 src/lib/libperfuse/perfuse_priv.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index