From 5852a3f06a759cbb9e9d2a455c277ec2a44ba498 Mon Sep 17 00:00:00 2001 From: sanket Date: Thu, 1 Jul 2010 23:05:24 +0100 Subject: [PATCH] vos: Don't call SubEnumerate twice Set a flag to say when we've called SubEnumerate, so that we don't end up calling it twice when in -format mode (Simon Wilkinson extracted this from a larger patch by sanket) FIXES 41031 Change-Id: I2cadd536cb6c9f389330d64ffbf35a16d673d2de Reviewed-on: http://gerrit.openafs.org/2320 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- src/volser/vos.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/volser/vos.c b/src/volser/vos.c index ec86de6a6..69b52440a 100644 --- a/src/volser/vos.c +++ b/src/volser/vos.c @@ -1579,7 +1579,7 @@ ExamineVolume(register struct cmd_syndesc *as, void *arock) afs_int32 apart; int previdx = -1; int wantExtendedInfo; /*Do we want extended vol info? */ - + int isSubEnum=0; /* Keep track whether sub enumerate called. */ wantExtendedInfo = (as->parms[1].items ? 1 : 0); /* -extended */ volid = vsu_GetVolumeID(as->parms[0].items->data, cstruct, &err); /* -id */ @@ -1669,6 +1669,7 @@ ExamineVolume(register struct cmd_syndesc *as, void *arock) else if (as->parms[2].items) { DisplayFormat2(aserver, apart, pntr); EnumerateEntry(&entry); + isSubEnum = 1; } else VolumeStats_int(pntr, &entry, aserver, apart, voltype); @@ -1690,7 +1691,9 @@ ExamineVolume(register struct cmd_syndesc *as, void *arock) fprintf(STDERR, "Dump only information from VLDB\n\n"); fprintf(STDOUT, "%s \n", entry.name); /* PostVolumeStats doesn't print name */ } - PostVolumeStats(&entry); + + if (!isSubEnum) + PostVolumeStats(&entry); return (error); } -- 2.39.5