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