diff options
author | Joel Becker <joel.becker@oracle.com> | 2010-03-25 22:07:42 -0400 |
---|---|---|
committer | Tao Ma <tao.ma@oracle.com> | 2010-03-25 22:07:42 -0400 |
commit | 9cbc01231e82f9390edaea2b766abcb7165dc4b2 (patch) | |
tree | 7fd72381972cae8bd81eb3c5d5c6d1fe26173b94 /fs/ocfs2/ocfs2_fs.h | |
parent | 7d1fe093bf04124dcc50c5dde1765bd098464bfa (diff) |
ocfs2: Add suballoc_loc to metadata blocks.
We need a suballoc_loc field on any suballocated block. Define them.
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Diffstat (limited to 'fs/ocfs2/ocfs2_fs.h')
-rw-r--r-- | fs/ocfs2/ocfs2_fs.h | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/fs/ocfs2/ocfs2_fs.h b/fs/ocfs2/ocfs2_fs.h index 888ba4ec42c6..a17bce591ee3 100644 --- a/fs/ocfs2/ocfs2_fs.h +++ b/fs/ocfs2/ocfs2_fs.h | |||
@@ -507,7 +507,10 @@ struct ocfs2_extent_block | |||
507 | block group */ | 507 | block group */ |
508 | __le32 h_fs_generation; /* Must match super block */ | 508 | __le32 h_fs_generation; /* Must match super block */ |
509 | __le64 h_blkno; /* Offset on disk, in blocks */ | 509 | __le64 h_blkno; /* Offset on disk, in blocks */ |
510 | /*20*/ __le64 h_reserved3; | 510 | /*20*/ __le64 h_suballoc_loc; /* Suballocator block group this |
511 | eb belongs to. Only valid | ||
512 | if allocated from a | ||
513 | discontiguous block group */ | ||
511 | __le64 h_next_leaf_blk; /* Offset on disk, in blocks, | 514 | __le64 h_next_leaf_blk; /* Offset on disk, in blocks, |
512 | of next leaf header pointing | 515 | of next leaf header pointing |
513 | to data */ | 516 | to data */ |
@@ -674,7 +677,11 @@ struct ocfs2_dinode { | |||
674 | /*80*/ struct ocfs2_block_check i_check; /* Error checking */ | 677 | /*80*/ struct ocfs2_block_check i_check; /* Error checking */ |
675 | /*88*/ __le64 i_dx_root; /* Pointer to dir index root block */ | 678 | /*88*/ __le64 i_dx_root; /* Pointer to dir index root block */ |
676 | /*90*/ __le64 i_refcount_loc; | 679 | /*90*/ __le64 i_refcount_loc; |
677 | __le64 i_reserved2[4]; | 680 | __le64 i_suballoc_loc; /* Suballocator block group this |
681 | inode belongs to. Only valid | ||
682 | if allocated from a | ||
683 | discontiguous block group */ | ||
684 | /*A0*/ __le64 i_reserved2[3]; | ||
678 | /*B8*/ union { | 685 | /*B8*/ union { |
679 | __le64 i_pad1; /* Generic way to refer to this | 686 | __le64 i_pad1; /* Generic way to refer to this |
680 | 64bit union */ | 687 | 64bit union */ |
@@ -809,7 +816,12 @@ struct ocfs2_dx_root_block { | |||
809 | __le32 dr_reserved2; | 816 | __le32 dr_reserved2; |
810 | __le64 dr_free_blk; /* Pointer to head of free | 817 | __le64 dr_free_blk; /* Pointer to head of free |
811 | * unindexed block list. */ | 818 | * unindexed block list. */ |
812 | __le64 dr_reserved3[15]; | 819 | __le64 dr_suballoc_loc; /* Suballocator block group |
820 | this root belongs to. | ||
821 | Only valid if allocated | ||
822 | from a discontiguous | ||
823 | block group */ | ||
824 | __le64 dr_reserved3[14]; | ||
813 | union { | 825 | union { |
814 | struct ocfs2_extent_list dr_list; /* Keep this aligned to 128 | 826 | struct ocfs2_extent_list dr_list; /* Keep this aligned to 128 |
815 | * bits for maximum space | 827 | * bits for maximum space |
@@ -929,7 +941,11 @@ struct ocfs2_refcount_block { | |||
929 | /*40*/ __le32 rf_generation; /* generation number. all be the same | 941 | /*40*/ __le32 rf_generation; /* generation number. all be the same |
930 | * for the same refcount tree. */ | 942 | * for the same refcount tree. */ |
931 | __le32 rf_reserved0; | 943 | __le32 rf_reserved0; |
932 | __le64 rf_reserved1[7]; | 944 | __le64 rf_suballoc_loc; /* Suballocator block group this |
945 | refcount block belongs to. Only | ||
946 | valid if allocated from a | ||
947 | discontiguous block group */ | ||
948 | /*50*/ __le64 rf_reserved1[6]; | ||
933 | /*80*/ union { | 949 | /*80*/ union { |
934 | struct ocfs2_refcount_list rf_records; /* List of refcount | 950 | struct ocfs2_refcount_list rf_records; /* List of refcount |
935 | records */ | 951 | records */ |
@@ -1041,7 +1057,10 @@ struct ocfs2_xattr_block { | |||
1041 | real xattr or a xattr tree. */ | 1057 | real xattr or a xattr tree. */ |
1042 | __le16 xb_reserved0; | 1058 | __le16 xb_reserved0; |
1043 | __le32 xb_reserved1; | 1059 | __le32 xb_reserved1; |
1044 | __le64 xb_reserved2; | 1060 | __le64 xb_suballoc_loc; /* Suballocator block group this |
1061 | xattr block belongs to. Only | ||
1062 | valid if allocated from a | ||
1063 | discontiguous block group */ | ||
1045 | /*30*/ union { | 1064 | /*30*/ union { |
1046 | struct ocfs2_xattr_header xb_header; /* xattr header if this | 1065 | struct ocfs2_xattr_header xb_header; /* xattr header if this |
1047 | block contains xattr */ | 1066 | block contains xattr */ |