zdb -l fix

Hidetoshi Shimokawa simokawa at FreeBSD.ORG
Fri Aug 3 15:05:30 UTC 2007


Hi,

Current "zdb -l dev" causes errors on label 2 and 3.
The following patch fixes the problem.
It may be better to be incorporated into 7.0.
Thanks,

Index: src/contrib/opensolaris/cmd/zdb/zdb.c
===================================================================
--- src.orig/contrib/opensolaris/cmd/zdb/zdb.c  2007-08-02
01:25:16.000000000 +0900
+++ src/contrib/opensolaris/cmd/zdb/zdb.c       2007-08-03
23:28:06.475733977 +0900
@@ -1136,7 +1136,11 @@
                exit(1);
        }

-       psize = statbuf.st_size;
+       if (S_ISCHR(statbuf.st_mode))
+               ioctl(fd, DIOCGMEDIASIZE, &psize);
+       else
+               psize = statbuf.st_size;
+
        psize = P2ALIGN(psize, (uint64_t)sizeof (vdev_label_t));

        for (l = 0; l < VDEV_LABELS; l++) {

-- 
/\ Hidetoshi Shimokawa
\/  simokawa at FreeBSD.ORG


More information about the freebsd-current mailing list