summaryrefslogtreecommitdiffstats
path: root/fs/nilfs2/sysfs.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nilfs2/sysfs.h')
-rw-r--r--fs/nilfs2/sysfs.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/fs/nilfs2/sysfs.h b/fs/nilfs2/sysfs.h
index 0aed2466105..2353b28c279 100644
--- a/fs/nilfs2/sysfs.h
+++ b/fs/nilfs2/sysfs.h
@@ -35,6 +35,17 @@ struct nilfs_##name##_attr { \
NILFS_COMMON_ATTR_STRUCT(feature);
+#define NILFS_DEV_ATTR_STRUCT(name) \
+struct nilfs_##name##_attr { \
+ struct attribute attr; \
+ ssize_t (*show)(struct nilfs_##name##_attr *, struct the_nilfs *, \
+ char *); \
+ ssize_t (*store)(struct nilfs_##name##_attr *, struct the_nilfs *, \
+ const char *, size_t); \
+};
+
+NILFS_DEV_ATTR_STRUCT(dev);
+
#define NILFS_ATTR(type, name, mode, show, store) \
static struct nilfs_##type##_attr nilfs_##type##_attr_##name = \
__ATTR(name, mode, show, store)
@@ -55,7 +66,16 @@ NILFS_COMMON_ATTR_STRUCT(feature);
#define NILFS_FEATURE_RW_ATTR(name) \
NILFS_RW_ATTR(feature, name)
+#define NILFS_DEV_INFO_ATTR(name) \
+ NILFS_INFO_ATTR(dev, name)
+#define NILFS_DEV_RO_ATTR(name) \
+ NILFS_RO_ATTR(dev, name)
+#define NILFS_DEV_RW_ATTR(name) \
+ NILFS_RW_ATTR(dev, name)
+
#define NILFS_FEATURE_ATTR_LIST(name) \
(&nilfs_feature_attr_##name.attr)
+#define NILFS_DEV_ATTR_LIST(name) \
+ (&nilfs_dev_attr_##name.attr)
#endif /* _NILFS_SYSFS_H */