From owner-freebsd-hackers Sat Apr 5 08:33:32 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id IAA15537 for hackers-outgoing; Sat, 5 Apr 1997 08:33:32 -0800 (PST) Received: from pat.idt.unit.no (0@pat.idt.unit.no [129.241.103.5]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id IAA15527 for ; Sat, 5 Apr 1997 08:33:25 -0800 (PST) Received: from idt.unit.no (26850@kamelia.idt.unit.no [129.241.111.27]) by pat.idt.unit.no (8.8.5/8.8.5) with ESMTP id SAA00567; Sat, 5 Apr 1997 18:29:45 +0200 (MET DST) Message-Id: <199704051629.SAA00567@pat.idt.unit.no> To: terry@lambert.org Cc: dfr@nlsystems.com, dg@root.com, ponds!rivers@dg-rtp.dg.com, freebsd-hackers@freebsd.org Subject: Re: kern/3184: vnodes are used after they are freed. (dup alloc?) In-Reply-To: Your message of "Fri, 4 Apr 1997 21:21:42 -0700 (MST)" References: <199704050421.VAA20745@phaeton.artisoft.com> X-Mailer: Mew version 1.06 on Emacs 19.34.1 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Date: Sat, 05 Apr 1997 18:29:37 +0200 From: Tor Egge Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > > Proper locking on NFS will help against the crash I experienced, but > > if the NFS server goes down at the wrong moment, a call to getnewvnode > > may hang until the NFS server is back again. > > This will always be the case, right? > > Or do you mean the case where an attempt to vclean() a vnode is against > an NFS vnode with the server down? When the first vnode on the so-called free list is a NFS vnode, where VOP_INACTIVE is blocked (due to nfs_remove blocking when the NFS server is down), that vnode cannot be reused for a long time (until the nfs server is up again). When getnewvnode picks that vnode it waits for the lock to drain (in vclean). if the routine that called getnewvnode is ffs_vget, the ffs_inode_hash_lock is set while getnewvnode blocks. This has the side effect that any further calls to ffs_vget will block. This might block any creation of new files on local ufs file systems while the NFS server is down. - Tor Egge