diff options
author | Qu Wenruo <quwenruo@cn.fujitsu.com> | 2013-07-15 23:19:18 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@fusionio.com> | 2013-09-01 07:57:37 -0400 |
commit | 3cae210fa529d69cb25c2a3c491f29dab687b245 (patch) | |
tree | 998853ce555cbabda25eafbc4e8fc9aaa378b693 | |
parent | 1e7bac1ef754b3112eb78c64a7382d286e454424 (diff) |
btrfs: Cleanup for using BTRFS_SETGET_STACK instead of raw convert
Some codes still use the cpu_to_lexx instead of the
BTRFS_SETGET_STACK_FUNCS declared in ctree.h.
Also added some BTRFS_SETGET_STACK_FUNCS for btrfs_header btrfs_timespec
and other structures.
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Reviewed-by: Miao Xie <miaoxie@cn.fujitsu.com>
Reviewed-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
-rw-r--r-- | fs/btrfs/check-integrity.c | 110 | ||||
-rw-r--r-- | fs/btrfs/ctree.h | 47 | ||||
-rw-r--r-- | fs/btrfs/delayed-inode.c | 32 | ||||
-rw-r--r-- | fs/btrfs/disk-io.c | 14 | ||||
-rw-r--r-- | fs/btrfs/ioctl.c | 28 | ||||
-rw-r--r-- | fs/btrfs/root-tree.c | 14 | ||||
-rw-r--r-- | fs/btrfs/scrub.c | 12 | ||||
-rw-r--r-- | fs/btrfs/transaction.c | 4 | ||||
-rw-r--r-- | fs/btrfs/volumes.c | 2 |
9 files changed, 150 insertions, 113 deletions
diff --git a/fs/btrfs/check-integrity.c b/fs/btrfs/check-integrity.c index 1431a6965017..1f706e93e622 100644 --- a/fs/btrfs/check-integrity.c +++ b/fs/btrfs/check-integrity.c | |||
@@ -813,7 +813,7 @@ static int btrfsic_process_superblock_dev_mirror( | |||
813 | (bh->b_data + (dev_bytenr & 4095)); | 813 | (bh->b_data + (dev_bytenr & 4095)); |
814 | 814 | ||
815 | if (btrfs_super_bytenr(super_tmp) != dev_bytenr || | 815 | if (btrfs_super_bytenr(super_tmp) != dev_bytenr || |
816 | super_tmp->magic != cpu_to_le64(BTRFS_MAGIC) || | 816 | btrfs_super_magic(super_tmp) != BTRFS_MAGIC || |
817 | memcmp(device->uuid, super_tmp->dev_item.uuid, BTRFS_UUID_SIZE) || | 817 | memcmp(device->uuid, super_tmp->dev_item.uuid, BTRFS_UUID_SIZE) || |
818 | btrfs_super_nodesize(super_tmp) != state->metablock_size || | 818 | btrfs_super_nodesize(super_tmp) != state->metablock_size || |
819 | btrfs_super_leafsize(super_tmp) != state->metablock_size || | 819 | btrfs_super_leafsize(super_tmp) != state->metablock_size || |
@@ -880,20 +880,20 @@ static int btrfsic_process_superblock_dev_mirror( | |||
880 | tmp_disk_key.offset = 0; | 880 | tmp_disk_key.offset = 0; |
881 | switch (pass) { | 881 | switch (pass) { |
882 | case 0: | 882 | case 0: |
883 | tmp_disk_key.objectid = | 883 | btrfs_set_disk_key_objectid(&tmp_disk_key, |
884 | cpu_to_le64(BTRFS_ROOT_TREE_OBJECTID); | 884 | BTRFS_ROOT_TREE_OBJECTID); |
885 | additional_string = "initial root "; | 885 | additional_string = "initial root "; |
886 | next_bytenr = btrfs_super_root(super_tmp); | 886 | next_bytenr = btrfs_super_root(super_tmp); |
887 | break; | 887 | break; |
888 | case 1: | 888 | case 1: |
889 | tmp_disk_key.objectid = | 889 | btrfs_set_disk_key_objectid(&tmp_disk_key, |
890 | cpu_to_le64(BTRFS_CHUNK_TREE_OBJECTID); | 890 | BTRFS_CHUNK_TREE_OBJECTID); |
891 | additional_string = "initial chunk "; | 891 | additional_string = "initial chunk "; |
892 | next_bytenr = btrfs_super_chunk_root(super_tmp); | 892 | next_bytenr = btrfs_super_chunk_root(super_tmp); |
893 | break; | 893 | break; |
894 | case 2: | 894 | case 2: |
895 | tmp_disk_key.objectid = | 895 | btrfs_set_disk_key_objectid(&tmp_disk_key, |
896 | cpu_to_le64(BTRFS_TREE_LOG_OBJECTID); | 896 | BTRFS_TREE_LOG_OBJECTID); |
897 | additional_string = "initial log "; | 897 | additional_string = "initial log "; |
898 | next_bytenr = btrfs_super_log_root(super_tmp); | 898 | next_bytenr = btrfs_super_log_root(super_tmp); |
899 | if (0 == next_bytenr) | 899 | if (0 == next_bytenr) |
@@ -1003,7 +1003,7 @@ continue_with_new_stack_frame: | |||
1003 | (struct btrfs_leaf *)sf->hdr; | 1003 | (struct btrfs_leaf *)sf->hdr; |
1004 | 1004 | ||
1005 | if (-1 == sf->i) { | 1005 | if (-1 == sf->i) { |
1006 | sf->nr = le32_to_cpu(leafhdr->header.nritems); | 1006 | sf->nr = btrfs_stack_header_nritems(&leafhdr->header); |
1007 | 1007 | ||
1008 | if (state->print_mask & BTRFSIC_PRINT_MASK_VERBOSE) | 1008 | if (state->print_mask & BTRFSIC_PRINT_MASK_VERBOSE) |
1009 | printk(KERN_INFO | 1009 | printk(KERN_INFO |
@@ -1013,9 +1013,11 @@ continue_with_new_stack_frame: | |||
1013 | sf->block_ctx->start, | 1013 | sf->block_ctx->start, |
1014 | sf->nr, | 1014 | sf->nr, |
1015 | (unsigned long long) | 1015 | (unsigned long long) |
1016 | le64_to_cpu(leafhdr->header.generation), | 1016 | btrfs_stack_header_generation( |
1017 | &leafhdr->header), | ||
1017 | (unsigned long long) | 1018 | (unsigned long long) |
1018 | le64_to_cpu(leafhdr->header.owner)); | 1019 | btrfs_stack_header_owner( |
1020 | &leafhdr->header)); | ||
1019 | } | 1021 | } |
1020 | 1022 | ||
1021 | continue_with_current_leaf_stack_frame: | 1023 | continue_with_current_leaf_stack_frame: |
@@ -1047,10 +1049,10 @@ leaf_item_out_of_bounce_error: | |||
1047 | &disk_item, | 1049 | &disk_item, |
1048 | disk_item_offset, | 1050 | disk_item_offset, |
1049 | sizeof(struct btrfs_item)); | 1051 | sizeof(struct btrfs_item)); |
1050 | item_offset = le32_to_cpu(disk_item.offset); | 1052 | item_offset = btrfs_stack_item_offset(&disk_item); |
1051 | item_size = le32_to_cpu(disk_item.size); | 1053 | item_size = btrfs_stack_item_offset(&disk_item); |
1052 | disk_key = &disk_item.key; | 1054 | disk_key = &disk_item.key; |
1053 | type = disk_key->type; | 1055 | type = btrfs_disk_key_type(disk_key); |
1054 | 1056 | ||
1055 | if (BTRFS_ROOT_ITEM_KEY == type) { | 1057 | if (BTRFS_ROOT_ITEM_KEY == type) { |
1056 | struct btrfs_root_item root_item; | 1058 | struct btrfs_root_item root_item; |
@@ -1066,7 +1068,7 @@ leaf_item_out_of_bounce_error: | |||
1066 | sf->block_ctx, &root_item, | 1068 | sf->block_ctx, &root_item, |
1067 | root_item_offset, | 1069 | root_item_offset, |
1068 | item_size); | 1070 | item_size); |
1069 | next_bytenr = le64_to_cpu(root_item.bytenr); | 1071 | next_bytenr = btrfs_root_bytenr(&root_item); |
1070 | 1072 | ||
1071 | sf->error = | 1073 | sf->error = |
1072 | btrfsic_create_link_to_next_block( | 1074 | btrfsic_create_link_to_next_block( |
@@ -1081,8 +1083,8 @@ leaf_item_out_of_bounce_error: | |||
1081 | &sf->num_copies, | 1083 | &sf->num_copies, |
1082 | &sf->mirror_num, | 1084 | &sf->mirror_num, |
1083 | disk_key, | 1085 | disk_key, |
1084 | le64_to_cpu(root_item. | 1086 | btrfs_root_generation( |
1085 | generation)); | 1087 | &root_item)); |
1086 | if (sf->error) | 1088 | if (sf->error) |
1087 | goto one_stack_frame_backwards; | 1089 | goto one_stack_frame_backwards; |
1088 | 1090 | ||
@@ -1130,7 +1132,7 @@ leaf_item_out_of_bounce_error: | |||
1130 | struct btrfs_node *const nodehdr = (struct btrfs_node *)sf->hdr; | 1132 | struct btrfs_node *const nodehdr = (struct btrfs_node *)sf->hdr; |
1131 | 1133 | ||
1132 | if (-1 == sf->i) { | 1134 | if (-1 == sf->i) { |
1133 | sf->nr = le32_to_cpu(nodehdr->header.nritems); | 1135 | sf->nr = btrfs_stack_header_nritems(&nodehdr->header); |
1134 | 1136 | ||
1135 | if (state->print_mask & BTRFSIC_PRINT_MASK_VERBOSE) | 1137 | if (state->print_mask & BTRFSIC_PRINT_MASK_VERBOSE) |
1136 | printk(KERN_INFO "node %llu level %d items %d" | 1138 | printk(KERN_INFO "node %llu level %d items %d" |
@@ -1139,9 +1141,11 @@ leaf_item_out_of_bounce_error: | |||
1139 | sf->block_ctx->start, | 1141 | sf->block_ctx->start, |
1140 | nodehdr->header.level, sf->nr, | 1142 | nodehdr->header.level, sf->nr, |
1141 | (unsigned long long) | 1143 | (unsigned long long) |
1142 | le64_to_cpu(nodehdr->header.generation), | 1144 | btrfs_stack_header_generation( |
1145 | &nodehdr->header), | ||
1143 | (unsigned long long) | 1146 | (unsigned long long) |
1144 | le64_to_cpu(nodehdr->header.owner)); | 1147 | btrfs_stack_header_owner( |
1148 | &nodehdr->header)); | ||
1145 | } | 1149 | } |
1146 | 1150 | ||
1147 | continue_with_current_node_stack_frame: | 1151 | continue_with_current_node_stack_frame: |
@@ -1168,7 +1172,7 @@ continue_with_current_node_stack_frame: | |||
1168 | btrfsic_read_from_block_data( | 1172 | btrfsic_read_from_block_data( |
1169 | sf->block_ctx, &key_ptr, key_ptr_offset, | 1173 | sf->block_ctx, &key_ptr, key_ptr_offset, |
1170 | sizeof(struct btrfs_key_ptr)); | 1174 | sizeof(struct btrfs_key_ptr)); |
1171 | next_bytenr = le64_to_cpu(key_ptr.blockptr); | 1175 | next_bytenr = btrfs_stack_key_blockptr(&key_ptr); |
1172 | 1176 | ||
1173 | sf->error = btrfsic_create_link_to_next_block( | 1177 | sf->error = btrfsic_create_link_to_next_block( |
1174 | state, | 1178 | state, |
@@ -1182,7 +1186,7 @@ continue_with_current_node_stack_frame: | |||
1182 | &sf->num_copies, | 1186 | &sf->num_copies, |
1183 | &sf->mirror_num, | 1187 | &sf->mirror_num, |
1184 | &key_ptr.key, | 1188 | &key_ptr.key, |
1185 | le64_to_cpu(key_ptr.generation)); | 1189 | btrfs_stack_key_generation(&key_ptr)); |
1186 | if (sf->error) | 1190 | if (sf->error) |
1187 | goto one_stack_frame_backwards; | 1191 | goto one_stack_frame_backwards; |
1188 | 1192 | ||
@@ -1444,12 +1448,13 @@ static int btrfsic_handle_extent_data( | |||
1444 | file_extent_item_offset, | 1448 | file_extent_item_offset, |
1445 | offsetof(struct btrfs_file_extent_item, disk_num_bytes)); | 1449 | offsetof(struct btrfs_file_extent_item, disk_num_bytes)); |
1446 | if (BTRFS_FILE_EXTENT_REG != file_extent_item.type || | 1450 | if (BTRFS_FILE_EXTENT_REG != file_extent_item.type || |
1447 | ((u64)0) == le64_to_cpu(file_extent_item.disk_bytenr)) { | 1451 | btrfs_stack_file_extent_disk_bytenr(&file_extent_item) == 0) { |
1448 | if (state->print_mask & BTRFSIC_PRINT_MASK_VERY_VERBOSE) | 1452 | if (state->print_mask & BTRFSIC_PRINT_MASK_VERY_VERBOSE) |
1449 | printk(KERN_INFO "extent_data: type %u, disk_bytenr = %llu\n", | 1453 | printk(KERN_INFO "extent_data: type %u, disk_bytenr = %llu\n", |
1450 | file_extent_item.type, | 1454 | file_extent_item.type, |
1451 | (unsigned long long) | 1455 | (unsigned long long) |
1452 | le64_to_cpu(file_extent_item.disk_bytenr)); | 1456 | btrfs_stack_file_extent_disk_bytenr( |
1457 | &file_extent_item)); | ||
1453 | return 0; | 1458 | return 0; |
1454 | } | 1459 | } |
1455 | 1460 | ||
@@ -1463,19 +1468,20 @@ static int btrfsic_handle_extent_data( | |||
1463 | btrfsic_read_from_block_data(block_ctx, &file_extent_item, | 1468 | btrfsic_read_from_block_data(block_ctx, &file_extent_item, |
1464 | file_extent_item_offset, | 1469 | file_extent_item_offset, |
1465 | sizeof(struct btrfs_file_extent_item)); | 1470 | sizeof(struct btrfs_file_extent_item)); |
1466 | next_bytenr = le64_to_cpu(file_extent_item.disk_bytenr) + | 1471 | next_bytenr = btrfs_stack_file_extent_disk_bytenr(&file_extent_item) + |
1467 | le64_to_cpu(file_extent_item.offset); | 1472 | btrfs_stack_file_extent_offset(&file_extent_item); |
1468 | generation = le64_to_cpu(file_extent_item.generation); | 1473 | generation = btrfs_stack_file_extent_generation(&file_extent_item); |
1469 | num_bytes = le64_to_cpu(file_extent_item.num_bytes); | 1474 | num_bytes = btrfs_stack_file_extent_num_bytes(&file_extent_item); |
1470 | generation = le64_to_cpu(file_extent_item.generation); | 1475 | generation = btrfs_stack_file_extent_generation(&file_extent_item); |
1471 | 1476 | ||
1472 | if (state->print_mask & BTRFSIC_PRINT_MASK_VERY_VERBOSE) | 1477 | if (state->print_mask & BTRFSIC_PRINT_MASK_VERY_VERBOSE) |
1473 | printk(KERN_INFO "extent_data: type %u, disk_bytenr = %llu," | 1478 | printk(KERN_INFO "extent_data: type %u, disk_bytenr = %llu," |
1474 | " offset = %llu, num_bytes = %llu\n", | 1479 | " offset = %llu, num_bytes = %llu\n", |
1475 | file_extent_item.type, | 1480 | file_extent_item.type, |
1476 | (unsigned long long) | 1481 | (unsigned long long) |
1477 | le64_to_cpu(file_extent_item.disk_bytenr), | 1482 | btrfs_stack_file_extent_disk_bytenr(&file_extent_item), |
1478 | (unsigned long long)le64_to_cpu(file_extent_item.offset), | 1483 | (unsigned long long) |
1484 | btrfs_stack_file_extent_offset(&file_extent_item), | ||
1479 | (unsigned long long)num_bytes); | 1485 | (unsigned long long)num_bytes); |
1480 | while (num_bytes > 0) { | 1486 | while (num_bytes > 0) { |
1481 | u32 chunk_len; | 1487 | u32 chunk_len; |
@@ -1896,8 +1902,8 @@ again: | |||
1896 | struct list_head *tmp_ref_to; | 1902 | struct list_head *tmp_ref_to; |
1897 | 1903 | ||
1898 | if (block->is_superblock) { | 1904 | if (block->is_superblock) { |
1899 | bytenr = le64_to_cpu(((struct btrfs_super_block *) | 1905 | bytenr = btrfs_super_bytenr((struct btrfs_super_block *) |
1900 | mapped_datav[0])->bytenr); | 1906 | mapped_datav[0]); |
1901 | if (num_pages * PAGE_CACHE_SIZE < | 1907 | if (num_pages * PAGE_CACHE_SIZE < |
1902 | BTRFS_SUPER_INFO_SIZE) { | 1908 | BTRFS_SUPER_INFO_SIZE) { |
1903 | printk(KERN_INFO | 1909 | printk(KERN_INFO |
@@ -1923,8 +1929,9 @@ again: | |||
1923 | return; | 1929 | return; |
1924 | } | 1930 | } |
1925 | processed_len = state->metablock_size; | 1931 | processed_len = state->metablock_size; |
1926 | bytenr = le64_to_cpu(((struct btrfs_header *) | 1932 | bytenr = btrfs_stack_header_bytenr( |
1927 | mapped_datav[0])->bytenr); | 1933 | (struct btrfs_header *) |
1934 | mapped_datav[0]); | ||
1928 | btrfsic_cmp_log_and_dev_bytenr(state, bytenr, | 1935 | btrfsic_cmp_log_and_dev_bytenr(state, bytenr, |
1929 | dev_state, | 1936 | dev_state, |
1930 | dev_bytenr); | 1937 | dev_bytenr); |
@@ -1992,13 +1999,13 @@ again: | |||
1992 | block->mirror_num, | 1999 | block->mirror_num, |
1993 | (unsigned long long)block->generation, | 2000 | (unsigned long long)block->generation, |
1994 | (unsigned long long) | 2001 | (unsigned long long) |
1995 | le64_to_cpu(block->disk_key.objectid), | 2002 | btrfs_disk_key_objectid(&block->disk_key), |
1996 | block->disk_key.type, | 2003 | block->disk_key.type, |
1997 | (unsigned long long) | 2004 | (unsigned long long) |
1998 | le64_to_cpu(block->disk_key.offset), | 2005 | btrfs_disk_key_offset(&block->disk_key), |
1999 | (unsigned long long) | 2006 | (unsigned long long) |
2000 | le64_to_cpu(((struct btrfs_header *) | 2007 | btrfs_stack_header_generation( |
2001 | mapped_datav[0])->generation), | 2008 | (struct btrfs_header *) mapped_datav[0]), |
2002 | (unsigned long long) | 2009 | (unsigned long long) |
2003 | state->max_superblock_generation); | 2010 | state->max_superblock_generation); |
2004 | btrfsic_dump_tree(state); | 2011 | btrfsic_dump_tree(state); |
@@ -2015,8 +2022,9 @@ again: | |||
2015 | block->mirror_num, | 2022 | block->mirror_num, |
2016 | (unsigned long long)block->generation, | 2023 | (unsigned long long)block->generation, |
2017 | (unsigned long long) | 2024 | (unsigned long long) |
2018 | le64_to_cpu(((struct btrfs_header *) | 2025 | btrfs_stack_header_generation( |
2019 | mapped_datav[0])->generation)); | 2026 | (struct btrfs_header *) |
2027 | mapped_datav[0])); | ||
2020 | /* it would not be safe to go on */ | 2028 | /* it would not be safe to go on */ |
2021 | btrfsic_dump_tree(state); | 2029 | btrfsic_dump_tree(state); |
2022 | goto continue_loop; | 2030 | goto continue_loop; |
@@ -2184,8 +2192,9 @@ again: | |||
2184 | block_ctx.pagev = NULL; | 2192 | block_ctx.pagev = NULL; |
2185 | } else { | 2193 | } else { |
2186 | processed_len = state->metablock_size; | 2194 | processed_len = state->metablock_size; |
2187 | bytenr = le64_to_cpu(((struct btrfs_header *) | 2195 | bytenr = btrfs_stack_header_bytenr( |
2188 | mapped_datav[0])->bytenr); | 2196 | (struct btrfs_header *) |
2197 | mapped_datav[0]); | ||
2189 | btrfsic_cmp_log_and_dev_bytenr(state, bytenr, dev_state, | 2198 | btrfsic_cmp_log_and_dev_bytenr(state, bytenr, dev_state, |
2190 | dev_bytenr); | 2199 | dev_bytenr); |
2191 | if (state->print_mask & BTRFSIC_PRINT_MASK_VERBOSE) | 2200 | if (state->print_mask & BTRFSIC_PRINT_MASK_VERBOSE) |
@@ -2434,13 +2443,14 @@ static int btrfsic_process_written_superblock( | |||
2434 | const char *additional_string = NULL; | 2443 | const char *additional_string = NULL; |
2435 | struct btrfs_disk_key tmp_disk_key; | 2444 | struct btrfs_disk_key tmp_disk_key; |
2436 | 2445 | ||
2437 | tmp_disk_key.type = BTRFS_ROOT_ITEM_KEY; | 2446 | btrfs_set_disk_key_objectid(&tmp_disk_key, |
2438 | tmp_disk_key.offset = 0; | 2447 | BTRFS_ROOT_ITEM_KEY); |
2448 | btrfs_set_disk_key_objectid(&tmp_disk_key, 0); | ||
2439 | 2449 | ||
2440 | switch (pass) { | 2450 | switch (pass) { |
2441 | case 0: | 2451 | case 0: |
2442 | tmp_disk_key.objectid = | 2452 | btrfs_set_disk_key_objectid(&tmp_disk_key, |
2443 | cpu_to_le64(BTRFS_ROOT_TREE_OBJECTID); | 2453 | BTRFS_ROOT_TREE_OBJECTID); |
2444 | additional_string = "root "; | 2454 | additional_string = "root "; |
2445 | next_bytenr = btrfs_super_root(super_hdr); | 2455 | next_bytenr = btrfs_super_root(super_hdr); |
2446 | if (state->print_mask & | 2456 | if (state->print_mask & |
@@ -2449,8 +2459,8 @@ static int btrfsic_process_written_superblock( | |||
2449 | (unsigned long long)next_bytenr); | 2459 | (unsigned long long)next_bytenr); |
2450 | break; | 2460 | break; |
2451 | case 1: | 2461 | case 1: |
2452 | tmp_disk_key.objectid = | 2462 | btrfs_set_disk_key_objectid(&tmp_disk_key, |
2453 | cpu_to_le64(BTRFS_CHUNK_TREE_OBJECTID); | 2463 | BTRFS_CHUNK_TREE_OBJECTID); |
2454 | additional_string = "chunk "; | 2464 | additional_string = "chunk "; |
2455 | next_bytenr = btrfs_super_chunk_root(super_hdr); | 2465 | next_bytenr = btrfs_super_chunk_root(super_hdr); |
2456 | if (state->print_mask & | 2466 | if (state->print_mask & |
@@ -2459,8 +2469,8 @@ static int btrfsic_process_written_superblock( | |||
2459 | (unsigned long long)next_bytenr); | 2469 | (unsigned long long)next_bytenr); |
2460 | break; | 2470 | break; |
2461 | case 2: | 2471 | case 2: |
2462 | tmp_disk_key.objectid = | 2472 | btrfs_set_disk_key_objectid(&tmp_disk_key, |
2463 | cpu_to_le64(BTRFS_TREE_LOG_OBJECTID); | 2473 | BTRFS_TREE_LOG_OBJECTID); |
2464 | additional_string = "log "; | 2474 | additional_string = "log "; |
2465 | next_bytenr = btrfs_super_log_root(super_hdr); | 2475 | next_bytenr = btrfs_super_log_root(super_hdr); |
2466 | if (0 == next_bytenr) | 2476 | if (0 == next_bytenr) |
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 8cc03321a368..dda60e9f6b89 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h | |||
@@ -2240,6 +2240,23 @@ BTRFS_SETGET_FUNCS(inode_gid, struct btrfs_inode_item, gid, 32); | |||
2240 | BTRFS_SETGET_FUNCS(inode_mode, struct btrfs_inode_item, mode, 32); | 2240 | BTRFS_SETGET_FUNCS(inode_mode, struct btrfs_inode_item, mode, 32); |
2241 | BTRFS_SETGET_FUNCS(inode_rdev, struct btrfs_inode_item, rdev, 64); | 2241 | BTRFS_SETGET_FUNCS(inode_rdev, struct btrfs_inode_item, rdev, 64); |
2242 | BTRFS_SETGET_FUNCS(inode_flags, struct btrfs_inode_item, flags, 64); | 2242 | BTRFS_SETGET_FUNCS(inode_flags, struct btrfs_inode_item, flags, 64); |
2243 | BTRFS_SETGET_STACK_FUNCS(stack_inode_generation, struct btrfs_inode_item, | ||
2244 | generation, 64); | ||
2245 | BTRFS_SETGET_STACK_FUNCS(stack_inode_sequence, struct btrfs_inode_item, | ||
2246 | sequence, 64); | ||
2247 | BTRFS_SETGET_STACK_FUNCS(stack_inode_transid, struct btrfs_inode_item, | ||
2248 | transid, 64); | ||
2249 | BTRFS_SETGET_STACK_FUNCS(stack_inode_size, struct btrfs_inode_item, size, 64); | ||
2250 | BTRFS_SETGET_STACK_FUNCS(stack_inode_nbytes, struct btrfs_inode_item, | ||
2251 | nbytes, 64); | ||
2252 | BTRFS_SETGET_STACK_FUNCS(stack_inode_block_group, struct btrfs_inode_item, | ||
2253 | block_group, 64); | ||
2254 | BTRFS_SETGET_STACK_FUNCS(stack_inode_nlink, struct btrfs_inode_item, nlink, 32); | ||
2255 | BTRFS_SETGET_STACK_FUNCS(stack_inode_uid, struct btrfs_inode_item, uid, 32); | ||
2256 | BTRFS_SETGET_STACK_FUNCS(stack_inode_gid, struct btrfs_inode_item, gid, 32); | ||
2257 | BTRFS_SETGET_STACK_FUNCS(stack_inode_mode, struct btrfs_inode_item, mode, 32); | ||
2258 | BTRFS_SETGET_STACK_FUNCS(stack_inode_rdev, struct btrfs_inode_item, rdev, 64); | ||
2259 | BTRFS_SETGET_STACK_FUNCS(stack_inode_flags, struct btrfs_inode_item, flags, 64); | ||
2243 | 2260 | ||
2244 | static inline struct btrfs_timespec * | 2261 | static inline struct btrfs_timespec * |
2245 | btrfs_inode_atime(struct btrfs_inode_item *inode_item) | 2262 | btrfs_inode_atime(struct btrfs_inode_item *inode_item) |
@@ -2267,6 +2284,8 @@ btrfs_inode_ctime(struct btrfs_inode_item *inode_item) | |||
2267 | 2284 | ||
2268 | BTRFS_SETGET_FUNCS(timespec_sec, struct btrfs_timespec, sec, 64); | 2285 | BTRFS_SETGET_FUNCS(timespec_sec, struct btrfs_timespec, sec, 64); |
2269 | BTRFS_SETGET_FUNCS(timespec_nsec, struct btrfs_timespec, nsec, 32); | 2286 | BTRFS_SETGET_FUNCS(timespec_nsec, struct btrfs_timespec, nsec, 32); |
2287 | BTRFS_SETGET_STACK_FUNCS(stack_timespec_sec, struct btrfs_timespec, sec, 64); | ||
2288 | BTRFS_SETGET_STACK_FUNCS(stack_timespec_nsec, struct btrfs_timespec, nsec, 32); | ||
2270 | 2289 | ||
2271 | /* struct btrfs_dev_extent */ | 2290 | /* struct btrfs_dev_extent */ |
2272 | BTRFS_SETGET_FUNCS(dev_extent_chunk_tree, struct btrfs_dev_extent, | 2291 | BTRFS_SETGET_FUNCS(dev_extent_chunk_tree, struct btrfs_dev_extent, |
@@ -2348,6 +2367,10 @@ BTRFS_SETGET_FUNCS(ref_count_v0, struct btrfs_extent_ref_v0, count, 32); | |||
2348 | /* struct btrfs_node */ | 2367 | /* struct btrfs_node */ |
2349 | BTRFS_SETGET_FUNCS(key_blockptr, struct btrfs_key_ptr, blockptr, 64); | 2368 | BTRFS_SETGET_FUNCS(key_blockptr, struct btrfs_key_ptr, blockptr, 64); |
2350 | BTRFS_SETGET_FUNCS(key_generation, struct btrfs_key_ptr, generation, 64); | 2369 | BTRFS_SETGET_FUNCS(key_generation, struct btrfs_key_ptr, generation, 64); |
2370 | BTRFS_SETGET_STACK_FUNCS(stack_key_blockptr, struct btrfs_key_ptr, | ||
2371 | blockptr, 64); | ||
2372 | BTRFS_SETGET_STACK_FUNCS(stack_key_generation, struct btrfs_key_ptr, | ||
2373 | generation, 64); | ||
2351 | 2374 | ||
2352 | static inline u64 btrfs_node_blockptr(struct extent_buffer *eb, int nr) | 2375 | static inline u64 btrfs_node_blockptr(struct extent_buffer *eb, int nr) |
2353 | { | 2376 | { |
@@ -2404,6 +2427,8 @@ static inline void btrfs_set_node_key(struct extent_buffer *eb, | |||
2404 | /* struct btrfs_item */ | 2427 | /* struct btrfs_item */ |
2405 | BTRFS_SETGET_FUNCS(item_offset, struct btrfs_item, offset, 32); | 2428 | BTRFS_SETGET_FUNCS(item_offset, struct btrfs_item, offset, 32); |
2406 | BTRFS_SETGET_FUNCS(item_size, struct btrfs_item, size, 32); | 2429 | BTRFS_SETGET_FUNCS(item_size, struct btrfs_item, size, 32); |
2430 | BTRFS_SETGET_STACK_FUNCS(stack_item_offset, struct btrfs_item, offset, 32); | ||
2431 | BTRFS_SETGET_STACK_FUNCS(stack_item_size, struct btrfs_item, size, 32); | ||
2407 | 2432 | ||
2408 | static inline unsigned long btrfs_item_nr_offset(int nr) | 2433 | static inline unsigned long btrfs_item_nr_offset(int nr) |
2409 | { | 2434 | { |
@@ -2466,6 +2491,13 @@ BTRFS_SETGET_FUNCS(dir_data_len, struct btrfs_dir_item, data_len, 16); | |||
2466 | BTRFS_SETGET_FUNCS(dir_type, struct btrfs_dir_item, type, 8); | 2491 | BTRFS_SETGET_FUNCS(dir_type, struct btrfs_dir_item, type, 8); |
2467 | BTRFS_SETGET_FUNCS(dir_name_len, struct btrfs_dir_item, name_len, 16); | 2492 | BTRFS_SETGET_FUNCS(dir_name_len, struct btrfs_dir_item, name_len, 16); |
2468 | BTRFS_SETGET_FUNCS(dir_transid, struct btrfs_dir_item, transid, 64); | 2493 | BTRFS_SETGET_FUNCS(dir_transid, struct btrfs_dir_item, transid, 64); |
2494 | BTRFS_SETGET_STACK_FUNCS(stack_dir_type, struct btrfs_dir_item, type, 8); | ||
2495 | BTRFS_SETGET_STACK_FUNCS(stack_dir_data_len, struct btrfs_dir_item, | ||
2496 | data_len, 16); | ||
2497 | BTRFS_SETGET_STACK_FUNCS(stack_dir_name_len, struct btrfs_dir_item, | ||
2498 | name_len, 16); | ||
2499 | BTRFS_SETGET_STACK_FUNCS(stack_dir_transid, struct btrfs_dir_item, | ||
2500 | transid, 64); | ||
2469 | 2501 | ||
2470 | static inline void btrfs_dir_item_key(struct extent_buffer *eb, | 2502 | static inline void btrfs_dir_item_key(struct extent_buffer *eb, |
2471 | struct btrfs_dir_item *item, | 2503 | struct btrfs_dir_item *item, |
@@ -2568,6 +2600,12 @@ BTRFS_SETGET_HEADER_FUNCS(header_owner, struct btrfs_header, owner, 64); | |||
2568 | BTRFS_SETGET_HEADER_FUNCS(header_nritems, struct btrfs_header, nritems, 32); | 2600 | BTRFS_SETGET_HEADER_FUNCS(header_nritems, struct btrfs_header, nritems, 32); |
2569 | BTRFS_SETGET_HEADER_FUNCS(header_flags, struct btrfs_header, flags, 64); | 2601 | BTRFS_SETGET_HEADER_FUNCS(header_flags, struct btrfs_header, flags, 64); |
2570 | BTRFS_SETGET_HEADER_FUNCS(header_level, struct btrfs_header, level, 8); | 2602 | BTRFS_SETGET_HEADER_FUNCS(header_level, struct btrfs_header, level, 8); |
2603 | BTRFS_SETGET_STACK_FUNCS(stack_header_generation, struct btrfs_header, | ||
2604 | generation, 64); | ||
2605 | BTRFS_SETGET_STACK_FUNCS(stack_header_owner, struct btrfs_header, owner, 64); | ||
2606 | BTRFS_SETGET_STACK_FUNCS(stack_header_nritems, struct btrfs_header, | ||
2607 | nritems, 32); | ||
2608 | BTRFS_SETGET_STACK_FUNCS(stack_header_bytenr, struct btrfs_header, bytenr, 64); | ||
2571 | 2609 | ||
2572 | static inline int btrfs_header_flag(struct extent_buffer *eb, u64 flag) | 2610 | static inline int btrfs_header_flag(struct extent_buffer *eb, u64 flag) |
2573 | { | 2611 | { |
@@ -2830,6 +2868,7 @@ BTRFS_SETGET_STACK_FUNCS(super_csum_type, struct btrfs_super_block, | |||
2830 | csum_type, 16); | 2868 | csum_type, 16); |
2831 | BTRFS_SETGET_STACK_FUNCS(super_cache_generation, struct btrfs_super_block, | 2869 | BTRFS_SETGET_STACK_FUNCS(super_cache_generation, struct btrfs_super_block, |
2832 | cache_generation, 64); | 2870 | cache_generation, 64); |
2871 | BTRFS_SETGET_STACK_FUNCS(super_magic, struct btrfs_super_block, magic, 64); | ||
2833 | 2872 | ||
2834 | static inline int btrfs_super_csum_size(struct btrfs_super_block *s) | 2873 | static inline int btrfs_super_csum_size(struct btrfs_super_block *s) |
2835 | { | 2874 | { |
@@ -2847,6 +2886,14 @@ static inline unsigned long btrfs_leaf_data(struct extent_buffer *l) | |||
2847 | 2886 | ||
2848 | /* struct btrfs_file_extent_item */ | 2887 | /* struct btrfs_file_extent_item */ |
2849 | BTRFS_SETGET_FUNCS(file_extent_type, struct btrfs_file_extent_item, type, 8); | 2888 | BTRFS_SETGET_FUNCS(file_extent_type, struct btrfs_file_extent_item, type, 8); |
2889 | BTRFS_SETGET_STACK_FUNCS(stack_file_extent_disk_bytenr, | ||
2890 | struct btrfs_file_extent_item, disk_bytenr, 64); | ||
2891 | BTRFS_SETGET_STACK_FUNCS(stack_file_extent_offset, | ||
2892 | struct btrfs_file_extent_item, offset, 64); | ||
2893 | BTRFS_SETGET_STACK_FUNCS(stack_file_extent_generation, | ||
2894 | struct btrfs_file_extent_item, generation, 64); | ||
2895 | BTRFS_SETGET_STACK_FUNCS(stack_file_extent_num_bytes, | ||
2896 | struct btrfs_file_extent_item, num_bytes, 64); | ||
2850 | 2897 | ||
2851 | static inline unsigned long | 2898 | static inline unsigned long |
2852 | btrfs_file_extent_inline_start(struct btrfs_file_extent_item *e) | 2899 | btrfs_file_extent_inline_start(struct btrfs_file_extent_item *e) |
diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c index 375510913fe7..685957ac208e 100644 --- a/fs/btrfs/delayed-inode.c +++ b/fs/btrfs/delayed-inode.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include "delayed-inode.h" | 21 | #include "delayed-inode.h" |
22 | #include "disk-io.h" | 22 | #include "disk-io.h" |
23 | #include "transaction.h" | 23 | #include "transaction.h" |
24 | #include "ctree.h" | ||
24 | 25 | ||
25 | #define BTRFS_DELAYED_WRITEBACK 512 | 26 | #define BTRFS_DELAYED_WRITEBACK 512 |
26 | #define BTRFS_DELAYED_BACKGROUND 128 | 27 | #define BTRFS_DELAYED_BACKGROUND 128 |
@@ -1453,10 +1454,10 @@ int btrfs_insert_delayed_dir_index(struct btrfs_trans_handle *trans, | |||
1453 | 1454 | ||
1454 | dir_item = (struct btrfs_dir_item *)delayed_item->data; | 1455 | dir_item = (struct btrfs_dir_item *)delayed_item->data; |
1455 | dir_item->location = *disk_key; | 1456 | dir_item->location = *disk_key; |
1456 | dir_item->transid = cpu_to_le64(trans->transid); | 1457 | btrfs_set_stack_dir_transid(dir_item, trans->transid); |
1457 | dir_item->data_len = 0; | 1458 | btrfs_set_stack_dir_data_len(dir_item, 0); |
1458 | dir_item->name_len = cpu_to_le16(name_len); | 1459 | btrfs_set_stack_dir_name_len(dir_item, name_len); |
1459 | dir_item->type = type; | 1460 | btrfs_set_stack_dir_type(dir_item, type); |
1460 | memcpy((char *)(dir_item + 1), name, name_len); | 1461 | memcpy((char *)(dir_item + 1), name, name_len); |
1461 | 1462 | ||
1462 | ret = btrfs_delayed_item_reserve_metadata(trans, root, delayed_item); | 1463 | ret = btrfs_delayed_item_reserve_metadata(trans, root, delayed_item); |
@@ -1699,7 +1700,7 @@ int btrfs_readdir_delayed_dir_index(struct dir_context *ctx, | |||
1699 | 1700 | ||
1700 | di = (struct btrfs_dir_item *)curr->data; | 1701 | di = (struct btrfs_dir_item *)curr->data; |
1701 | name = (char *)(di + 1); | 1702 | name = (char *)(di + 1); |
1702 | name_len = le16_to_cpu(di->name_len); | 1703 | name_len = btrfs_stack_dir_name_len(di); |
1703 | 1704 | ||
1704 | d_type = btrfs_filetype_table[di->type]; | 1705 | d_type = btrfs_filetype_table[di->type]; |
1705 | btrfs_disk_key_to_cpu(&location, &di->location); | 1706 | btrfs_disk_key_to_cpu(&location, &di->location); |
@@ -1716,27 +1717,6 @@ int btrfs_readdir_delayed_dir_index(struct dir_context *ctx, | |||
1716 | return 0; | 1717 | return 0; |
1717 | } | 1718 | } |
1718 | 1719 | ||
1719 | BTRFS_SETGET_STACK_FUNCS(stack_inode_generation, struct btrfs_inode_item, | ||
1720 | generation, 64); | ||
1721 | BTRFS_SETGET_STACK_FUNCS(stack_inode_sequence, struct btrfs_inode_item, | ||
1722 | sequence, 64); | ||
1723 | BTRFS_SETGET_STACK_FUNCS(stack_inode_transid, struct btrfs_inode_item, | ||
1724 | transid, 64); | ||
1725 | BTRFS_SETGET_STACK_FUNCS(stack_inode_size, struct btrfs_inode_item, size, 64); | ||
1726 | BTRFS_SETGET_STACK_FUNCS(stack_inode_nbytes, struct btrfs_inode_item, | ||
1727 | nbytes, 64); | ||
1728 | BTRFS_SETGET_STACK_FUNCS(stack_inode_block_group, struct btrfs_inode_item, | ||
1729 | block_group, 64); | ||
1730 | BTRFS_SETGET_STACK_FUNCS(stack_inode_nlink, struct btrfs_inode_item, nlink, 32); | ||
1731 | BTRFS_SETGET_STACK_FUNCS(stack_inode_uid, struct btrfs_inode_item, uid, 32); | ||
1732 | BTRFS_SETGET_STACK_FUNCS(stack_inode_gid, struct btrfs_inode_item, gid, 32); | ||
1733 | BTRFS_SETGET_STACK_FUNCS(stack_inode_mode, struct btrfs_inode_item, mode, 32); | ||
1734 | BTRFS_SETGET_STACK_FUNCS(stack_inode_rdev, struct btrfs_inode_item, rdev, 64); | ||
1735 | BTRFS_SETGET_STACK_FUNCS(stack_inode_flags, struct btrfs_inode_item, flags, 64); | ||
1736 | |||
1737 | BTRFS_SETGET_STACK_FUNCS(stack_timespec_sec, struct btrfs_timespec, sec, 64); | ||
1738 | BTRFS_SETGET_STACK_FUNCS(stack_timespec_nsec, struct btrfs_timespec, nsec, 32); | ||
1739 | |||
1740 | static void fill_stack_inode_item(struct btrfs_trans_handle *trans, | 1720 | static void fill_stack_inode_item(struct btrfs_trans_handle *trans, |
1741 | struct btrfs_inode_item *inode_item, | 1721 | struct btrfs_inode_item *inode_item, |
1742 | struct inode *inode) | 1722 | struct inode *inode) |
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 6b092a1c4e37..56fcf8439f42 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c | |||
@@ -1413,11 +1413,11 @@ int btrfs_add_log_tree(struct btrfs_trans_handle *trans, | |||
1413 | log_root->root_key.offset = root->root_key.objectid; | 1413 | log_root->root_key.offset = root->root_key.objectid; |
1414 | 1414 | ||
1415 | inode_item = &log_root->root_item.inode; | 1415 | inode_item = &log_root->root_item.inode; |
1416 | inode_item->generation = cpu_to_le64(1); | 1416 | btrfs_set_stack_inode_generation(inode_item, 1); |
1417 | inode_item->size = cpu_to_le64(3); | 1417 | btrfs_set_stack_inode_size(inode_item, 3); |
1418 | inode_item->nlink = cpu_to_le32(1); | 1418 | btrfs_set_stack_inode_nlink(inode_item, 1); |
1419 | inode_item->nbytes = cpu_to_le64(root->leafsize); | 1419 | btrfs_set_stack_inode_nbytes(inode_item, root->leafsize); |
1420 | inode_item->mode = cpu_to_le32(S_IFDIR | 0755); | 1420 | btrfs_set_stack_inode_mode(inode_item, S_IFDIR | 0755); |
1421 | 1421 | ||
1422 | btrfs_set_root_node(&log_root->root_item, log_root->node); | 1422 | btrfs_set_root_node(&log_root->root_item, log_root->node); |
1423 | 1423 | ||
@@ -2575,7 +2575,7 @@ int open_ctree(struct super_block *sb, | |||
2575 | sb->s_blocksize = sectorsize; | 2575 | sb->s_blocksize = sectorsize; |
2576 | sb->s_blocksize_bits = blksize_bits(sectorsize); | 2576 | sb->s_blocksize_bits = blksize_bits(sectorsize); |
2577 | 2577 | ||
2578 | if (disk_super->magic != cpu_to_le64(BTRFS_MAGIC)) { | 2578 | if (btrfs_super_magic(disk_super) != BTRFS_MAGIC) { |
2579 | printk(KERN_INFO "btrfs: valid FS not found on %s\n", sb->s_id); | 2579 | printk(KERN_INFO "btrfs: valid FS not found on %s\n", sb->s_id); |
2580 | goto fail_sb_buffer; | 2580 | goto fail_sb_buffer; |
2581 | } | 2581 | } |
@@ -2991,7 +2991,7 @@ struct buffer_head *btrfs_read_dev_super(struct block_device *bdev) | |||
2991 | 2991 | ||
2992 | super = (struct btrfs_super_block *)bh->b_data; | 2992 | super = (struct btrfs_super_block *)bh->b_data; |
2993 | if (btrfs_super_bytenr(super) != bytenr || | 2993 | if (btrfs_super_bytenr(super) != bytenr || |
2994 | super->magic != cpu_to_le64(BTRFS_MAGIC)) { | 2994 | btrfs_super_magic(super) != BTRFS_MAGIC) { |
2995 | brelse(bh); | 2995 | brelse(bh); |
2996 | continue; | 2996 | continue; |
2997 | } | 2997 | } |
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index 841044b80658..f856c97952db 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c | |||
@@ -436,15 +436,15 @@ static noinline int create_subvol(struct inode *dir, | |||
436 | memset(&root_item, 0, sizeof(root_item)); | 436 | memset(&root_item, 0, sizeof(root_item)); |
437 | 437 | ||
438 | inode_item = &root_item.inode; | 438 | inode_item = &root_item.inode; |
439 | inode_item->generation = cpu_to_le64(1); | 439 | btrfs_set_stack_inode_generation(inode_item, 1); |
440 | inode_item->size = cpu_to_le64(3); | 440 | btrfs_set_stack_inode_size(inode_item, 3); |
441 | inode_item->nlink = cpu_to_le32(1); | 441 | btrfs_set_stack_inode_nlink(inode_item, 1); |
442 | inode_item->nbytes = cpu_to_le64(root->leafsize); | 442 | btrfs_set_stack_inode_nbytes(inode_item, root->leafsize); |
443 | inode_item->mode = cpu_to_le32(S_IFDIR | 0755); | 443 | btrfs_set_stack_inode_mode(inode_item, S_IFDIR | 0755); |
444 | 444 | ||
445 | root_item.flags = 0; | 445 | btrfs_set_root_flags(&root_item, 0); |
446 | root_item.byte_limit = 0; | 446 | btrfs_set_root_limit(&root_item, 0); |
447 | inode_item->flags = cpu_to_le64(BTRFS_INODE_ROOT_ITEM_INIT); | 447 | btrfs_set_stack_inode_flags(inode_item, BTRFS_INODE_ROOT_ITEM_INIT); |
448 | 448 | ||
449 | btrfs_set_root_bytenr(&root_item, leaf->start); | 449 | btrfs_set_root_bytenr(&root_item, leaf->start); |
450 | btrfs_set_root_generation(&root_item, trans->transid); | 450 | btrfs_set_root_generation(&root_item, trans->transid); |
@@ -457,8 +457,8 @@ static noinline int create_subvol(struct inode *dir, | |||
457 | btrfs_root_generation(&root_item)); | 457 | btrfs_root_generation(&root_item)); |
458 | uuid_le_gen(&new_uuid); | 458 | uuid_le_gen(&new_uuid); |
459 | memcpy(root_item.uuid, new_uuid.b, BTRFS_UUID_SIZE); | 459 | memcpy(root_item.uuid, new_uuid.b, BTRFS_UUID_SIZE); |
460 | root_item.otime.sec = cpu_to_le64(cur_time.tv_sec); | 460 | btrfs_set_stack_timespec_sec(&root_item.otime, cur_time.tv_sec); |
461 | root_item.otime.nsec = cpu_to_le32(cur_time.tv_nsec); | 461 | btrfs_set_stack_timespec_nsec(&root_item.otime, cur_time.tv_nsec); |
462 | root_item.ctime = root_item.otime; | 462 | root_item.ctime = root_item.otime; |
463 | btrfs_set_root_ctransid(&root_item, trans->transid); | 463 | btrfs_set_root_ctransid(&root_item, trans->transid); |
464 | btrfs_set_root_otransid(&root_item, trans->transid); | 464 | btrfs_set_root_otransid(&root_item, trans->transid); |
@@ -4011,10 +4011,10 @@ static long btrfs_ioctl_set_received_subvol(struct file *file, | |||
4011 | memcpy(root_item->received_uuid, sa->uuid, BTRFS_UUID_SIZE); | 4011 | memcpy(root_item->received_uuid, sa->uuid, BTRFS_UUID_SIZE); |
4012 | btrfs_set_root_stransid(root_item, sa->stransid); | 4012 | btrfs_set_root_stransid(root_item, sa->stransid); |
4013 | btrfs_set_root_rtransid(root_item, sa->rtransid); | 4013 | btrfs_set_root_rtransid(root_item, sa->rtransid); |
4014 | root_item->stime.sec = cpu_to_le64(sa->stime.sec); | 4014 | btrfs_set_stack_timespec_sec(&root_item->stime, sa->stime.sec); |
4015 | root_item->stime.nsec = cpu_to_le32(sa->stime.nsec); | 4015 | btrfs_set_stack_timespec_nsec(&root_item->stime, sa->stime.nsec); |
4016 | root_item->rtime.sec = cpu_to_le64(sa->rtime.sec); | 4016 | btrfs_set_stack_timespec_sec(&root_item->rtime, sa->rtime.sec); |
4017 | root_item->rtime.nsec = cpu_to_le32(sa->rtime.nsec); | 4017 | btrfs_set_stack_timespec_nsec(&root_item->rtime, sa->rtime.nsec); |
4018 | 4018 | ||
4019 | ret = btrfs_update_root(trans, root->fs_info->tree_root, | 4019 | ret = btrfs_update_root(trans, root->fs_info->tree_root, |
4020 | &root->root_key, &root->root_item); | 4020 | &root->root_key, &root->root_item); |
diff --git a/fs/btrfs/root-tree.c b/fs/btrfs/root-tree.c index ffb1036ef10d..70193d0e7058 100644 --- a/fs/btrfs/root-tree.c +++ b/fs/btrfs/root-tree.c | |||
@@ -490,13 +490,13 @@ again: | |||
490 | */ | 490 | */ |
491 | void btrfs_check_and_init_root_item(struct btrfs_root_item *root_item) | 491 | void btrfs_check_and_init_root_item(struct btrfs_root_item *root_item) |
492 | { | 492 | { |
493 | u64 inode_flags = le64_to_cpu(root_item->inode.flags); | 493 | u64 inode_flags = btrfs_stack_inode_flags(&root_item->inode); |
494 | 494 | ||
495 | if (!(inode_flags & BTRFS_INODE_ROOT_ITEM_INIT)) { | 495 | if (!(inode_flags & BTRFS_INODE_ROOT_ITEM_INIT)) { |
496 | inode_flags |= BTRFS_INODE_ROOT_ITEM_INIT; | 496 | inode_flags |= BTRFS_INODE_ROOT_ITEM_INIT; |
497 | root_item->inode.flags = cpu_to_le64(inode_flags); | 497 | btrfs_set_stack_inode_flags(&root_item->inode, inode_flags); |
498 | root_item->flags = 0; | 498 | btrfs_set_root_flags(root_item, 0); |
499 | root_item->byte_limit = 0; | 499 | btrfs_set_root_limit(root_item, 0); |
500 | } | 500 | } |
501 | } | 501 | } |
502 | 502 | ||
@@ -507,8 +507,8 @@ void btrfs_update_root_times(struct btrfs_trans_handle *trans, | |||
507 | struct timespec ct = CURRENT_TIME; | 507 | struct timespec ct = CURRENT_TIME; |
508 | 508 | ||
509 | spin_lock(&root->root_item_lock); | 509 | spin_lock(&root->root_item_lock); |
510 | item->ctransid = cpu_to_le64(trans->transid); | 510 | btrfs_set_root_ctransid(item, trans->transid); |
511 | item->ctime.sec = cpu_to_le64(ct.tv_sec); | 511 | btrfs_set_stack_timespec_sec(&item->ctime, ct.tv_sec); |
512 | item->ctime.nsec = cpu_to_le32(ct.tv_nsec); | 512 | btrfs_set_stack_timespec_nsec(&item->ctime, ct.tv_nsec); |
513 | spin_unlock(&root->root_item_lock); | 513 | spin_unlock(&root->root_item_lock); |
514 | } | 514 | } |
diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c index 64a157becbe5..266f24febce3 100644 --- a/fs/btrfs/scrub.c +++ b/fs/btrfs/scrub.c | |||
@@ -1345,12 +1345,12 @@ static void scrub_recheck_block_checksum(struct btrfs_fs_info *fs_info, | |||
1345 | mapped_buffer = kmap_atomic(sblock->pagev[0]->page); | 1345 | mapped_buffer = kmap_atomic(sblock->pagev[0]->page); |
1346 | h = (struct btrfs_header *)mapped_buffer; | 1346 | h = (struct btrfs_header *)mapped_buffer; |
1347 | 1347 | ||
1348 | if (sblock->pagev[0]->logical != le64_to_cpu(h->bytenr) || | 1348 | if (sblock->pagev[0]->logical != btrfs_stack_header_bytenr(h) || |
1349 | memcmp(h->fsid, fs_info->fsid, BTRFS_UUID_SIZE) || | 1349 | memcmp(h->fsid, fs_info->fsid, BTRFS_UUID_SIZE) || |
1350 | memcmp(h->chunk_tree_uuid, fs_info->chunk_tree_uuid, | 1350 | memcmp(h->chunk_tree_uuid, fs_info->chunk_tree_uuid, |
1351 | BTRFS_UUID_SIZE)) { | 1351 | BTRFS_UUID_SIZE)) { |
1352 | sblock->header_error = 1; | 1352 | sblock->header_error = 1; |
1353 | } else if (generation != le64_to_cpu(h->generation)) { | 1353 | } else if (generation != btrfs_stack_header_generation(h)) { |
1354 | sblock->header_error = 1; | 1354 | sblock->header_error = 1; |
1355 | sblock->generation_error = 1; | 1355 | sblock->generation_error = 1; |
1356 | } | 1356 | } |
@@ -1720,10 +1720,10 @@ static int scrub_checksum_tree_block(struct scrub_block *sblock) | |||
1720 | * b) the page is already kmapped | 1720 | * b) the page is already kmapped |
1721 | */ | 1721 | */ |
1722 | 1722 | ||
1723 | if (sblock->pagev[0]->logical != le64_to_cpu(h->bytenr)) | 1723 | if (sblock->pagev[0]->logical != btrfs_stack_header_bytenr(h)) |
1724 | ++fail; | 1724 | ++fail; |
1725 | 1725 | ||
1726 | if (sblock->pagev[0]->generation != le64_to_cpu(h->generation)) | 1726 | if (sblock->pagev[0]->generation != btrfs_stack_header_generation(h)) |
1727 | ++fail; | 1727 | ++fail; |
1728 | 1728 | ||
1729 | if (memcmp(h->fsid, fs_info->fsid, BTRFS_UUID_SIZE)) | 1729 | if (memcmp(h->fsid, fs_info->fsid, BTRFS_UUID_SIZE)) |
@@ -1786,10 +1786,10 @@ static int scrub_checksum_super(struct scrub_block *sblock) | |||
1786 | s = (struct btrfs_super_block *)mapped_buffer; | 1786 | s = (struct btrfs_super_block *)mapped_buffer; |
1787 | memcpy(on_disk_csum, s->csum, sctx->csum_size); | 1787 | memcpy(on_disk_csum, s->csum, sctx->csum_size); |
1788 | 1788 | ||
1789 | if (sblock->pagev[0]->logical != le64_to_cpu(s->bytenr)) | 1789 | if (sblock->pagev[0]->logical != btrfs_super_bytenr(s)) |
1790 | ++fail_cor; | 1790 | ++fail_cor; |
1791 | 1791 | ||
1792 | if (sblock->pagev[0]->generation != le64_to_cpu(s->generation)) | 1792 | if (sblock->pagev[0]->generation != btrfs_super_generation(s)) |
1793 | ++fail_gen; | 1793 | ++fail_gen; |
1794 | 1794 | ||
1795 | if (memcmp(s->fsid, fs_info->fsid, BTRFS_UUID_SIZE)) | 1795 | if (memcmp(s->fsid, fs_info->fsid, BTRFS_UUID_SIZE)) |
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c index af1931a5960d..18f7e71d1593 100644 --- a/fs/btrfs/transaction.c +++ b/fs/btrfs/transaction.c | |||
@@ -1225,8 +1225,8 @@ static noinline int create_pending_snapshot(struct btrfs_trans_handle *trans, | |||
1225 | btrfs_set_root_stransid(new_root_item, 0); | 1225 | btrfs_set_root_stransid(new_root_item, 0); |
1226 | btrfs_set_root_rtransid(new_root_item, 0); | 1226 | btrfs_set_root_rtransid(new_root_item, 0); |
1227 | } | 1227 | } |
1228 | new_root_item->otime.sec = cpu_to_le64(cur_time.tv_sec); | 1228 | btrfs_set_stack_timespec_sec(&new_root_item->otime, cur_time.tv_sec); |
1229 | new_root_item->otime.nsec = cpu_to_le32(cur_time.tv_nsec); | 1229 | btrfs_set_stack_timespec_nsec(&new_root_item->otime, cur_time.tv_nsec); |
1230 | btrfs_set_root_otransid(new_root_item, trans->transid); | 1230 | btrfs_set_root_otransid(new_root_item, trans->transid); |
1231 | 1231 | ||
1232 | old = btrfs_lock_root_node(root); | 1232 | old = btrfs_lock_root_node(root); |
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 4c1dd540631e..557a7438f929 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c | |||
@@ -865,7 +865,7 @@ int btrfs_scan_one_device(const char *path, fmode_t flags, void *holder, | |||
865 | disk_super = p + (bytenr & ~PAGE_CACHE_MASK); | 865 | disk_super = p + (bytenr & ~PAGE_CACHE_MASK); |
866 | 866 | ||
867 | if (btrfs_super_bytenr(disk_super) != bytenr || | 867 | if (btrfs_super_bytenr(disk_super) != bytenr || |
868 | disk_super->magic != cpu_to_le64(BTRFS_MAGIC)) | 868 | btrfs_super_magic(disk_super) != BTRFS_MAGIC) |
869 | goto error_unmap; | 869 | goto error_unmap; |
870 | 870 | ||
871 | devid = btrfs_stack_device_id(&disk_super->dev_item); | 871 | devid = btrfs_stack_device_id(&disk_super->dev_item); |