mirror of
https://github.com/freebsd/freebsd-src
synced 2024-07-24 03:37:16 +00:00
mount: revert the active vnode reporting feature
Revert the computing of active vnode reporting since statfs is used by a lot of tools. Only report the vnodes used. Reported by: mjg
This commit is contained in:
parent
d87fad3633
commit
ce00b11940
|
@ -692,11 +692,10 @@ prmount(struct statfs *sfp)
|
|||
xo_emit("{D:, }{Lw:fsid}{:fsid}", fsidbuf);
|
||||
free(fsidbuf);
|
||||
}
|
||||
if (sfp->f_nvnodelistsize != 0 || sfp->f_avnodecount != 0) {
|
||||
if (sfp->f_nvnodelistsize != 0) {
|
||||
xo_open_container("vnodes");
|
||||
xo_emit("{D:, }{Lwc:vnodes}{Lw:count}{w:count/%ju}{Lw:active}{:active/%ju}",
|
||||
(uintmax_t)sfp->f_nvnodelistsize,
|
||||
(uintmax_t)sfp->f_avnodecount);
|
||||
xo_emit("{D:, }{Lwc:vnodes}{Lw:count}{w:count/%ju}",
|
||||
(uintmax_t)sfp->f_nvnodelistsize);
|
||||
xo_close_container("vnodes");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2610,9 +2610,6 @@ vfs_copyopt(struct vfsoptlist *opts, const char *name, void *dest, int len)
|
|||
int
|
||||
__vfs_statfs(struct mount *mp, struct statfs *sbp)
|
||||
{
|
||||
struct vnode *vp;
|
||||
uint32_t count;
|
||||
|
||||
/*
|
||||
* Filesystems only fill in part of the structure for updates, we
|
||||
* have to read the entirety first to get all content.
|
||||
|
@ -2628,15 +2625,6 @@ __vfs_statfs(struct mount *mp, struct statfs *sbp)
|
|||
sbp->f_flags = mp->mnt_flag & MNT_VISFLAGMASK;
|
||||
sbp->f_nvnodelistsize = mp->mnt_nvnodelistsize;
|
||||
|
||||
count = 0;
|
||||
MNT_ILOCK(mp);
|
||||
TAILQ_FOREACH(vp, &mp->mnt_nvnodelist, v_nmntvnodes) {
|
||||
if (vrefcnt(vp) > 0) /* racy but does not matter */
|
||||
count++;
|
||||
}
|
||||
MNT_IUNLOCK(mp);
|
||||
sbp->f_avnodecount = count;
|
||||
|
||||
return (mp->mnt_op->vfs_statfs(mp, sbp));
|
||||
}
|
||||
|
||||
|
|
|
@ -92,7 +92,7 @@ struct statfs {
|
|||
uint64_t f_syncreads; /* count of sync reads since mount */
|
||||
uint64_t f_asyncreads; /* count of async reads since mount */
|
||||
uint32_t f_nvnodelistsize; /* # of vnodes */
|
||||
uint32_t f_avnodecount; /* # of active vnodes */
|
||||
uint32_t f_spare0; /* unused spare */
|
||||
uint64_t f_spare[9]; /* unused spare */
|
||||
uint32_t f_namemax; /* maximum filename length */
|
||||
uid_t f_owner; /* user that mounted the filesystem */
|
||||
|
|
Loading…
Reference in a new issue