PERFORCE change 81689 for review
soc-chenk
soc-chenk at FreeBSD.org
Mon Aug 8 22:52:22 GMT 2005
http://perforce.freebsd.org/chv.cgi?CH=81689
Change 81689 by soc-chenk at soc-chenk_leavemealone on 2005/08/08 22:52:20
(Darcs changelog)
Tue Aug 9 00:40:46 CEST 2005 at node: creo.hu, nick: csaba
* Distribution cleanups
- A more comprehensive Makefile was put together
- Removed fuselib/fuselib.diff as it's not the appropriate place to keep in
sync with Fuse
- Added a concise README
M ./Makefile -1 +28
A ./README
M ./fmaster.c -3
R ./fuselib/fuselib.diff
Tue Aug 9 00:39:31 CEST 2005 at node: creo.hu, nick: csaba
* Fixed the bug which led to panic when multithreaded daemons were killed
M ./fuse.c -2 +8
Submitted by: soc-chenk
Affected files ...
.. //depot/projects/soc2005/fuse4bsd/Makefile#2 edit
.. //depot/projects/soc2005/fuse4bsd/README#1 add
.. //depot/projects/soc2005/fuse4bsd/fmaster.c#2 edit
.. //depot/projects/soc2005/fuse4bsd/fuse.c#2 edit
.. //depot/projects/soc2005/fuse4bsd/fuselib/fuselib.diff#2 delete
Differences ...
==== //depot/projects/soc2005/fuse4bsd/Makefile#2 (text+ko) ====
@@ -1,4 +1,31 @@
-SRCS=fuse.c fmaster.c
+SRCS=fuse.c
+
+.if defined(FMASTER)
+SRCS+= fmaster.c
+CFLAGS+= -DFMASTER
+.endif
+
+.if defined(DEBUG)
+CFLAGS+= -D_DEBUG
+.endif
+
+CFLAGS+= -DINVARIANTS
+
KMOD=fusedummy
+CLEANFILES+= fuse_kernel.h fuse_opnames.h
+
+fusedummy.ko: fuse_opnames fuse_kernel.h
+
+fuse_kernel.h:
+ cp fuse_kernel.h.orig fuse_kernel.h
+ patch fuse_kernel.h < kernel-header.diff
+
+fuse_opnames:
+.if defined(FMASTER)
+ ruby tools/genopnames.rb fuse_kernel.h.orig > fuse_opnames.h
+.endif
+
+
+
.include <bsd.kmod.mk>
==== //depot/projects/soc2005/fuse4bsd/fmaster.c#2 (text+ko) ====
@@ -1,4 +1,3 @@
-#ifdef FMASTER
#include <sys/types.h>
#include <sys/systm.h> /* uprintf */
#include <sys/errno.h>
@@ -449,5 +448,3 @@
ticket_drop(caliban->ticket);
return (err);
}
-
-#endif
==== //depot/projects/soc2005/fuse4bsd/fuse.c#2 (text+ko) ====
@@ -890,7 +890,13 @@
}
DEBUG("FR4,%d\n", uio->uio_td->td_tid);
fmsgn = fdata_pop_msg(data);
- KASSERT(fmsgn, ("fusecv signalled green tho list head still NULL"));
+ if (! fmsgn) {
+ /* We can get here if fuse daemon suddenly terminates,
+ * eg, by being hit by a SIGKILL
+ */
+ mtx_unlock(&data->msg_mtx);
+ return (ENODEV);
+ }
}
mtx_unlock(&data->msg_mtx);
@@ -1043,7 +1049,7 @@
(*dev)->si_flags |= SI_CHEAPCLONE;
}
- printf("clone done: %d\n",unit);
+ DEBUG("clone done: %d\n",unit);
}
}
More information about the p4-projects
mailing list