diff options
author | dim <dim@FreeBSD.org> | 2015-06-09 19:14:27 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2015-06-09 19:14:27 +0000 |
commit | 6370dd4a2cfcd7b1e323f780f34523097a892d0c (patch) | |
tree | 16a54540a7fb71a7c91fd866ad2437410acbf587 /sys/kern/kern_proc.c | |
parent | 8c2b6d93700b452fac3cadba57de1b18a783ec92 (diff) | |
parent | 8fbb8a1dd51626b81ee23212d3001e3908ff17c4 (diff) | |
download | FreeBSD-src-6370dd4a2cfcd7b1e323f780f34523097a892d0c.zip FreeBSD-src-6370dd4a2cfcd7b1e323f780f34523097a892d0c.tar.gz |
Merged ^/head r283871 through r284187.
Diffstat (limited to 'sys/kern/kern_proc.c')
-rw-r--r-- | sys/kern/kern_proc.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index 6618c08..fc33feb 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -2113,7 +2113,15 @@ sysctl_kern_proc_ovmmap(SYSCTL_HANDLER_ARGS) vref(vp); break; case OBJT_SWAP: - kve->kve_type = KVME_TYPE_SWAP; + if ((lobj->flags & OBJ_TMPFS_NODE) != 0) { + kve->kve_type = KVME_TYPE_VNODE; + if ((lobj->flags & OBJ_TMPFS) != 0) { + vp = lobj->un_pager.swp.swp_tmpfs; + vref(vp); + } + } else { + kve->kve_type = KVME_TYPE_SWAP; + } break; case OBJT_DEVICE: kve->kve_type = KVME_TYPE_DEVICE; @@ -2339,7 +2347,15 @@ kern_proc_vmmap_out(struct proc *p, struct sbuf *sb) vref(vp); break; case OBJT_SWAP: - kve->kve_type = KVME_TYPE_SWAP; + if ((lobj->flags & OBJ_TMPFS_NODE) != 0) { + kve->kve_type = KVME_TYPE_VNODE; + if ((lobj->flags & OBJ_TMPFS) != 0) { + vp = lobj->un_pager.swp.swp_tmpfs; + vref(vp); + } + } else { + kve->kve_type = KVME_TYPE_SWAP; + } break; case OBJT_DEVICE: kve->kve_type = KVME_TYPE_DEVICE; |