From owner-freebsd-hackers  Thu Sep 16 16:11:49 1999
Delivered-To: freebsd-hackers@freebsd.org
Received: from alpo.whistle.com (alpo.whistle.com [207.76.204.38])
	by hub.freebsd.org (Postfix) with ESMTP id 764BC15486
	for <hackers@FreeBSD.ORG>; Thu, 16 Sep 1999 16:11:40 -0700 (PDT)
	(envelope-from julian@whistle.com)
Received: from current1.whistle.com (current1.whistle.com [207.76.205.22])
	by alpo.whistle.com (8.9.1a/8.9.1) with SMTP id QAA23763;
	Thu, 16 Sep 1999 16:11:37 -0700 (PDT)
Date: Thu, 16 Sep 1999 16:11:36 -0700 (PDT)
From: Julian Elischer <julian@whistle.com>
To: Nick Hibma <hibma@skylink.it>
Cc: FreeBSD Hackers mailing list <hackers@FreeBSD.ORG>
Subject: Re: nuking a vnode
In-Reply-To: <Pine.BSF.4.10.9909162322170.30216-100000@heidi.plazza.it>
Message-ID: <Pine.BSF.3.95.990916160744.295A-100000@current1.whistle.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: owner-freebsd-hackers@FreeBSD.ORG
Precedence: bulk
X-Loop: FreeBSD.ORG


On Thu, 16 Sep 1999, Nick Hibma wrote:

> 
> How do I nuke vnodes? This is the NetBSD code that needs to be emulated:
> 
>         /* locate the major number */
>         for (maj = 0; maj < nchrdev; maj++)
>                 if (cdevsw[maj].d_open == ulptopen)
>                         break;
> 
>         /* Nuke the vnodes for any open instances (calls close). */
>         mn = self->dv_unit;
>         vdevgone(maj, mn, mn, VCHR);

In -current something like:

int major;
dev_t dev;
struct vnode *vp;

major = ultp_cdevsw.d_maj;
dev = makedev(major, self->dv_unit)
vp = SLIST_FIRST(&dev->si_hlist);
if (vp) {
	VOP_REVOKE(vp. REVOKEALL);
}
remove_dev(dev);

3.3 will be considerably different.




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