Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 May 2001 22:19:00 +0100
From:      Ian Dowse <iedowse@maths.tcd.ie>
To:        freebsd-fs@freebsd.org
Cc:        phk@freebsd.org, iedowse@maths.tcd.ie
Subject:   Re: vflush() 
Message-ID:   <200105112219.aa94946@salmon.maths.tcd.ie>
In-Reply-To: Your message of "Wed, 09 May 2001 22:38:39 BST." <200105092238.aa48273@salmon.maths.tcd.ie> 

next in thread | previous in thread | raw e-mail | index | archive | help
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

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.

It seems also, that for future filesystems that may not fit into
the simple 'N extra references to the root vnode' model, the
situation is not all that bad. These filesystems can simply call
vflush with rootrefs==0, and then when it fails check the vnode
list to see if any vnodes are really busy. This is no more difficult
to deal with than the situation we have now.

Ian

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi? <200105112219.aa94946>