From owner-svn-src-stable@FreeBSD.ORG  Thu Nov  6 22:32:20 2008
Return-Path: <owner-svn-src-stable@FreeBSD.ORG>
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 2F3E81065700;
	Thu,  6 Nov 2008 22:32:20 +0000 (UTC)
	(envelope-from peter@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 1CA0B8FC1E;
	Thu,  6 Nov 2008 22:32:20 +0000 (UTC)
	(envelope-from peter@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 mA6MWKdO067495;
	Thu, 6 Nov 2008 22:32:20 GMT (envelope-from peter@svn.freebsd.org)
Received: (from peter@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id mA6MWKD4067493;
	Thu, 6 Nov 2008 22:32:20 GMT (envelope-from peter@svn.freebsd.org)
Message-Id: <200811062232.mA6MWKD4067493@svn.freebsd.org>
From: Peter Wemm <peter@FreeBSD.org>
Date: Thu, 6 Nov 2008 22:32:20 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org
X-SVN-Group: stable-7
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r184741 - in stable/7/sys: . kern modules/cxgb sys
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	<svn-src-stable.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-stable>, 
	<mailto:svn-src-stable-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-stable>
List-Post: <mailto:svn-src-stable@freebsd.org>
List-Help: <mailto:svn-src-stable-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-stable>,
	<mailto:svn-src-stable-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 06 Nov 2008 22:32:20 -0000

Author: peter
Date: Thu Nov  6 22:32:19 2008
New Revision: 184741
URL: http://svn.freebsd.org/changeset/base/184741

Log:
  MFC: r184492 - add offset / fileid / fsid to KERN_PROC_VMMAP sysctl
  for the benefit of valgrind.
  
  Approved by:	re (kib)

Modified:
  stable/7/sys/   (props changed)
  stable/7/sys/kern/kern_proc.c
  stable/7/sys/modules/cxgb/   (props changed)
  stable/7/sys/sys/user.h

Modified: stable/7/sys/kern/kern_proc.c
==============================================================================
--- stable/7/sys/kern/kern_proc.c	Thu Nov  6 22:28:04 2008	(r184740)
+++ stable/7/sys/kern/kern_proc.c	Thu Nov  6 22:32:19 2008	(r184741)
@@ -1346,6 +1346,8 @@ sysctl_kern_proc_vmmap(SYSCTL_HANDLER_AR
 	unsigned int last_timestamp;
 	char *fullpath, *freepath;
 	struct kinfo_vmentry *kve;
+	struct vattr va;
+	struct ucred *cred;
 	int error, *name;
 	struct vnode *vp;
 	struct proc *p;
@@ -1405,6 +1407,8 @@ sysctl_kern_proc_vmmap(SYSCTL_HANDLER_AR
 			lobj = tobj;
 		}
 
+		kve->kve_fileid = 0;
+		kve->kve_fsid = 0;
 		freepath = NULL;
 		fullpath = "";
 		if (lobj) {
@@ -1446,6 +1450,11 @@ sysctl_kern_proc_vmmap(SYSCTL_HANDLER_AR
 				    curthread);
 				vn_fullpath(curthread, vp, &fullpath,
 				    &freepath);
+				cred = curthread->td_ucred;
+				if (VOP_GETATTR(vp, &va, cred) == 0) {
+					kve->kve_fileid = va.va_fileid;
+					kve->kve_fsid = va.va_fsid;
+				}
 				vput(vp);
 				VFS_UNLOCK_GIANT(vfslocked);
 			}
@@ -1457,6 +1466,7 @@ sysctl_kern_proc_vmmap(SYSCTL_HANDLER_AR
 
 		kve->kve_start = (void*)entry->start;
 		kve->kve_end = (void*)entry->end;
+		kve->kve_offset = (off_t)entry->offset;
 
 		if (entry->protection & VM_PROT_READ)
 			kve->kve_protection |= KVME_PROT_READ;

Modified: stable/7/sys/sys/user.h
==============================================================================
--- stable/7/sys/sys/user.h	Thu Nov  6 22:28:04 2008	(r184740)
+++ stable/7/sys/sys/user.h	Thu Nov  6 22:32:19 2008	(r184741)
@@ -320,7 +320,10 @@ struct kinfo_vmentry {
 	int	 kve_shadow_count;		/* VM obj shadow count. */
 	char	 kve_path[PATH_MAX];		/* Path to VM obj, if any. */
 	void	*_kve_pspare[8];		/* Space for more stuff. */
-	int	 _kve_ispare[8];		/* Space for more stuff. */
+	off_t	 kve_offset;			/* Mapping offset in object */
+	uint64_t kve_fileid;			/* inode number of vnode */
+	dev_t	 kve_fsid;			/* dev_t of vnode location */
+	int	 _kve_ispare[3];		/* Space for more stuff. */
 };
 
 /*