xfs: create global stats and stats_clear in sysfs
Currently, xfs global stats are in procfs. This patch introduces (replicates) the global stats in sysfs. Additionally a stats_clear file is introduced in sysfs. Signed-off-by: Bill O'Donnell <billodo@redhat.com> Reviewed-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:

committed by
Dave Chinner

parent
1f93e4a96c
commit
bb230c1247
@@ -19,6 +19,7 @@
|
||||
#include <linux/sysctl.h>
|
||||
#include <linux/proc_fs.h>
|
||||
#include "xfs_error.h"
|
||||
#include "xfs_stats.h"
|
||||
|
||||
static struct ctl_table_header *xfs_table_header;
|
||||
|
||||
@@ -31,22 +32,12 @@ xfs_stats_clear_proc_handler(
|
||||
size_t *lenp,
|
||||
loff_t *ppos)
|
||||
{
|
||||
int c, ret, *valp = ctl->data;
|
||||
__uint32_t vn_active;
|
||||
int ret, *valp = ctl->data;
|
||||
|
||||
ret = proc_dointvec_minmax(ctl, write, buffer, lenp, ppos);
|
||||
|
||||
if (!ret && write && *valp) {
|
||||
xfs_notice(NULL, "Clearing xfsstats");
|
||||
for_each_possible_cpu(c) {
|
||||
preempt_disable();
|
||||
/* save vn_active, it's a universal truth! */
|
||||
vn_active = per_cpu(xfsstats, c).vn_active;
|
||||
memset(&per_cpu(xfsstats, c), 0,
|
||||
sizeof(struct xfsstats));
|
||||
per_cpu(xfsstats, c).vn_active = vn_active;
|
||||
preempt_enable();
|
||||
}
|
||||
xfs_stats_clearall();
|
||||
xfs_stats_clear = 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user