From owner-freebsd-stable@FreeBSD.ORG Tue Apr 25 16:23:49 2006 Return-Path: X-Original-To: stable@freebsd.org Delivered-To: freebsd-stable@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5703116A427 for ; Tue, 25 Apr 2006 16:23:49 +0000 (UTC) (envelope-from kris@obsecurity.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.FreeBSD.org (Postfix) with ESMTP id C047943D45 for ; Tue, 25 Apr 2006 16:23:38 +0000 (GMT) (envelope-from kris@obsecurity.org) Received: from obsecurity.dyndns.org (elvis.mu.org [192.203.228.196]) by elvis.mu.org (Postfix) with ESMTP id 9225C1A4E25; Tue, 25 Apr 2006 09:23:37 -0700 (PDT) Received: by obsecurity.dyndns.org (Postfix, from userid 1000) id DC26E559EC; Tue, 25 Apr 2006 12:22:53 -0400 (EDT) Date: Tue, 25 Apr 2006 12:22:53 -0400 From: Kris Kennaway To: Kostik Belousov Message-ID: <20060425162252.GA54244@xor.obsecurity.org> References: <20060425001751.S44618@woozle.rinet.ru> <20060424202859.GA18457@xor.obsecurity.org> <20060425004405.G44618@woozle.rinet.ru> <20060424205026.GA18844@xor.obsecurity.org> <20060425134418.J57625@woozle.rinet.ru> <20060425080932.1rv9hq0rcws4wc84@www.wolves.k12.mo.us> <20060425133532.GD1446@deviant.kiev.zoral.com.ua> <20060425095610.ibv24kg1kw00s040@www.wolves.k12.mo.us> <20060425185741.C71240@woozle.rinet.ru> <20060425153909.GE1446@deviant.kiev.zoral.com.ua> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="rwEMma7ioTxnRzrJ" Content-Disposition: inline In-Reply-To: <20060425153909.GE1446@deviant.kiev.zoral.com.ua> User-Agent: Mutt/1.4.2.1i Cc: stable@freebsd.org, Kris Kennaway , Dmitry Morozovsky Subject: Re: fsck_ufs locked in snaplk X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Apr 2006 16:23:50 -0000 --rwEMma7ioTxnRzrJ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Apr 25, 2006 at 06:39:09PM +0300, Kostik Belousov wrote: > Obviously, revisions 1.78, 1.79 of the sys/ufs/ufs/ufs_quota.c > shall be MFCed. Try this patch (note, I does not tested it): WTF, I could have sworn I merged that! Yes, this patch is needed.=20 However, I don't think it's the cause of runtime deadlocks. Kris > Index: sys/ufs/ufs/ufs_quota.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > RCS file: /usr/local/arch/ncvs/src/sys/ufs/ufs/ufs_quota.c,v > retrieving revision 1.77 > retrieving revision 1.79 > diff -u -r1.77 -r1.79 > --- sys/ufs/ufs/ufs_quota.c 9 Jan 2006 20:42:19 -0000 1.77 > +++ sys/ufs/ufs/ufs_quota.c 12 Feb 2006 13:20:06 -0000 1.79 > @@ -429,8 +429,9 @@ > quotaoff(td, mp, type); > ump->um_qflags[type] |=3D QTF_OPENING; > mp->mnt_flag |=3D MNT_QUOTA; > - ASSERT_VOP_LOCKED(vp, "quotaon"); > + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); > vp->v_vflag |=3D VV_SYSTEM; > + VOP_UNLOCK(vp, 0, td); > *vpp =3D vp; > /* > * Save the credential of the process that turned on quotas. > @@ -535,8 +536,9 @@ > } > MNT_IUNLOCK(mp); > dqflush(qvp); > - ASSERT_VOP_LOCKED(qvp, "quotaoff"); > + vn_lock(qvp, LK_EXCLUSIVE | LK_RETRY, td); > qvp->v_vflag &=3D ~VV_SYSTEM; > + VOP_UNLOCK(qvp, 0, td); > error =3D vn_close(qvp, FREAD|FWRITE, td->td_ucred, td); > ump->um_quotas[type] =3D NULLVP; > crfree(ump->um_cred[type]); >=20 >=20 --rwEMma7ioTxnRzrJ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (FreeBSD) iD8DBQFETkzcWry0BWjoQKURAn1MAKCuryb8gNH6U31x517qEavL+zCUuwCgjzcv qdvIcijYVksdB1/UxF69Xpc= =gkLk -----END PGP SIGNATURE----- --rwEMma7ioTxnRzrJ--