Date: Thu, 6 Nov 2008 22:32:20 +0000 (UTC) From: Peter Wemm <peter@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org Subject: svn commit: r184741 - in stable/7/sys: . kern modules/cxgb sys Message-ID: <200811062232.mA6MWKD4067493@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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. */ }; /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811062232.mA6MWKD4067493>