Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Apr 2007 22:31:19 +0900
From:      Hidetoshi Shimokawa <simokawa@FreeBSD.ORG>
To:        Pawel Jakub Dawidek <pjd@freebsd.org>
Cc:        freebsd-current@freebsd.org
Subject:   zdb patch
Message-ID:  <86slb3t74o.wl%simokawa@FreeBSD.ORG>

next in thread | raw e-mail | index | archive | help
Here is a patch for zdb.
Now we can 'zdb -u pool' :-)

==== //depot/user/simokawa/firewire/contrib/opensolaris/lib/libzpool/common/kernel.c#2 - /home/p4/firewire/contrib/opensolaris/lib/libzpool/common/kernel.c ====
@@ -38,6 +38,7 @@
 #include <sys/zfs_context.h>
 #include <sys/zmod.h>
 #include <sys/utsname.h>
+#include <sys/disk.h>
 
 /*
  * Emulation of kernel services in userland.
@@ -291,7 +292,11 @@
 
 	ASSERT(abstime > 0);
 top:
+#if 0
 	delta = abstime - lbolt;
+#else /* for compatibility with FreeBSD kernel */
+	delta = abstime;
+#endif
 	if (delta <= 0)
 		return (-1);
 
@@ -413,7 +418,11 @@
 	*vpp = vp = umem_zalloc(sizeof (vnode_t), UMEM_NOFAIL);
 
 	vp->v_fd = fd;
-	vp->v_size = st.st_size;
+	if (st.st_mode & S_IFCHR) {
+		ioctl(fd, DIOCGMEDIASIZE, &vp->v_size);
+	} else {
+		vp->v_size = st.st_size;
+	}
 	vp->v_path = spa_strdup(path);
 
 	return (0);


/\ Hidetoshi Shimokawa
\/  simokawa@FreeBSD.ORG



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86slb3t74o.wl%simokawa>