From owner-p4-projects@FreeBSD.ORG Mon Aug 8 22:52:22 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F1B816A421; Mon, 8 Aug 2005 22:52:21 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5143B16A41F for ; Mon, 8 Aug 2005 22:52:21 +0000 (GMT) (envelope-from soc-chenk@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CE56143D46 for ; Mon, 8 Aug 2005 22:52:20 +0000 (GMT) (envelope-from soc-chenk@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j78MqKrs060277 for ; Mon, 8 Aug 2005 22:52:20 GMT (envelope-from soc-chenk@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j78MqKfn060274 for perforce@freebsd.org; Mon, 8 Aug 2005 22:52:20 GMT (envelope-from soc-chenk@freebsd.org) Date: Mon, 8 Aug 2005 22:52:20 GMT Message-Id: <200508082252.j78MqKfn060274@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-chenk@freebsd.org using -f From: soc-chenk To: Perforce Change Reviews Cc: Subject: PERFORCE change 81689 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Aug 2005 22:52:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=81689 Change 81689 by soc-chenk@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 ==== //depot/projects/soc2005/fuse4bsd/fmaster.c#2 (text+ko) ==== @@ -1,4 +1,3 @@ -#ifdef FMASTER #include #include /* uprintf */ #include @@ -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); } }