Date: Mon, 20 Oct 1997 19:35:40 +0200 From: Ollivier Robert <roberto@keltia.freenix.fr> To: current@FreeBSD.ORG Subject: Re: nullfs & current Message-ID: <19971020193540.39453@keltia.freenix.fr> In-Reply-To: <406.877333677@critter.freebsd.dk>; from Poul-Henning Kamp on Mon, Oct 20, 1997 at 09:47:57AM %2B0200 References: <199710200143.UAA05747@dyson.iquest.net> <406.877333677@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
According to Poul-Henning Kamp: > calling vnode_pager_uncache() null_remove() would be wrong, the file > may still be open. Right. > Whatever needs to be done should probably be done in null_inactive(), > look at sys/ufs/ufs/ufs_inode.c:ufs_inactive(). Hmmm, what about an null_remove() that: 1. refuses if the nullfs is mounted read-only, 2. call VOP_REMOVE() for lowervp VOP_REMOVE() seems more right here. Except that: how am I supposed to get hold of the 3 arguments for ufs_remove() ? I can't just give it my own (null_remove) arguments... Can I call ufs_inactive (through VOP_INACTIVE()) with lowervp ? (somewhere I don't think so and I'd have to get host of the current proc pointer anyway). When is VOP_RECLAIM() supposed to be called ? In the daemon book, it is said that VOP_RECLAIM() is called by getnewvnode() when it decides to reuse a vnode. I hope I'm not too bothersome here but I'm really trying to understand how all that stuff is supposed to work... My feeling is unlink() VOP_REMOVE(vp) aka null_bypass() for now VOP_REMOVE(lowervp) aka ufs_remove() vrele(vp) I could be wrong of course. -- Ollivier ROBERT -=- FreeBSD: There are no limits -=- roberto@keltia.freenix.fr FreeBSD keltia.freenix.fr 3.0-CURRENT #41: Sat Oct 18 18:47:01 CEST 1997
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19971020193540.39453>