From owner-freebsd-fs Sat May 12 23:55: 6 2001 Delivered-To: freebsd-fs@freebsd.org Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by hub.freebsd.org (Postfix) with ESMTP id BAB5C37B423 for ; Sat, 12 May 2001 23:55:03 -0700 (PDT) (envelope-from phk@critter.freebsd.dk) Received: from critter (localhost [127.0.0.1]) by critter.freebsd.dk (8.11.3/8.11.3) with ESMTP id f4D6sop05155; Sun, 13 May 2001 08:54:50 +0200 (CEST) (envelope-from phk@critter.freebsd.dk) To: Ian Dowse Cc: freebsd-fs@freebsd.org Subject: Re: vflush() In-Reply-To: Your message of "Fri, 11 May 2001 22:19:00 BST." <200105112219.aa94946@salmon.maths.tcd.ie> Date: Sun, 13 May 2001 08:54:50 +0200 Message-ID: <5153.989736890@critter> From: Poul-Henning Kamp Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org In message <200105112219.aa94946@salmon.maths.tcd.ie>, Ian Dowse writes: >In message <200105092238.aa48273@salmon.maths.tcd.ie>, Ian Dowse writes: >> >>All this suggests that vflush() should subsume the logic for dealing >>with the reference count on the filesystem root vnode. This would >>simplify the xxx_umount() functions and permits the FORCECLOSE >>problem to be solved for all 9 filesystems in one place. > >A working version of a patch that achieves this is at: > > http://www.maths.tcd.ie/~iedowse/FreeBSD/vflush_patch Looks good to me. >As a side-effect, this corrects a vnode leak that currently exists >in devfs, as there was a vput() missing for the case where vflush() >failed. This bug could result in idle devfs filesystems that refuse >to unmount. oops... -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message