From owner-p4-projects@FreeBSD.ORG Fri Aug 26 03:19:55 2005 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 A4F2C16A421; Fri, 26 Aug 2005 03:19:54 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4C24816A41F for ; Fri, 26 Aug 2005 03:19:54 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1265243D45 for ; Fri, 26 Aug 2005 03:19:54 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7Q3JrDa007939 for ; Fri, 26 Aug 2005 03:19:53 GMT (envelope-from soc-cjones@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7Q3JrXm007936 for perforce@freebsd.org; Fri, 26 Aug 2005 03:19:53 GMT (envelope-from soc-cjones@freebsd.org) Date: Fri, 26 Aug 2005 03:19:53 GMT Message-Id: <200508260319.j7Q3JrXm007936@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-cjones@freebsd.org using -f From: soc-cjones To: Perforce Change Reviews Cc: Subject: PERFORCE change 82585 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, 26 Aug 2005 03:19:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=82585 Change 82585 by soc-cjones@soc-cjones_ishtar on 2005/08/26 03:19:48 Duh. So simple. Of course you need to initialize the pointer to the vinumconf in the new sd. Gah. So now it works. Affected files ... .. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_move.c#13 edit Differences ... ==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_move.c#13 (text+ko) ==== @@ -225,7 +225,9 @@ strncpy(newsd->name, cursd->name, GV_MAXSDNAME); strncpy(newsd->drive, destination, GV_MAXDRIVENAME); newsd->state = GV_SD_STALE; - printf("gv_move_sd: initialized newsd; name='%s', drive='%s', size=%lld, plex_offset=%lld\n", newsd->name, newsd->drive, newsd->size, newsd->plex_offset); + newsd->vinumconf = cursd->vinumconf; + printf("gv_move_sd: initialized newsd; name='%s', drive='%s', size=%lld, plex_offset=%lld\n", + newsd->name, newsd->drive, newsd->size, newsd->plex_offset); err = gv_sd_to_drive(sc, d, newsd, errstr, ERRBUFSIZ); printf("gv_move_sd: allocated newsd to drive, drive_offset=%lld\n", newsd->drive_offset); if (err) { /* XXX not enough free space? */ @@ -240,7 +242,8 @@ g_detach(cp); printf("gv_move_sd: detached consumer\n"); LIST_FOREACH_SAFE(s, &p->subdisks, in_plex, s2) { - printf("gv_move_sd: traversing in_plex list (s: %p, s->name: '%s', s2: %p)\n", s, s->name, s2); + printf("gv_move_sd: traversing in_plex list (s: %p, s->name: '%s', s2: %p)\n", + s, s->name, s2); printf("gv_move_sd: for sd '%s', consumer = %p\n", s->name, s->consumer); if (s == cursd) { printf("\thit!\n"); @@ -272,7 +275,7 @@ } else { printf("gv_move_sd: set newsd->consumer to %p\n", newsd->consumer); } - newsd->consumer = cp; + /* newsd->consumer = cp; */ printf("gv_move_sd: before LIST_INSERT_HEAD\n"); LIST_INSERT_HEAD(&sc->subdisks, newsd, sd); printf("gv_move_sd: inserted newsd into subdisks list\n");