aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nilfs2/sysfs.h
diff options
context:
space:
mode:
authorVyacheslav Dubeyko <Vyacheslav.Dubeyko@hgst.com>2014-08-08 17:20:46 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-08-08 18:57:20 -0400
commitef43d5cd84b7d2ea09846de34e14be7d74be3e6f (patch)
tree67163715eb9012e931f9a7eefafe59a71ad20401 /fs/nilfs2/sysfs.h
parentabc968dbf291955ac750ecf59e3baf2b529a8257 (diff)
nilfs2: add /sys/fs/nilfs2/<device>/segments group
This patch adds creation of /sys/fs/nilfs2/<device>/segments group. The segments group contains attributes that describe details about volume's segments: (1) segments_number - show number of segments on volume. (2) blocks_per_segment - show number of blocks in segment. (3) clean_segments - show count of clean segments. (4) dirty_segments - show count of dirty segments. Signed-off-by: Vyacheslav Dubeyko <Vyacheslav.Dubeyko@hgst.com> Cc: Vyacheslav Dubeyko <slava@dubeyko.com> Cc: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> Cc: Michael L. Semon <mlsemon35@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/nilfs2/sysfs.h')
-rw-r--r--fs/nilfs2/sysfs.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/fs/nilfs2/sysfs.h b/fs/nilfs2/sysfs.h
index ad4d5bcc16f5..228bdd14f945 100644
--- a/fs/nilfs2/sysfs.h
+++ b/fs/nilfs2/sysfs.h
@@ -30,6 +30,8 @@
30 * @sg_superblock_kobj_unregister: completion state 30 * @sg_superblock_kobj_unregister: completion state
31 * @sg_segctor_kobj: /sys/fs/<nilfs>/<device>/segctor 31 * @sg_segctor_kobj: /sys/fs/<nilfs>/<device>/segctor
32 * @sg_segctor_kobj_unregister: completion state 32 * @sg_segctor_kobj_unregister: completion state
33 * @sg_segments_kobj: /sys/fs/<nilfs>/<device>/segments
34 * @sg_segments_kobj_unregister: completion state
33 */ 35 */
34struct nilfs_sysfs_dev_subgroups { 36struct nilfs_sysfs_dev_subgroups {
35 /* /sys/fs/<nilfs>/<device>/superblock */ 37 /* /sys/fs/<nilfs>/<device>/superblock */
@@ -39,6 +41,10 @@ struct nilfs_sysfs_dev_subgroups {
39 /* /sys/fs/<nilfs>/<device>/segctor */ 41 /* /sys/fs/<nilfs>/<device>/segctor */
40 struct kobject sg_segctor_kobj; 42 struct kobject sg_segctor_kobj;
41 struct completion sg_segctor_kobj_unregister; 43 struct completion sg_segctor_kobj_unregister;
44
45 /* /sys/fs/<nilfs>/<device>/segments */
46 struct kobject sg_segments_kobj;
47 struct completion sg_segments_kobj_unregister;
42}; 48};
43 49
44#define NILFS_COMMON_ATTR_STRUCT(name) \ 50#define NILFS_COMMON_ATTR_STRUCT(name) \
@@ -62,6 +68,7 @@ struct nilfs_##name##_attr { \
62}; 68};
63 69
64NILFS_DEV_ATTR_STRUCT(dev); 70NILFS_DEV_ATTR_STRUCT(dev);
71NILFS_DEV_ATTR_STRUCT(segments);
65NILFS_DEV_ATTR_STRUCT(superblock); 72NILFS_DEV_ATTR_STRUCT(superblock);
66NILFS_DEV_ATTR_STRUCT(segctor); 73NILFS_DEV_ATTR_STRUCT(segctor);
67 74
@@ -92,6 +99,11 @@ NILFS_DEV_ATTR_STRUCT(segctor);
92#define NILFS_DEV_RW_ATTR(name) \ 99#define NILFS_DEV_RW_ATTR(name) \
93 NILFS_RW_ATTR(dev, name) 100 NILFS_RW_ATTR(dev, name)
94 101
102#define NILFS_SEGMENTS_RO_ATTR(name) \
103 NILFS_RO_ATTR(segments, name)
104#define NILFS_SEGMENTS_RW_ATTR(name) \
105 NILFS_RW_ATTR(segs_info, name)
106
95#define NILFS_SUPERBLOCK_RO_ATTR(name) \ 107#define NILFS_SUPERBLOCK_RO_ATTR(name) \
96 NILFS_RO_ATTR(superblock, name) 108 NILFS_RO_ATTR(superblock, name)
97#define NILFS_SUPERBLOCK_RW_ATTR(name) \ 109#define NILFS_SUPERBLOCK_RW_ATTR(name) \
@@ -108,6 +120,8 @@ NILFS_DEV_ATTR_STRUCT(segctor);
108 (&nilfs_feature_attr_##name.attr) 120 (&nilfs_feature_attr_##name.attr)
109#define NILFS_DEV_ATTR_LIST(name) \ 121#define NILFS_DEV_ATTR_LIST(name) \
110 (&nilfs_dev_attr_##name.attr) 122 (&nilfs_dev_attr_##name.attr)
123#define NILFS_SEGMENTS_ATTR_LIST(name) \
124 (&nilfs_segments_attr_##name.attr)
111#define NILFS_SUPERBLOCK_ATTR_LIST(name) \ 125#define NILFS_SUPERBLOCK_ATTR_LIST(name) \
112 (&nilfs_superblock_attr_##name.attr) 126 (&nilfs_superblock_attr_##name.attr)
113#define NILFS_SEGCTOR_ATTR_LIST(name) \ 127#define NILFS_SEGCTOR_ATTR_LIST(name) \