staging: ramster/debug: Use an array to initialize/use debugfs attributes

Use an array to initialize/use debugfs attributes, it makes them
neater as zcache/debug.c does.

Acked-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Wanpeng Li 2013-04-13 21:01:28 +08:00 committed by Greg Kroah-Hartman
parent df73554300
commit 1dbdd2fb47

View File

@ -3,8 +3,6 @@
#ifdef CONFIG_DEBUG_FS
#include <linux/debugfs.h>
#define zdfs debugfs_create_size_t
#define zdfs64 debugfs_create_u64
ssize_t ramster_eph_pages_remoted;
ssize_t ramster_pers_pages_remoted;
@ -20,48 +18,46 @@ ssize_t ramster_remote_object_flushes_failed;
ssize_t ramster_remote_pages_flushed;
ssize_t ramster_remote_page_flushes_failed;
#define ATTR(x) { .name = #x, .val = &ramster_##x, }
static struct debug_entry {
const char *name;
ssize_t *val;
} attrs[] = {
ATTR(eph_pages_remoted),
ATTR(pers_pages_remoted),
ATTR(eph_pages_remote_failed),
ATTR(pers_pages_remote_failed),
ATTR(remote_eph_pages_succ_get),
ATTR(remote_pers_pages_succ_get),
ATTR(remote_eph_pages_unsucc_get),
ATTR(remote_pers_pages_unsucc_get),
ATTR(pers_pages_remote_nomem),
ATTR(remote_objects_flushed),
ATTR(remote_pages_flushed),
ATTR(remote_object_flushes_failed),
ATTR(remote_page_flushes_failed),
ATTR(foreign_eph_pages),
ATTR(foreign_eph_pages_max),
ATTR(foreign_pers_pages),
ATTR(foreign_pers_pages_max),
};
#undef ATTR
int __init ramster_debugfs_init(void)
{
int i;
struct dentry *root = debugfs_create_dir("ramster", NULL);
if (root == NULL)
return -ENXIO;
zdfs("eph_pages_remoted", S_IRUGO, root, &ramster_eph_pages_remoted);
zdfs("pers_pages_remoted", S_IRUGO, root, &ramster_pers_pages_remoted);
zdfs("eph_pages_remote_failed", S_IRUGO, root,
&ramster_eph_pages_remote_failed);
zdfs("pers_pages_remote_failed", S_IRUGO, root,
&ramster_pers_pages_remote_failed);
zdfs("remote_eph_pages_succ_get", S_IRUGO, root,
&ramster_remote_eph_pages_succ_get);
zdfs("remote_pers_pages_succ_get", S_IRUGO, root,
&ramster_remote_pers_pages_succ_get);
zdfs("remote_eph_pages_unsucc_get", S_IRUGO, root,
&ramster_remote_eph_pages_unsucc_get);
zdfs("remote_pers_pages_unsucc_get", S_IRUGO, root,
&ramster_remote_pers_pages_unsucc_get);
zdfs("pers_pages_remote_nomem", S_IRUGO, root,
&ramster_pers_pages_remote_nomem);
zdfs("remote_objects_flushed", S_IRUGO, root,
&ramster_remote_objects_flushed);
zdfs("remote_pages_flushed", S_IRUGO, root,
&ramster_remote_pages_flushed);
zdfs("remote_object_flushes_failed", S_IRUGO, root,
&ramster_remote_object_flushes_failed);
zdfs("remote_page_flushes_failed", S_IRUGO, root,
&ramster_remote_page_flushes_failed);
zdfs("foreign_eph_pages", S_IRUGO, root,
&ramster_foreign_eph_pages);
zdfs("foreign_eph_pages_max", S_IRUGO, root,
&ramster_foreign_eph_pages_max);
zdfs("foreign_pers_pages", S_IRUGO, root,
&ramster_foreign_pers_pages);
zdfs("foreign_pers_pages_max", S_IRUGO, root,
&ramster_foreign_pers_pages_max);
for (i = 0; i < ARRAY_SIZE(attrs); i++)
if (!debugfs_create_size_t(attrs[i].name,
S_IRUGO, root, attrs[i].val))
goto out;
return 0;
out:
return -ENODEV;
}
#undef zdebugfs
#undef zdfs64
#else
static inline int ramster_debugfs_init(void)
{