ocfs2: sparse b-tree support
[deliverable/linux.git] / fs / ocfs2 / ocfs2_fs.h
index c99e9058c1988940451d7faf21d24818c83e71cc..f0101974f4f94a70074b04e8bfd35b52ca2cc3f8 100644 (file)
@@ -86,7 +86,8 @@
        OCFS2_SB(sb)->s_feature_incompat &= ~(mask)
 
 #define OCFS2_FEATURE_COMPAT_SUPP      OCFS2_FEATURE_COMPAT_BACKUP_SB
-#define OCFS2_FEATURE_INCOMPAT_SUPP    OCFS2_FEATURE_INCOMPAT_LOCAL_MOUNT
+#define OCFS2_FEATURE_INCOMPAT_SUPP    (OCFS2_FEATURE_INCOMPAT_LOCAL_MOUNT \
+                                        | OCFS2_FEATURE_INCOMPAT_SPARSE_ALLOC)
 #define OCFS2_FEATURE_RO_COMPAT_SUPP   0
 
 /*
@@ -311,7 +312,10 @@ struct ocfs2_extent_list {
 /*00*/ __le16 l_tree_depth;            /* Extent tree depth from this
                                           point.  0 means data extents
                                           hang directly off this
-                                          header (a leaf) */
+                                          header (a leaf)
+                                          NOTE: The high 8 bits cannot be
+                                          used - tree_depth is never that big.
+                                       */
        __le16 l_count;                 /* Number of extent records */
        __le16 l_next_free_rec;         /* Next unused extent slot */
        __le16 l_reserved1;
@@ -446,7 +450,9 @@ struct ocfs2_dinode {
        __le32 i_ctime_nsec;
        __le32 i_mtime_nsec;
        __le32 i_attr;
-       __le32 i_reserved1;
+       __le16 i_orphaned_slot;         /* Only valid when OCFS2_ORPHANED_FL
+                                          was set in i_flags */
+       __le16 i_reserved1;
 /*70*/ __le64 i_reserved2[8];
 /*B8*/ union {
                __le64 i_pad1;          /* Generic way to refer to this
@@ -587,7 +593,7 @@ static inline u64 ocfs2_backup_super_blkno(struct super_block *sb, int index)
 
        if (index >= 0 && index < OCFS2_MAX_BACKUP_SUPERBLOCKS) {
                offset <<= (2 * index);
-               offset /= sb->s_blocksize;
+               offset >>= sb->s_blocksize_bits;
                return offset;
        }
 
This page took 0.032251 seconds and 5 git commands to generate.