summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2015-04-13 22:10:36 (GMT)
committerJaegeuk Kim <jaegeuk@kernel.org>2015-05-28 22:41:28 (GMT)
commit76f105a2dbcd47509bac6ba8d94cb3759a3e6e9d (patch)
tree123117eb19f5c4b7b21ad8be6679e1b778c4b184
parentb5492af78c89b52a8e7273445b2248b397a15333 (diff)
downloadlinux-76f105a2dbcd47509bac6ba8d94cb3759a3e6e9d.tar.xz
f2fs: add feature facility in superblock
This patch introduces a feature in superblock, which will indicate any new features for f2fs. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fs/f2fs/f2fs.h7
-rw-r--r--include/linux/f2fs_fs.h3
2 files changed, 9 insertions, 1 deletions
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index cd9748a..e1dd986 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -70,6 +70,13 @@ struct f2fs_mount_info {
unsigned int opt;
};
+#define F2FS_HAS_FEATURE(sb, mask) \
+ ((F2FS_SB(sb)->raw_super->feature & cpu_to_le32(mask)) != 0)
+#define F2FS_SET_FEATURE(sb, mask) \
+ F2FS_SB(sb)->raw_super->feature |= cpu_to_le32(mask)
+#define F2FS_CLEAR_FEATURE(sb, mask) \
+ F2FS_SB(sb)->raw_super->feature &= ~cpu_to_le32(mask)
+
#define CRCPOLY_LE 0xedb88320
static inline __u32 f2fs_crc32(void *buf, size_t len)
diff --git a/include/linux/f2fs_fs.h b/include/linux/f2fs_fs.h
index 8d345c2..d44e97f 100644
--- a/include/linux/f2fs_fs.h
+++ b/include/linux/f2fs_fs.h
@@ -90,7 +90,8 @@ struct f2fs_super_block {
__le32 cp_payload;
__u8 version[VERSION_LEN]; /* the kernel version */
__u8 init_version[VERSION_LEN]; /* the initial kernel version */
- __u8 reserved[892]; /* valid reserved region */
+ __le32 feature; /* defined features */
+ __u8 reserved[888]; /* valid reserved region */
} __packed;
/*