From owner-p4-projects@FreeBSD.ORG Fri Jul 13 11:34:05 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C0ACE16A403; Fri, 13 Jul 2007 11:34:04 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5B46316A401 for ; Fri, 13 Jul 2007 11:34:04 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 48E7213C4A5 for ; Fri, 13 Jul 2007 11:34:04 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6DBY4og068922 for ; Fri, 13 Jul 2007 11:34:04 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6DBY4Pf068919 for perforce@freebsd.org; Fri, 13 Jul 2007 11:34:04 GMT (envelope-from lulf@FreeBSD.org) Date: Fri, 13 Jul 2007 11:34:04 GMT Message-Id: <200707131134.l6DBY4Pf068919@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 123433 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: Fri, 13 Jul 2007 11:34:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=123433 Change 123433 by lulf@lulf_carrot on 2007/07/13 11:33:35 - Remove old comments. - Remember to pass the flags to detach command. - Update volume size after attach of subdisk. - Do not allow attach on concatenated plexes. It doesn't really have any use, and it makes checking plex_offset a bit complicated. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#28 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#18 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#28 (text+ko) ==== @@ -246,8 +246,11 @@ return; } p = gv_find_plex(sc, parent); + if (p->org == GV_PLEX_CONCAT) { + gctl_error(req, "attach on concat plex not allowed"); + break; + } s = gv_find_sd(sc, child); - /* XXX: Rename not supported yet. */ gv_post_event(sc, GV_EVENT_ATTACH_SD, s, p, *offset, *rename); break; default: @@ -275,14 +278,12 @@ type = gv_object_type(sc, object); switch (type) { case GV_TYPE_PLEX: - /* XXX: Support flags. */ p = gv_find_plex(sc, object); - gv_post_event(sc, GV_EVENT_DETACH_PLEX, p, NULL, 0, 0); + gv_post_event(sc, GV_EVENT_DETACH_PLEX, p, NULL, *flags, 0); break; case GV_TYPE_SD: - /* XXX: Support flags. */ s = gv_find_sd(sc, object); - gv_post_event(sc, GV_EVENT_DETACH_SD, s, NULL, 0, 0); + gv_post_event(sc, GV_EVENT_DETACH_SD, s, NULL, *flags, 0); break; default: gctl_error(req, "invalid object type"); @@ -745,7 +746,8 @@ case GV_EVENT_DETACH_PLEX: printf("VINUM: event 'detach'\n"); p = ev->arg1; - err = gv_detach_plex(p, 0); + flags = ev->arg3; + err = gv_detach_plex(p, flags); if (err) printf("VINUM: error detaching %s: " "error code %d\n", p->name, err); @@ -754,7 +756,8 @@ case GV_EVENT_DETACH_SD: printf("VINUM: event 'detach'\n"); s = ev->arg1; - err = gv_detach_sd(s, 0); + flags = ev->arg3; + err = gv_detach_sd(s, flags); if (err) printf("VINUM: error detaching %s: " "error code %d\n", s->name, err); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#18 (text+ko) ==== @@ -1108,6 +1108,8 @@ snprintf(s->name, GV_MAXSDNAME, "%s.s%d", s->plex, p->sdcount - 1); } + if (p->vol_sc != NULL) + gv_update_vol_size(p->vol_sc, gv_vol_size(p->vol_sc)); gv_save_config(p->vinumconf); /* We don't update the subdisk state since the user might have to * initiate a rebuild/sync first. */