Date: Fri, 13 Feb 2004 08:34:48 +0900 From: Jun Kuriyama <kuriyama@imgsrc.co.jp> To: Bruce Evans <bde@zeta.org.au> Cc: Current <freebsd-current@freebsd.org> Subject: Re: acquiring duplicate lock of same type: "vnode interlock" Message-ID: <7mptcjzxbb.wl@black.imgsrc.co.jp> In-Reply-To: <20040213060939.Q24610@gamplex.bde.org> References: <7m65ed2j50.wl@black.imgsrc.co.jp> <20040213060939.Q24610@gamplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
At Fri, 13 Feb 2004 06:16:21 +1100 (EST), Bruce Evans wrote: > > @@ -488,9 +488,10 @@ > > VI_LOCK(devvp); > > snaphead = &devvp->v_rdev->si_snapshots; > > if ((xp = TAILQ_FIRST(snaphead)) != NULL) { > > - VI_LOCK(vp); > > - vp->v_vnlock = ITOV(xp)->v_vnlock; > > + struct lock *lkp = ITOV(xp)->v_vnlock; > > (1) Nested declaration. > (2) Initialization in declaration. > (3) No blank line after declaration. Thanks! Is this better than I committed? Index: ffs_snapshot.c =================================================================== RCS file: /home/ncvs/src/sys/ufs/ffs/ffs_snapshot.c,v retrieving revision 1.78 diff -u -r1.78 ffs_snapshot.c --- ffs_snapshot.c 12 Feb 2004 08:52:08 -0000 1.78 +++ ffs_snapshot.c 12 Feb 2004 23:33:07 -0000 @@ -488,7 +488,9 @@ VI_LOCK(devvp); snaphead = &devvp->v_rdev->si_snapshots; if ((xp = TAILQ_FIRST(snaphead)) != NULL) { - struct lock *lkp = ITOV(xp)->v_vnlock; + struct lock *lkp; + + lkp = ITOV(xp)->v_vnlock; VI_UNLOCK(devvp); VI_LOCK(vp); vp->v_vnlock = lkp; @@ -1794,7 +1796,9 @@ */ VI_LOCK(devvp); if ((xp = TAILQ_FIRST(snaphead)) != NULL) { - struct lock *lkp = ITOV(xp)->v_vnlock; + struct lock *lkp; + + lkp = ITOV(xp)->v_vnlock; VI_UNLOCK(devvp); VI_LOCK(vp); vp->v_vnlock = lkp; -- Jun Kuriyama <kuriyama@imgsrc.co.jp> // IMG SRC, Inc. <kuriyama@FreeBSD.org> // FreeBSD Project
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7mptcjzxbb.wl>