summaryrefslogtreecommitdiffstats
path: root/sbin/vinum
diff options
context:
space:
mode:
authorgrog <grog@FreeBSD.org>2001-05-23 05:21:22 +0000
committergrog <grog@FreeBSD.org>2001-05-23 05:21:22 +0000
commit8e11e4930364adece1d4c680a37dcbaf7ff7f413 (patch)
tree06ced5688661e647d39413f386b27186f8075891 /sbin/vinum
parent4ebc84e6166b69dab863d6c8505142c68e0deec4 (diff)
downloadFreeBSD-src-8e11e4930364adece1d4c680a37dcbaf7ff7f413.zip
FreeBSD-src-8e11e4930364adece1d4c680a37dcbaf7ff7f413.tar.gz
Remove #ifdef VINUMDEBUG. vinum(8) now always supports debug options
if the kernel module is built that way. vinum_info: Check for kernel module debug support, print error message if not present.
Diffstat (limited to 'sbin/vinum')
-rw-r--r--sbin/vinum/list.c350
1 files changed, 175 insertions, 175 deletions
diff --git a/sbin/vinum/list.c b/sbin/vinum/list.c
index 0ddd58d..24dc35e 100644
--- a/sbin/vinum/list.c
+++ b/sbin/vinum/list.c
@@ -833,192 +833,192 @@ vinum_info(int argc, char *argv[], char *argv0[])
struct meminfo meminfo;
struct mc malloced;
int i;
-#if VINUMDEBUG
struct rqinfo rq;
-#endif
if (ioctl(superdev, VINUM_GETCONFIG, &vinum_conf) < 0) {
perror("Can't get vinum config");
return;
}
- printf("Flags: 0x%x\n", vinum_conf.flags);
- if (ioctl(superdev, VINUM_MEMINFO, &meminfo) < 0) {
- perror("Can't get information");
- return;
- }
- printf("Total of %d blocks malloced, total memory: %d\nMaximum allocs: %8d, malloc table at 0x%08x\n",
- meminfo.mallocs,
- meminfo.total_malloced,
- meminfo.highwater,
- (int) meminfo.malloced);
-
- printf("%d requests active, maximum %d active\n",
- vinum_conf.active,
- vinum_conf.maxactive);
- if (vflag && (!Verbose))
- for (i = 0; i < meminfo.mallocs; i++) {
- malloced.seq = i;
- if (ioctl(superdev, VINUM_MALLOCINFO, &malloced) < 0) {
- perror("Can't get information");
- return;
- }
- if (!(i & 63))
- printf("Block\tSequence\t size\t address\t line\t\tfile\n\n");
- printf("%6d\t%6d\t\t%6d\t0x%08x\t%6d\t\t%s\n",
- i,
- malloced.seq,
- malloced.size,
- (int) malloced.address,
- malloced.line,
- (char *) &malloced.file);
+ if ((vinum_conf.flags & VF_HASDEBUG) == 0)
+ fprintf(stderr, "Kernel module does not have debug support\n");
+ else {
+ printf("Flags: 0x%x\n", vinum_conf.flags);
+ if (ioctl(superdev, VINUM_MEMINFO, &meminfo) < 0) {
+ perror("Can't get information");
+ return;
}
-#if VINUMDEBUG
- if (Verbose) {
- printf("\nTime\t\t Event\t Buf\tDev\t Offset\tBytes\tSD\tSDoff\tDoffset\tGoffset\n\n");
- for (i = RQINFO_SIZE - 1; i >= 0; i--) { /* go through the request list in order */
- *((int *) &rq) = i;
- if (ioctl(superdev, VINUM_RQINFO, &rq) < 0) {
- perror("Can't get information");
- return;
+ printf("Total of %d blocks malloced, total memory: %d\nMaximum allocs: %8d, malloc table at 0x%08x\n",
+ meminfo.mallocs,
+ meminfo.total_malloced,
+ meminfo.highwater,
+ (int) meminfo.malloced);
+
+ printf("%d requests active, maximum %d active\n",
+ vinum_conf.active,
+ vinum_conf.maxactive);
+ if (vflag && (!Verbose))
+ for (i = 0; i < meminfo.mallocs; i++) {
+ malloced.seq = i;
+ if (ioctl(superdev, VINUM_MALLOCINFO, &malloced) < 0) {
+ perror("Can't get information");
+ return;
+ }
+ if (!(i & 63))
+ printf("Block\tSequence\t size\t address\t line\t\tfile\n\n");
+ printf("%6d\t%6d\t\t%6d\t0x%08x\t%6d\t\t%s\n",
+ i,
+ malloced.seq,
+ malloced.size,
+ (int) malloced.address,
+ malloced.line,
+ (char *) &malloced.file);
}
- /* Compress devminor into something printable. */
- rq.devminor = (rq.devminor & 0xff)
- | ((rq.devminor & 0xfff0000) >> 8);
- switch (rq.type) {
- case loginfo_unused: /* never been used */
- break;
-
- case loginfo_user_bp: /* this is the bp when strategy is called */
- printf("%s %dVS %s %p\t%d.%-6d 0x%-9x\t%ld\n",
- timetext(&rq.timestamp),
- rq.type,
- rq.info.b.b_iocmd == BIO_READ ? "Read " : "Write",
- rq.bp,
- rq.devmajor,
- rq.devminor,
- rq.info.b.b_blkno,
- rq.info.b.b_bcount);
- break;
-
- case loginfo_sdiol: /* subdisk I/O launch */
- case loginfo_user_bpl: /* and this is the bp at launch time */
- printf("%s %dLR %s %p\t%d.%-6d 0x%-9x\t%ld\n",
- timetext(&rq.timestamp),
- rq.type,
- rq.info.b.b_iocmd == BIO_READ ? "Read " : "Write",
- rq.bp,
- rq.devmajor,
- rq.devminor,
- rq.info.b.b_blkno,
- rq.info.b.b_bcount);
- break;
-
- case loginfo_rqe: /* user RQE */
- printf("%s 3RQ %s %p\t%d.%-6d 0x%-9x\t%ld\t%d\t%x\t%x\t%x\n",
- timetext(&rq.timestamp),
- rq.info.rqe.b.b_iocmd == BIO_READ ? "Read " : "Write",
- rq.bp,
- rq.devmajor,
- rq.devminor,
- rq.info.rqe.b.b_blkno,
- rq.info.rqe.b.b_bcount,
- rq.info.rqe.sdno,
- rq.info.rqe.sdoffset,
- rq.info.rqe.dataoffset,
- rq.info.rqe.groupoffset);
- break;
-
- case loginfo_iodone: /* iodone called */
- printf("%s 4DN %s %p\t%d.%-6d 0x%-9x\t%ld\t%d\t%x\t%x\t%x\n",
- timetext(&rq.timestamp),
- rq.info.rqe.b.b_iocmd == BIO_READ ? "Read " : "Write",
- rq.bp,
- rq.devmajor,
- rq.devminor,
- rq.info.rqe.b.b_blkno,
- rq.info.rqe.b.b_bcount,
- rq.info.rqe.sdno,
- rq.info.rqe.sdoffset,
- rq.info.rqe.dataoffset,
- rq.info.rqe.groupoffset);
- break;
-
- case loginfo_raid5_data: /* RAID-5 write data block */
- printf("%s 5RD %s %p\t%d.%-6d 0x%-9x\t%ld\t%d\t%x\t%x\t%x\n",
- timetext(&rq.timestamp),
- rq.info.rqe.b.b_iocmd == BIO_READ ? "Read " : "Write",
- rq.bp,
- rq.devmajor,
- rq.devminor,
- rq.info.rqe.b.b_blkno,
- rq.info.rqe.b.b_bcount,
- rq.info.rqe.sdno,
- rq.info.rqe.sdoffset,
- rq.info.rqe.dataoffset,
- rq.info.rqe.groupoffset);
- break;
-
- case loginfo_raid5_parity: /* RAID-5 write parity block */
- printf("%s 6RP %s %p\t%d.%-6d 0x%-9x\t%ld\t%d\t%x\t%x\t%x\n",
- timetext(&rq.timestamp),
- rq.info.rqe.b.b_iocmd == BIO_READ ? "Read " : "Write",
- rq.bp,
- rq.devmajor,
- rq.devminor,
- rq.info.rqe.b.b_blkno,
- rq.info.rqe.b.b_bcount,
- rq.info.rqe.sdno,
- rq.info.rqe.sdoffset,
- rq.info.rqe.dataoffset,
- rq.info.rqe.groupoffset);
- break;
-
- case loginfo_sdio: /* subdisk I/O */
- printf("%s %dVS %s %p\t\t 0x%-9x\t%ld\t%d\n",
- timetext(&rq.timestamp),
- rq.type,
- rq.info.b.b_iocmd == BIO_READ ? "Read " : "Write",
- rq.bp,
- rq.info.b.b_blkno,
- rq.info.b.b_bcount,
- rq.devminor);
- break;
-
- case loginfo_sdiodone: /* subdisk I/O done */
- printf("%s %dSD %s %p\t\t 0x%-9x\t%ld\t%d\n",
- timetext(&rq.timestamp),
- rq.type,
- rq.info.b.b_iocmd == BIO_READ ? "Read " : "Write",
- rq.bp,
- rq.info.b.b_blkno,
- rq.info.b.b_bcount,
- rq.devminor);
- break;
-
- case loginfo_lockwait:
- printf("%s Lockwait %p\t 0x%x\n",
- timetext(&rq.timestamp),
- rq.bp,
- rq.info.lockinfo.stripe);
- break;
-
- case loginfo_lock:
- printf("%s Lock %p\t 0x%x\n",
- timetext(&rq.timestamp),
- rq.bp,
- rq.info.lockinfo.stripe);
- break;
-
- case loginfo_unlock:
- printf("%s Unlock\t %p\t 0x%x\n",
- timetext(&rq.timestamp),
- rq.bp,
- rq.info.lockinfo.stripe);
- break;
+ if (Verbose) {
+ printf("\nTime\t\t Event\t Buf\tDev\t Offset\tBytes\tSD\tSDoff\tDoffset\tGoffset\n\n");
+ for (i = RQINFO_SIZE - 1; i >= 0; i--) { /* go through the request list in order */
+ *((int *) &rq) = i;
+ if (ioctl(superdev, VINUM_RQINFO, &rq) < 0) {
+ perror("Can't get information");
+ return;
+ }
+ /* Compress devminor into something printable. */
+ rq.devminor = (rq.devminor & 0xff)
+ | ((rq.devminor & 0xfff0000) >> 8);
+ switch (rq.type) {
+ case loginfo_unused: /* never been used */
+ break;
+
+ case loginfo_user_bp: /* this is the bp when strategy is called */
+ printf("%s %dVS %s %p\t%d.%-6d 0x%-9x\t%ld\n",
+ timetext(&rq.timestamp),
+ rq.type,
+ rq.info.b.b_iocmd == BIO_READ ? "Read " : "Write",
+ rq.bp,
+ rq.devmajor,
+ rq.devminor,
+ rq.info.b.b_blkno,
+ rq.info.b.b_bcount);
+ break;
+
+ case loginfo_sdiol: /* subdisk I/O launch */
+ case loginfo_user_bpl: /* and this is the bp at launch time */
+ printf("%s %dLR %s %p\t%d.%-6d 0x%-9x\t%ld\n",
+ timetext(&rq.timestamp),
+ rq.type,
+ rq.info.b.b_iocmd == BIO_READ ? "Read " : "Write",
+ rq.bp,
+ rq.devmajor,
+ rq.devminor,
+ rq.info.b.b_blkno,
+ rq.info.b.b_bcount);
+ break;
+
+ case loginfo_rqe: /* user RQE */
+ printf("%s 3RQ %s %p\t%d.%-6d 0x%-9x\t%ld\t%d\t%x\t%x\t%x\n",
+ timetext(&rq.timestamp),
+ rq.info.rqe.b.b_iocmd == BIO_READ ? "Read " : "Write",
+ rq.bp,
+ rq.devmajor,
+ rq.devminor,
+ rq.info.rqe.b.b_blkno,
+ rq.info.rqe.b.b_bcount,
+ rq.info.rqe.sdno,
+ rq.info.rqe.sdoffset,
+ rq.info.rqe.dataoffset,
+ rq.info.rqe.groupoffset);
+ break;
+
+ case loginfo_iodone: /* iodone called */
+ printf("%s 4DN %s %p\t%d.%-6d 0x%-9x\t%ld\t%d\t%x\t%x\t%x\n",
+ timetext(&rq.timestamp),
+ rq.info.rqe.b.b_iocmd == BIO_READ ? "Read " : "Write",
+ rq.bp,
+ rq.devmajor,
+ rq.devminor,
+ rq.info.rqe.b.b_blkno,
+ rq.info.rqe.b.b_bcount,
+ rq.info.rqe.sdno,
+ rq.info.rqe.sdoffset,
+ rq.info.rqe.dataoffset,
+ rq.info.rqe.groupoffset);
+ break;
+
+ case loginfo_raid5_data: /* RAID-5 write data block */
+ printf("%s 5RD %s %p\t%d.%-6d 0x%-9x\t%ld\t%d\t%x\t%x\t%x\n",
+ timetext(&rq.timestamp),
+ rq.info.rqe.b.b_iocmd == BIO_READ ? "Read " : "Write",
+ rq.bp,
+ rq.devmajor,
+ rq.devminor,
+ rq.info.rqe.b.b_blkno,
+ rq.info.rqe.b.b_bcount,
+ rq.info.rqe.sdno,
+ rq.info.rqe.sdoffset,
+ rq.info.rqe.dataoffset,
+ rq.info.rqe.groupoffset);
+ break;
+
+ case loginfo_raid5_parity: /* RAID-5 write parity block */
+ printf("%s 6RP %s %p\t%d.%-6d 0x%-9x\t%ld\t%d\t%x\t%x\t%x\n",
+ timetext(&rq.timestamp),
+ rq.info.rqe.b.b_iocmd == BIO_READ ? "Read " : "Write",
+ rq.bp,
+ rq.devmajor,
+ rq.devminor,
+ rq.info.rqe.b.b_blkno,
+ rq.info.rqe.b.b_bcount,
+ rq.info.rqe.sdno,
+ rq.info.rqe.sdoffset,
+ rq.info.rqe.dataoffset,
+ rq.info.rqe.groupoffset);
+ break;
+
+ case loginfo_sdio: /* subdisk I/O */
+ printf("%s %dVS %s %p\t\t 0x%-9x\t%ld\t%d\n",
+ timetext(&rq.timestamp),
+ rq.type,
+ rq.info.b.b_iocmd == BIO_READ ? "Read " : "Write",
+ rq.bp,
+ rq.info.b.b_blkno,
+ rq.info.b.b_bcount,
+ rq.devminor);
+ break;
+
+ case loginfo_sdiodone: /* subdisk I/O done */
+ printf("%s %dSD %s %p\t\t 0x%-9x\t%ld\t%d\n",
+ timetext(&rq.timestamp),
+ rq.type,
+ rq.info.b.b_iocmd == BIO_READ ? "Read " : "Write",
+ rq.bp,
+ rq.info.b.b_blkno,
+ rq.info.b.b_bcount,
+ rq.devminor);
+ break;
+
+ case loginfo_lockwait:
+ printf("%s Lockwait %p\t 0x%x\n",
+ timetext(&rq.timestamp),
+ rq.bp,
+ rq.info.lockinfo.stripe);
+ break;
+
+ case loginfo_lock:
+ printf("%s Lock %p\t 0x%x\n",
+ timetext(&rq.timestamp),
+ rq.bp,
+ rq.info.lockinfo.stripe);
+ break;
+
+ case loginfo_unlock:
+ printf("%s Unlock\t %p\t 0x%x\n",
+ timetext(&rq.timestamp),
+ rq.bp,
+ rq.info.lockinfo.stripe);
+ break;
+ }
}
}
}
-#endif
}
/*
OpenPOWER on IntegriCloud