diff options
author | Vyacheslav Dubeyko <Vyacheslav.Dubeyko@hgst.com> | 2014-08-08 17:20:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-08 18:57:20 -0400 |
commit | da7141fb78db915680616e15677539fc8140cf53 (patch) | |
tree | fcec7b80ddf5bf6ff0b98b1ca7fa7610bf309432 /fs/nilfs2/sysfs.h | |
parent | aebe17f6844488ff0b824fbac28d9f342f7b078e (diff) |
nilfs2: add /sys/fs/nilfs2/<device> group
This patch adds creation of /sys/fs/nilfs2/<device> group.
The <device> group contains attributes that describe file
system partition's details:
(1) revision - show NILFS file system revision.
(2) blocksize - show volume block size in bytes.
(3) device_size - show volume size in bytes.
(4) free_blocks - show count of free blocks on volume.
(5) uuid - show volume's UUID.
(6) volume_name - show volume's name.
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.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/fs/nilfs2/sysfs.h b/fs/nilfs2/sysfs.h index 0aed24661052..2353b28c2796 100644 --- a/fs/nilfs2/sysfs.h +++ b/fs/nilfs2/sysfs.h | |||
@@ -35,6 +35,17 @@ struct nilfs_##name##_attr { \ | |||
35 | 35 | ||
36 | NILFS_COMMON_ATTR_STRUCT(feature); | 36 | NILFS_COMMON_ATTR_STRUCT(feature); |
37 | 37 | ||
38 | #define NILFS_DEV_ATTR_STRUCT(name) \ | ||
39 | struct nilfs_##name##_attr { \ | ||
40 | struct attribute attr; \ | ||
41 | ssize_t (*show)(struct nilfs_##name##_attr *, struct the_nilfs *, \ | ||
42 | char *); \ | ||
43 | ssize_t (*store)(struct nilfs_##name##_attr *, struct the_nilfs *, \ | ||
44 | const char *, size_t); \ | ||
45 | }; | ||
46 | |||
47 | NILFS_DEV_ATTR_STRUCT(dev); | ||
48 | |||
38 | #define NILFS_ATTR(type, name, mode, show, store) \ | 49 | #define NILFS_ATTR(type, name, mode, show, store) \ |
39 | static struct nilfs_##type##_attr nilfs_##type##_attr_##name = \ | 50 | static struct nilfs_##type##_attr nilfs_##type##_attr_##name = \ |
40 | __ATTR(name, mode, show, store) | 51 | __ATTR(name, mode, show, store) |
@@ -55,7 +66,16 @@ NILFS_COMMON_ATTR_STRUCT(feature); | |||
55 | #define NILFS_FEATURE_RW_ATTR(name) \ | 66 | #define NILFS_FEATURE_RW_ATTR(name) \ |
56 | NILFS_RW_ATTR(feature, name) | 67 | NILFS_RW_ATTR(feature, name) |
57 | 68 | ||
69 | #define NILFS_DEV_INFO_ATTR(name) \ | ||
70 | NILFS_INFO_ATTR(dev, name) | ||
71 | #define NILFS_DEV_RO_ATTR(name) \ | ||
72 | NILFS_RO_ATTR(dev, name) | ||
73 | #define NILFS_DEV_RW_ATTR(name) \ | ||
74 | NILFS_RW_ATTR(dev, name) | ||
75 | |||
58 | #define NILFS_FEATURE_ATTR_LIST(name) \ | 76 | #define NILFS_FEATURE_ATTR_LIST(name) \ |
59 | (&nilfs_feature_attr_##name.attr) | 77 | (&nilfs_feature_attr_##name.attr) |
78 | #define NILFS_DEV_ATTR_LIST(name) \ | ||
79 | (&nilfs_dev_attr_##name.attr) | ||
60 | 80 | ||
61 | #endif /* _NILFS_SYSFS_H */ | 81 | #endif /* _NILFS_SYSFS_H */ |