In FreeBSD 9, examining the VM map of a process (with e.g. 'procstat
-v') with a tmpfs file mapped showed a VNODE type and displayed the file
path. In 10.0 up to CURRENT (I believe this started at r250030), instead
SWAP is shown without a filepath.
This has some unfortunate consequences; I discovered this problem when
trying to use dtrace's pid provider, which fails to find symbols for
executables running from tmpfs.
I've attached a patch which will repair procstat/dtrace. There are a few
other places such a patch would be needed. I'm willing to put together
such a patch, but would like to first hear some feedback that this seems
like a reasonable approach, or if there's anything I've missed.
Thoughts?
Eric
Index: sys/kern/kern_proc.c
===================================================================
--- sys/kern/kern_proc.c (revision 277957)
+++ sys/kern/kern_proc.c (working copy)
@@ -2337,6 +2337,11 @@
break;
case OBJT_SWAP:
kve->kve_type = KVME_TYPE_SWAP;
+ if ((lobj->flags & OBJ_TMPFS) != 0)
+ {
+ vp = lobj->un_pager.swp.swp_tmpfs;
+ vref(vp);
+ }
break;
case OBJT_DEVICE:
kve->kve_type = KVME_TYPE_DEVICE;
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"