From owner-svn-src-projects@FreeBSD.ORG Sat Aug 1 21:46:55 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BB80C106566B; Sat, 1 Aug 2009 21:46:55 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AA4098FC26; Sat, 1 Aug 2009 21:46:55 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n71LktWa093463; Sat, 1 Aug 2009 21:46:55 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n71LktZx093461; Sat, 1 Aug 2009 21:46:55 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200908012146.n71LktZx093461@svn.freebsd.org> From: Stanislav Sedov Date: Sat, 1 Aug 2009 21:46:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196023 - projects/libprocstat/sys/kern X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Aug 2009 21:46:56 -0000 Author: stas Date: Sat Aug 1 21:46:55 2009 New Revision: 196023 URL: http://svn.freebsd.org/changeset/base/196023 Log: - Correctly retrieve fsid for vnodes that belong to filesystems not supporting these fields. Modified: projects/libprocstat/sys/kern/kern_descrip.c Modified: projects/libprocstat/sys/kern/kern_descrip.c ============================================================================== --- projects/libprocstat/sys/kern/kern_descrip.c Sat Aug 1 21:45:48 2009 (r196022) +++ projects/libprocstat/sys/kern/kern_descrip.c Sat Aug 1 21:46:55 2009 (r196023) @@ -3193,6 +3193,8 @@ fill_vnode_info(struct vnode *vp, struct /* * Retrieve vnode attributes. */ + va.va_fsid = VNOVAL; + va.va_rdev = NODEV; vfslocked = VFS_LOCK_GIANT(vp->v_mount); vn_lock(vp, LK_SHARED | LK_RETRY); error = VOP_GETATTR(vp, &va, curthread->td_ucred); @@ -3200,7 +3202,11 @@ fill_vnode_info(struct vnode *vp, struct VFS_UNLOCK_GIANT(vfslocked); if (error != 0) return (error); - kif->kf_un.kf_file.kf_file_fsid = va.va_fsid; + if (va.va_fsid != VNOVAL) + kif->kf_un.kf_file.kf_file_fsid = va.va_fsid; + else + kif->kf_un.kf_file.kf_file_fsid = + vp->v_mount->mnt_stat.f_fsid.val[0]; kif->kf_un.kf_file.kf_file_fileid = va.va_fileid; kif->kf_un.kf_file.kf_file_mode = MAKEIMODE(va.va_type, va.va_mode); kif->kf_un.kf_file.kf_file_size = va.va_size;