From owner-freebsd-current@FreeBSD.ORG Sat Apr 14 13:31:24 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8900516A403 for ; Sat, 14 Apr 2007 13:31:24 +0000 (UTC) (envelope-from simokawa@freebsd.org) Received: from mail1.ecc.u-tokyo.ac.jp (mail1.ecc.u-tokyo.ac.jp [133.11.50.203]) by mx1.freebsd.org (Postfix) with ESMTP id 59F3813C46E for ; Sat, 14 Apr 2007 13:31:24 +0000 (UTC) (envelope-from simokawa@freebsd.org) Received: from spam002.ecc.u-tokyo.ac.jp (spam002.ecc.u-tokyo.ac.jp [133.11.50.195]) by mail1.ecc.u-tokyo.ac.jp (Postfix) with ESMTP id CC5E62A2AEF for ; Sat, 14 Apr 2007 22:31:23 +0900 (JST) Received: from maru5.nunu.org (157.82.169.72 [157.82.169.72]) by spam002.ecc.u-tokyo.ac.jp (SpamBlock.pst 3.4.97) with ESMTP id <86slb3t74o.wl%simokawa@FreeBSD.ORG> for ; Sat, 14 Apr 2007 22:31:20 +0900 Date: Sat, 14 Apr 2007 22:31:19 +0900 Message-ID: <86slb3t74o.wl%simokawa@FreeBSD.ORG> From: Hidetoshi Shimokawa To: Pawel Jakub Dawidek User-Agent: Wanderlust/2.15.2 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (=?ISO-8859-4?Q?Shij=F2?=) APEL/10.6 Emacs/22.0.50 (i386-unknown-freebsd5.4) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-IP: 157.82.169.72 X-FROM-DOMAIN: freebsd.org X-FROM-EMAIL: simokawa@freebsd.org Cc: freebsd-current@freebsd.org Subject: zdb patch X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2007 13:31:24 -0000 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 #include #include +#include /* * 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