From: Michael Meffie Date: Wed, 11 Apr 2012 19:34:29 +0000 (-0400) Subject: volinfo: show header filenames even if error X-Git-Tag: upstream/1.6.10_pre1^2~10 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=10683bed85f209dd33d9c833125050e4fd207d8b;p=packages%2Fo%2Fopenafs.git volinfo: show header filenames even if error When invoked with -header option, print the header inode number, and namei filename, even if the header file cannot be opened. Reviewed-on: http://gerrit.openafs.org/7190 Tested-by: BuildBot Reviewed-by: Tom Keiser Reviewed-by: Derrick Brashear (cherry picked from commit b71f4ffa7c58ef7b27eb6e28d00892906aec49ec) Change-Id: Ibd68433ea778d5359c873e3764800d60fa7ae95d Reviewed-on: http://gerrit.openafs.org/11274 Reviewed-by: Chas Williams - CONTRACTOR Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Stephan Wiesand --- diff --git a/src/vol/vol-info.c b/src/vol/vol-info.c index 7a6d26b45..b46980bcb 100644 --- a/src/vol/vol-info.c +++ b/src/vol/vol-info.c @@ -1200,7 +1200,7 @@ HandleSpecialFile(const char *name, struct DiskPartition64 *dp, struct VolumeHeader *header, Inode inode, afs_sfsize_t * psize) { - afs_sfsize_t size = 0; + afs_sfsize_t size = -1; IHandle_t *ih = NULL; FdHandle_t *fdP = NULL; #ifdef AFS_NAMEI_ENV @@ -1211,7 +1211,7 @@ HandleSpecialFile(const char *name, struct DiskPartition64 *dp, fdP = IH_OPEN(ih); if (fdP == NULL) { fprintf(stderr, - "%s: Error opening header file '%s' for volume %u", progname, + "%s: Error opening header file '%s' for volume %u\n", progname, name, header->id); perror("open"); goto error; @@ -1219,22 +1219,27 @@ HandleSpecialFile(const char *name, struct DiskPartition64 *dp, size = FDH_SIZE(fdP); if (size == -1) { fprintf(stderr, - "%s: Error getting size of header file '%s' for volume %u", + "%s: Error getting size of header file '%s' for volume %u\n", progname, name, header->id); perror("fstat"); goto error; } + *psize += size; + + error: if (DumpInfo) { - printf("\t%s inode\t= %s (size = %lld)\n", - name, PrintInode(NULL, inode), size); + printf("\t%s inode\t= %s (size = ", name, PrintInode(NULL, inode)); + if (size != -1) { + printf("%lld)\n", size); + } else { + printf("unknown)\n"); + } #ifdef AFS_NAMEI_ENV namei_HandleToName(&filename, ih); printf("\t%s namei\t= %s\n", name, filename.n_path); #endif /* AFS_NAMEI_ENV */ } - *psize += size; - error: if (fdP != NULL) { FDH_REALLYCLOSE(fdP); }