diff options
Diffstat (limited to 'fs/ocfs2/ocfs2_fs.h')
-rw-r--r-- | fs/ocfs2/ocfs2_fs.h | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/fs/ocfs2/ocfs2_fs.h b/fs/ocfs2/ocfs2_fs.h index f24ce3d3f956..5e0c0d0aef7d 100644 --- a/fs/ocfs2/ocfs2_fs.h +++ b/fs/ocfs2/ocfs2_fs.h | |||
@@ -86,7 +86,8 @@ | |||
86 | #define OCFS2_CLEAR_INCOMPAT_FEATURE(sb,mask) \ | 86 | #define OCFS2_CLEAR_INCOMPAT_FEATURE(sb,mask) \ |
87 | OCFS2_SB(sb)->s_feature_incompat &= ~(mask) | 87 | OCFS2_SB(sb)->s_feature_incompat &= ~(mask) |
88 | 88 | ||
89 | #define OCFS2_FEATURE_COMPAT_SUPP OCFS2_FEATURE_COMPAT_BACKUP_SB | 89 | #define OCFS2_FEATURE_COMPAT_SUPP (OCFS2_FEATURE_COMPAT_BACKUP_SB \ |
90 | | OCFS2_FEATURE_COMPAT_JBD2_SB) | ||
90 | #define OCFS2_FEATURE_INCOMPAT_SUPP (OCFS2_FEATURE_INCOMPAT_LOCAL_MOUNT \ | 91 | #define OCFS2_FEATURE_INCOMPAT_SUPP (OCFS2_FEATURE_INCOMPAT_LOCAL_MOUNT \ |
91 | | OCFS2_FEATURE_INCOMPAT_SPARSE_ALLOC \ | 92 | | OCFS2_FEATURE_INCOMPAT_SPARSE_ALLOC \ |
92 | | OCFS2_FEATURE_INCOMPAT_INLINE_DATA \ | 93 | | OCFS2_FEATURE_INCOMPAT_INLINE_DATA \ |
@@ -153,6 +154,11 @@ | |||
153 | #define OCFS2_FEATURE_COMPAT_BACKUP_SB 0x0001 | 154 | #define OCFS2_FEATURE_COMPAT_BACKUP_SB 0x0001 |
154 | 155 | ||
155 | /* | 156 | /* |
157 | * The filesystem will correctly handle journal feature bits. | ||
158 | */ | ||
159 | #define OCFS2_FEATURE_COMPAT_JBD2_SB 0x0002 | ||
160 | |||
161 | /* | ||
156 | * Unwritten extents support. | 162 | * Unwritten extents support. |
157 | */ | 163 | */ |
158 | #define OCFS2_FEATURE_RO_COMPAT_UNWRITTEN 0x0001 | 164 | #define OCFS2_FEATURE_RO_COMPAT_UNWRITTEN 0x0001 |
@@ -742,12 +748,12 @@ struct ocfs2_group_desc | |||
742 | */ | 748 | */ |
743 | struct ocfs2_xattr_entry { | 749 | struct ocfs2_xattr_entry { |
744 | __le32 xe_name_hash; /* hash value of xattr prefix+suffix. */ | 750 | __le32 xe_name_hash; /* hash value of xattr prefix+suffix. */ |
745 | __le16 xe_name_offset; /* byte offset from the 1st etnry in the local | 751 | __le16 xe_name_offset; /* byte offset from the 1st entry in the |
746 | local xattr storage(inode, xattr block or | 752 | local xattr storage(inode, xattr block or |
747 | xattr bucket). */ | 753 | xattr bucket). */ |
748 | __u8 xe_name_len; /* xattr name len, does't include prefix. */ | 754 | __u8 xe_name_len; /* xattr name len, does't include prefix. */ |
749 | __u8 xe_type; /* the low 7 bits indicates the name prefix's | 755 | __u8 xe_type; /* the low 7 bits indicate the name prefix |
750 | * type and the highest 1 bits indicate whether | 756 | * type and the highest bit indicates whether |
751 | * the EA is stored in the local storage. */ | 757 | * the EA is stored in the local storage. */ |
752 | __le64 xe_value_size; /* real xattr value length. */ | 758 | __le64 xe_value_size; /* real xattr value length. */ |
753 | }; | 759 | }; |
@@ -766,9 +772,10 @@ struct ocfs2_xattr_header { | |||
766 | xattr. */ | 772 | xattr. */ |
767 | __le16 xh_name_value_len; /* total length of name/value | 773 | __le16 xh_name_value_len; /* total length of name/value |
768 | length in this bucket. */ | 774 | length in this bucket. */ |
769 | __le16 xh_num_buckets; /* bucket nums in one extent | 775 | __le16 xh_num_buckets; /* Number of xattr buckets |
770 | record, only valid in the | 776 | in this extent record, |
771 | first bucket. */ | 777 | only valid in the first |
778 | bucket. */ | ||
772 | __le64 xh_csum; | 779 | __le64 xh_csum; |
773 | struct ocfs2_xattr_entry xh_entries[0]; /* xattr entry list. */ | 780 | struct ocfs2_xattr_entry xh_entries[0]; /* xattr entry list. */ |
774 | }; | 781 | }; |
@@ -776,8 +783,8 @@ struct ocfs2_xattr_header { | |||
776 | /* | 783 | /* |
777 | * On disk structure for xattr value root. | 784 | * On disk structure for xattr value root. |
778 | * | 785 | * |
779 | * It is used when one extended attribute's size is larger, and we will save it | 786 | * When an xattr's value is large enough, it is stored in an external |
780 | * in an outside cluster. It will stored in a b-tree like file content. | 787 | * b-tree like file data. The xattr value root points to this structure. |
781 | */ | 788 | */ |
782 | struct ocfs2_xattr_value_root { | 789 | struct ocfs2_xattr_value_root { |
783 | /*00*/ __le32 xr_clusters; /* clusters covered by xattr value. */ | 790 | /*00*/ __le32 xr_clusters; /* clusters covered by xattr value. */ |