diff options
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r-- | fs/btrfs/ctree.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 242b961ae6d..f72b4381934 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h | |||
@@ -196,6 +196,12 @@ struct btrfs_dev_item { | |||
196 | /* expected generation for this device */ | 196 | /* expected generation for this device */ |
197 | __le64 generation; | 197 | __le64 generation; |
198 | 198 | ||
199 | /* | ||
200 | * starting byte of this partition on the device, | ||
201 | * to allowr for stripe alignment in the future | ||
202 | */ | ||
203 | __le64 start_offset; | ||
204 | |||
199 | /* grouping information for allocation decisions */ | 205 | /* grouping information for allocation decisions */ |
200 | __le32 dev_group; | 206 | __le32 dev_group; |
201 | 207 | ||
@@ -311,6 +317,9 @@ struct btrfs_super_block { | |||
311 | __le64 root; | 317 | __le64 root; |
312 | __le64 chunk_root; | 318 | __le64 chunk_root; |
313 | __le64 log_root; | 319 | __le64 log_root; |
320 | |||
321 | /* this will help find the new super based on the log root */ | ||
322 | __le64 log_root_transid; | ||
314 | __le64 total_bytes; | 323 | __le64 total_bytes; |
315 | __le64 bytes_used; | 324 | __le64 bytes_used; |
316 | __le64 root_dir_objectid; | 325 | __le64 root_dir_objectid; |
@@ -329,7 +338,11 @@ struct btrfs_super_block { | |||
329 | u8 chunk_root_level; | 338 | u8 chunk_root_level; |
330 | u8 log_root_level; | 339 | u8 log_root_level; |
331 | struct btrfs_dev_item dev_item; | 340 | struct btrfs_dev_item dev_item; |
341 | |||
332 | char label[BTRFS_LABEL_SIZE]; | 342 | char label[BTRFS_LABEL_SIZE]; |
343 | |||
344 | /* future expansion */ | ||
345 | __le64 reserved[32]; | ||
333 | u8 sys_chunk_array[BTRFS_SYSTEM_CHUNK_ARRAY_SIZE]; | 346 | u8 sys_chunk_array[BTRFS_SYSTEM_CHUNK_ARRAY_SIZE]; |
334 | } __attribute__ ((__packed__)); | 347 | } __attribute__ ((__packed__)); |
335 | 348 | ||
@@ -463,6 +476,14 @@ struct btrfs_inode_item { | |||
463 | __le64 rdev; | 476 | __le64 rdev; |
464 | __le64 flags; | 477 | __le64 flags; |
465 | 478 | ||
479 | /* modification sequence number for NFS */ | ||
480 | __le64 sequence; | ||
481 | |||
482 | /* | ||
483 | * a little future expansion, for more than this we can | ||
484 | * just grow the inode item and version it | ||
485 | */ | ||
486 | __le64 reserved[4]; | ||
466 | struct btrfs_timespec atime; | 487 | struct btrfs_timespec atime; |
467 | struct btrfs_timespec ctime; | 488 | struct btrfs_timespec ctime; |
468 | struct btrfs_timespec mtime; | 489 | struct btrfs_timespec mtime; |
@@ -1001,6 +1022,8 @@ BTRFS_SETGET_FUNCS(device_total_bytes, struct btrfs_dev_item, total_bytes, 64); | |||
1001 | BTRFS_SETGET_FUNCS(device_bytes_used, struct btrfs_dev_item, bytes_used, 64); | 1022 | BTRFS_SETGET_FUNCS(device_bytes_used, struct btrfs_dev_item, bytes_used, 64); |
1002 | BTRFS_SETGET_FUNCS(device_io_align, struct btrfs_dev_item, io_align, 32); | 1023 | BTRFS_SETGET_FUNCS(device_io_align, struct btrfs_dev_item, io_align, 32); |
1003 | BTRFS_SETGET_FUNCS(device_io_width, struct btrfs_dev_item, io_width, 32); | 1024 | BTRFS_SETGET_FUNCS(device_io_width, struct btrfs_dev_item, io_width, 32); |
1025 | BTRFS_SETGET_FUNCS(device_start_offset, struct btrfs_dev_item, | ||
1026 | start_offset, 64); | ||
1004 | BTRFS_SETGET_FUNCS(device_sector_size, struct btrfs_dev_item, sector_size, 32); | 1027 | BTRFS_SETGET_FUNCS(device_sector_size, struct btrfs_dev_item, sector_size, 32); |
1005 | BTRFS_SETGET_FUNCS(device_id, struct btrfs_dev_item, devid, 64); | 1028 | BTRFS_SETGET_FUNCS(device_id, struct btrfs_dev_item, devid, 64); |
1006 | BTRFS_SETGET_FUNCS(device_group, struct btrfs_dev_item, dev_group, 32); | 1029 | BTRFS_SETGET_FUNCS(device_group, struct btrfs_dev_item, dev_group, 32); |
@@ -1135,6 +1158,7 @@ BTRFS_SETGET_FUNCS(inode_ref_index, struct btrfs_inode_ref, index, 64); | |||
1135 | 1158 | ||
1136 | /* struct btrfs_inode_item */ | 1159 | /* struct btrfs_inode_item */ |
1137 | BTRFS_SETGET_FUNCS(inode_generation, struct btrfs_inode_item, generation, 64); | 1160 | BTRFS_SETGET_FUNCS(inode_generation, struct btrfs_inode_item, generation, 64); |
1161 | BTRFS_SETGET_FUNCS(inode_sequence, struct btrfs_inode_item, sequence, 64); | ||
1138 | BTRFS_SETGET_FUNCS(inode_transid, struct btrfs_inode_item, transid, 64); | 1162 | BTRFS_SETGET_FUNCS(inode_transid, struct btrfs_inode_item, transid, 64); |
1139 | BTRFS_SETGET_FUNCS(inode_size, struct btrfs_inode_item, size, 64); | 1163 | BTRFS_SETGET_FUNCS(inode_size, struct btrfs_inode_item, size, 64); |
1140 | BTRFS_SETGET_FUNCS(inode_nbytes, struct btrfs_inode_item, nbytes, 64); | 1164 | BTRFS_SETGET_FUNCS(inode_nbytes, struct btrfs_inode_item, nbytes, 64); |
@@ -1519,6 +1543,8 @@ BTRFS_SETGET_STACK_FUNCS(super_chunk_root_level, struct btrfs_super_block, | |||
1519 | chunk_root_level, 8); | 1543 | chunk_root_level, 8); |
1520 | BTRFS_SETGET_STACK_FUNCS(super_log_root, struct btrfs_super_block, | 1544 | BTRFS_SETGET_STACK_FUNCS(super_log_root, struct btrfs_super_block, |
1521 | log_root, 64); | 1545 | log_root, 64); |
1546 | BTRFS_SETGET_STACK_FUNCS(super_log_root_transid, struct btrfs_super_block, | ||
1547 | log_root_transid, 64); | ||
1522 | BTRFS_SETGET_STACK_FUNCS(super_log_root_level, struct btrfs_super_block, | 1548 | BTRFS_SETGET_STACK_FUNCS(super_log_root_level, struct btrfs_super_block, |
1523 | log_root_level, 8); | 1549 | log_root_level, 8); |
1524 | BTRFS_SETGET_STACK_FUNCS(super_total_bytes, struct btrfs_super_block, | 1550 | BTRFS_SETGET_STACK_FUNCS(super_total_bytes, struct btrfs_super_block, |