From owner-cvs-all@FreeBSD.ORG Fri Sep 19 16:37:53 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 872FC16A4BF; Fri, 19 Sep 2003 16:37:53 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 33BE44400F; Fri, 19 Sep 2003 16:37:51 -0700 (PDT) (envelope-from jeff@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h8JNboXJ070197; Fri, 19 Sep 2003 16:37:50 -0700 (PDT) (envelope-from jeff@repoman.freebsd.org) Received: (from jeff@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h8JNbolJ070196; Fri, 19 Sep 2003 16:37:50 -0700 (PDT) (envelope-from jeff) Message-Id: <200309192337.h8JNbolJ070196@repoman.freebsd.org> From: Jeff Roberson Date: Fri, 19 Sep 2003 16:37:49 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/fs/nwfs nwfs_io.c src/sys/fs/smbfs smbfs_io.c src/sys/nfsclient nfs_bio.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Sep 2003 23:37:53 -0000 jeff 2003/09/19 16:37:49 PDT FreeBSD src repository Modified files: sys/fs/nwfs nwfs_io.c sys/fs/smbfs smbfs_io.c sys/nfsclient nfs_bio.c Log: - Remove interlock protection around VI_XLOCK. The interlock is not sufficient to guarantee that this race is not hit. The XLOCK will likely have to be redesigned due to the way reference counting and mutexes work in FreeBSD. We currently can not be guaranteed that xlock was not set and cleared while we were blocked on the interlock while waiting to check for XLOCK. This would lead us to reference a vnode which was not the vnode we requested. - Add a backtrace() call inside of INVARIANTS in the hopes of finding out if this condition is ever hit. It should not, since we should be retaining a reference to the vnode in these cases. The reference would be sufficient to block recycling. Revision Changes Path 1.30 +3 -3 src/sys/fs/nwfs/nwfs_io.c 1.23 +3 -3 src/sys/fs/smbfs/smbfs_io.c 1.121 +3 -4 src/sys/nfsclient/nfs_bio.c