From owner-p4-projects@FreeBSD.ORG Mon Jun 1 10:49:58 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B8255106567A; Mon, 1 Jun 2009 10:49:57 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7713D1065677 for ; Mon, 1 Jun 2009 10:49:57 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 654708FC16 for ; Mon, 1 Jun 2009 10:49:57 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n51AnukD056272 for ; Mon, 1 Jun 2009 10:49:56 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n51Anud9056270 for perforce@freebsd.org; Mon, 1 Jun 2009 10:49:56 GMT (envelope-from zec@fer.hr) Date: Mon, 1 Jun 2009 10:49:56 GMT Message-Id: <200906011049.n51Anud9056270@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 163247 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Jun 2009 10:49:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=163247 Change 163247 by zec@zec_amdx4 on 2009/06/01 10:49:53 Allow for vi_destroy() to be called on vimage -d invocation. Affected files ... .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#93 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/kern_vimage.c#93 (text+ko) ==== @@ -67,6 +67,7 @@ #ifdef VIMAGE static struct vimage *vimage_by_name(struct vimage *, char *); static struct vimage *vi_alloc(struct vimage *, char *); +static int vi_destroy(struct vimage *); static struct vimage *vimage_get_next(struct vimage *, struct vimage *, int); static void vimage_relative_name(struct vimage *, struct vimage *, char *, int); @@ -216,11 +217,7 @@ case SIOCSPVIMAGE: if (vi_req->vi_req_action == VI_DESTROY) { -#ifdef NOTYET error = vi_destroy(vip_r); -#else - error = EOPNOTSUPP; -#endif break; } @@ -698,9 +695,9 @@ /* XXX locking */ LIST_REMOVE(vprocg, vprocg_le); - VNET_LIST_LOCK(); + VNET_LIST_WLOCK(); LIST_REMOVE(vnet, vnet_le); - VNET_LIST_UNLOCK(); + VNET_LIST_WUNLOCK(); CURVNET_SET_QUIET(vnet); INIT_VNET_NET(vnet); @@ -712,8 +709,10 @@ TAILQ_FOREACH_SAFE(ifp, &V_ifnet, if_link, nifp) { if (ifp->if_home_vnet != ifp->if_vnet) vi_if_move(NULL, ifp, vip); +#ifdef NOTYET else if_clone_destroy(ifp->if_xname); +#endif } /* Detach / free per-module state instances. */