In message <[EMAIL PROTECTED]>, Sean Kelly writes:
>On Tue, Jul 08, 2003 at 10:35:47PM +0200, Poul-Henning Kamp wrote:
>> 
>> Can you try this patch ?
>
>...
>> diff -u -r1.28 geom_dump.c
>> --- geom_dump.c      11 Jun 2003 06:49:15 -0000      1.28
>> +++ geom_dump.c      8 Jul 2003 20:00:45 -0000
>...
>> @@ -162,6 +164,8 @@
>>              sbuf_printf(sb, "\t  <provider ref=\"%p\"/>\n", cp->provider);
>>      sbuf_printf(sb, "\t  <mode>r%dw%de%d</mode>\n",
>>          cp->acr, cp->acw, cp->ace);
>> +    if (cp->geom->flags & G_GEOM_WITHER)
>> +            ;
>>      if (cp->geom->dumpconf != NULL) {
>>              sbuf_printf(sb, "\t  <config>\n");
>...
>
>Should that be "else if ((cp->geom->dumpconf != NULL)"? I don't know the
>code, but I'm basing this question off of what is below in the patch:

Yes, an else is missing there.

Corrected patch:

Index: geom_dump.c
===================================================================
RCS file: /home/ncvs/src/sys/geom/geom_dump.c,v
retrieving revision 1.28
diff -u -r1.28 geom_dump.c
--- geom_dump.c 11 Jun 2003 06:49:15 -0000      1.28
+++ geom_dump.c 8 Jul 2003 20:51:04 -0000
@@ -114,6 +114,8 @@
        struct g_provider *pp;
        struct g_consumer *cp;
 
+       if (gp->flags & G_GEOM_WITHER)
+               return;
        LIST_FOREACH(pp, &gp->provider, provider) {
                sbuf_printf(sb, "%d %s %s %ju %u", level, gp->class->name,
                    pp->name, (uintmax_t)pp->mediasize, pp->sectorsize);
@@ -162,7 +164,9 @@
                sbuf_printf(sb, "\t  <provider ref=\"%p\"/>\n", cp->provider);
        sbuf_printf(sb, "\t  <mode>r%dw%de%d</mode>\n",
            cp->acr, cp->acw, cp->ace);
-       if (cp->geom->dumpconf != NULL) {
+       if (cp->geom->flags & G_GEOM_WITHER)
+               ;
+       else if (cp->geom->dumpconf != NULL) {
                sbuf_printf(sb, "\t  <config>\n");
                cp->geom->dumpconf(sb, "\t    ", cp->geom, cp, NULL);
                sbuf_printf(sb, "\t  </config>\n");
@@ -182,7 +186,9 @@
        sbuf_printf(sb, "\t  <mediasize>%jd</mediasize>\n",
            (intmax_t)pp->mediasize);
        sbuf_printf(sb, "\t  <sectorsize>%u</sectorsize>\n", pp->sectorsize);
-       if (pp->geom->dumpconf != NULL) {
+       if (pp->geom->flags & G_GEOM_WITHER)
+               ;
+       else if (pp->geom->dumpconf != NULL) {
                sbuf_printf(sb, "\t  <config>\n");
                pp->geom->dumpconf(sb, "\t    ", pp->geom, NULL, pp);
                sbuf_printf(sb, "\t  </config>\n");
@@ -201,7 +207,9 @@
        sbuf_printf(sb, "      <class ref=\"%p\"/>\n", gp->class);
        sbuf_printf(sb, "      <name>%s</name>\n", gp->name);
        sbuf_printf(sb, "      <rank>%d</rank>\n", gp->rank);
-       if (gp->dumpconf != NULL) {
+       if (gp->flags & G_GEOM_WITHER)
+               sbuf_printf(sb, "      <wither/>\n");
+       else if (gp->dumpconf != NULL) {
                sbuf_printf(sb, "      <config>\n");
                gp->dumpconf(sb, "\t", gp, NULL, NULL);
                sbuf_printf(sb, "      </config>\n");


-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
[EMAIL PROTECTED]         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to