Date: Sun, 7 Aug 2005 02:22:42 GMT From: soc-cjones <soc-cjones@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 81585 for review Message-ID: <200508070222.j772MgMK045377@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=81585 Change 81585 by soc-cjones@soc-cjones_ishtar on 2005/08/07 02:22:16 It compiles. Whee. Affected files ... .. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_rename.c#2 edit Differences ... ==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_rename.c#2 (text+ko) ==== @@ -45,10 +45,10 @@ static int gv_rename_sd(struct gv_softc *, struct gctl_req *, struct gv_sd *, char *, int); static int gv_rename_vol(struct gv_softc *, struct gctl_req *, - struct gv_vol *, char *, int); + struct gv_volume *, char *, int); void -gv_rename(struct g_geom *, struct gctl_req *) +gv_rename(struct g_geom *gp, struct gctl_req *req) { struct gv_softc *sc; struct gv_volume *v; @@ -66,14 +66,20 @@ argc = gctl_get_paraml(req, "argc", sizeof(*argc)); flags = gctl_get_paraml(req, "flags", sizeof(*flags)); - newname = gctl_get_paraml(req, "newname", sizeof(*newname)); - if (NULL == newname || 0 == *newname) { + newname = gctl_get_param(req, "newname", NULL); + if (NULL == newname) { gctl_error(req, "no new name given"); return; } + type = gv_object_type(sc, newname); + printf("gv_object_type(sc, \"%s\") = %d\n", newname, type); + if (-1 != type) { + gctl_error(req, "new name is already in use"); + return; + } - object = gctl_get_paraml(req, "object", sizeof(*object)); - if (NULL == object || 0 == *object) { + object = gctl_get_param(req, "object", NULL); + if (NULL == object) { gctl_error(req, "no object given"); return; } @@ -96,6 +102,8 @@ gctl_error(req, "unknown plex '%s'", object); return; } + gctl_error(req, "calling gv_rename_plex(,, %s, %s,)", p, newname); + return; err = gv_rename_plex(sc, req, p, newname, *flags); if (err) return; @@ -106,6 +114,8 @@ gctl_error(req, "unknown subdisk '%s'", object); return; } + gctl_error(req, "calling gv_rename_sd(,, %s, %s,)", s, newname); + return; err = gv_rename_sd(sc, req, s, newname, *flags); if (err) return; @@ -116,6 +126,8 @@ gctl_error(req, "unknown drive '%s'", object); return; } + gctl_error(req, "calling gv_rename_drive(,, %s, %s,)", d, newname); + return; err = gv_rename_drive(sc, req, d, newname, *flags); if (err) return; @@ -136,6 +148,8 @@ g_topology_assert(); KASSERT(d != NULL, ("gv_rename_drive: NULL d")); + return (0); + } static int @@ -146,6 +160,7 @@ g_topology_assert(); KASSERT(d != NULL, ("gv_rename_plex: NULL p")); + return (0); } static int @@ -156,14 +171,45 @@ g_topology_assert(); KASSERT(d != NULL, ("gv_rename_sd: NULL s")); + return (0); } static int -gv_rename_vol(struct gv_softc *sc, struct gctl_req *req, struct gv_vol *v, char *newname, int flags) +gv_rename_vol(struct gv_softc *sc, struct gctl_req *req, struct gv_volume *v, char *newname, int flags) { int err; + struct gv_plex *p; + struct gv_sd *s; g_topology_assert(); KASSERT(d != NULL, ("gv_rename_vol: NULL v")); + printf("gv_rename_vol:\n"); + printf("\tsc = %p\n", sc); + printf("\treq = %p\n", req); + printf("\tv = %p\n", v); + printf("\t\tv->name = %s\n", v->name); + printf("\t\tv->size = %d\n", (int) v->size); + printf("\t\tv->plexcount = %d\n", v->plexcount); + printf("\tnewname = \"%s\"\n", newname); + printf("\tflags = %x\n", flags); + + printf("iterating across plexes list...\n"); + LIST_FOREACH(p, &v->plexes, plex) { + if (strcmp(p->volume, v->name)) { + continue; /* Not a plex we're looking for. */ + } + printf("\tp->name = %s\n", p->name); + printf("\tp->size = %d\n", (int) p->size); + printf("\tp->volume = %s\n", p->volume); +/* LIST_FOREACH(s, &p->subdisks, sd) { + printf("\t\ts->name = %s\n", s->name); + printf("\t\ts->size = %d\n", (int) s->size); + printf("\t\ts->drive = %s\n", s->drive); + printf("\t\ts->plex = %s\n", s->plex); + } */ + } + + return (0); + }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200508070222.j772MgMK045377>