summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/tree-checker.c
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.com>2019-03-20 10:32:46 -0400
committerDavid Sterba <dsterba@suse.com>2019-04-29 13:02:33 -0400
commit1fd715ffdd14870307c8cd6965c454d928b66d40 (patch)
tree71ba065e8c0731456857fa9eee6aa48172d85a9d /fs/btrfs/tree-checker.c
parent86a6be3abe6c48f01c94a2f4ae4ef13e57464ca6 (diff)
btrfs: tree-checker: get fs_info from eb in file_extent_err
We can read fs_info from extent buffer and can drop it from the parameters. Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/tree-checker.c')
-rw-r--r--fs/btrfs/tree-checker.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index 4ee1102b554a..363462d30681 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -66,12 +66,12 @@ static void generic_err(const struct extent_buffer *eb, int slot,
66 * Customized reporter for extent data item, since its key objectid and 66 * Customized reporter for extent data item, since its key objectid and
67 * offset has its own meaning. 67 * offset has its own meaning.
68 */ 68 */
69__printf(4, 5) 69__printf(3, 4)
70__cold 70__cold
71static void file_extent_err(const struct btrfs_fs_info *fs_info, 71static void file_extent_err(const struct extent_buffer *eb, int slot,
72 const struct extent_buffer *eb, int slot,
73 const char *fmt, ...) 72 const char *fmt, ...)
74{ 73{
74 const struct btrfs_fs_info *fs_info = eb->fs_info;
75 struct btrfs_key key; 75 struct btrfs_key key;
76 struct va_format vaf; 76 struct va_format vaf;
77 va_list args; 77 va_list args;
@@ -97,7 +97,7 @@ static void file_extent_err(const struct btrfs_fs_info *fs_info,
97#define CHECK_FE_ALIGNED(fs_info, leaf, slot, fi, name, alignment) \ 97#define CHECK_FE_ALIGNED(fs_info, leaf, slot, fi, name, alignment) \
98({ \ 98({ \
99 if (!IS_ALIGNED(btrfs_file_extent_##name((leaf), (fi)), (alignment))) \ 99 if (!IS_ALIGNED(btrfs_file_extent_##name((leaf), (fi)), (alignment))) \
100 file_extent_err((fs_info), (leaf), (slot), \ 100 file_extent_err((leaf), (slot), \
101 "invalid %s for file extent, have %llu, should be aligned to %u", \ 101 "invalid %s for file extent, have %llu, should be aligned to %u", \
102 (#name), btrfs_file_extent_##name((leaf), (fi)), \ 102 (#name), btrfs_file_extent_##name((leaf), (fi)), \
103 (alignment)); \ 103 (alignment)); \
@@ -113,7 +113,7 @@ static int check_extent_data_item(struct btrfs_fs_info *fs_info,
113 u32 item_size = btrfs_item_size_nr(leaf, slot); 113 u32 item_size = btrfs_item_size_nr(leaf, slot);
114 114
115 if (!IS_ALIGNED(key->offset, sectorsize)) { 115 if (!IS_ALIGNED(key->offset, sectorsize)) {
116 file_extent_err(fs_info, leaf, slot, 116 file_extent_err(leaf, slot,
117"unaligned file_offset for file extent, have %llu should be aligned to %u", 117"unaligned file_offset for file extent, have %llu should be aligned to %u",
118 key->offset, sectorsize); 118 key->offset, sectorsize);
119 return -EUCLEAN; 119 return -EUCLEAN;
@@ -122,7 +122,7 @@ static int check_extent_data_item(struct btrfs_fs_info *fs_info,
122 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); 122 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item);
123 123
124 if (btrfs_file_extent_type(leaf, fi) > BTRFS_FILE_EXTENT_TYPES) { 124 if (btrfs_file_extent_type(leaf, fi) > BTRFS_FILE_EXTENT_TYPES) {
125 file_extent_err(fs_info, leaf, slot, 125 file_extent_err(leaf, slot,
126 "invalid type for file extent, have %u expect range [0, %u]", 126 "invalid type for file extent, have %u expect range [0, %u]",
127 btrfs_file_extent_type(leaf, fi), 127 btrfs_file_extent_type(leaf, fi),
128 BTRFS_FILE_EXTENT_TYPES); 128 BTRFS_FILE_EXTENT_TYPES);
@@ -134,14 +134,14 @@ static int check_extent_data_item(struct btrfs_fs_info *fs_info,
134 * and must be caught in open_ctree(). 134 * and must be caught in open_ctree().
135 */ 135 */
136 if (btrfs_file_extent_compression(leaf, fi) > BTRFS_COMPRESS_TYPES) { 136 if (btrfs_file_extent_compression(leaf, fi) > BTRFS_COMPRESS_TYPES) {
137 file_extent_err(fs_info, leaf, slot, 137 file_extent_err(leaf, slot,
138 "invalid compression for file extent, have %u expect range [0, %u]", 138 "invalid compression for file extent, have %u expect range [0, %u]",
139 btrfs_file_extent_compression(leaf, fi), 139 btrfs_file_extent_compression(leaf, fi),
140 BTRFS_COMPRESS_TYPES); 140 BTRFS_COMPRESS_TYPES);
141 return -EUCLEAN; 141 return -EUCLEAN;
142 } 142 }
143 if (btrfs_file_extent_encryption(leaf, fi)) { 143 if (btrfs_file_extent_encryption(leaf, fi)) {
144 file_extent_err(fs_info, leaf, slot, 144 file_extent_err(leaf, slot,
145 "invalid encryption for file extent, have %u expect 0", 145 "invalid encryption for file extent, have %u expect 0",
146 btrfs_file_extent_encryption(leaf, fi)); 146 btrfs_file_extent_encryption(leaf, fi));
147 return -EUCLEAN; 147 return -EUCLEAN;
@@ -149,7 +149,7 @@ static int check_extent_data_item(struct btrfs_fs_info *fs_info,
149 if (btrfs_file_extent_type(leaf, fi) == BTRFS_FILE_EXTENT_INLINE) { 149 if (btrfs_file_extent_type(leaf, fi) == BTRFS_FILE_EXTENT_INLINE) {
150 /* Inline extent must have 0 as key offset */ 150 /* Inline extent must have 0 as key offset */
151 if (key->offset) { 151 if (key->offset) {
152 file_extent_err(fs_info, leaf, slot, 152 file_extent_err(leaf, slot,
153 "invalid file_offset for inline file extent, have %llu expect 0", 153 "invalid file_offset for inline file extent, have %llu expect 0",
154 key->offset); 154 key->offset);
155 return -EUCLEAN; 155 return -EUCLEAN;
@@ -163,7 +163,7 @@ static int check_extent_data_item(struct btrfs_fs_info *fs_info,
163 /* Uncompressed inline extent size must match item size */ 163 /* Uncompressed inline extent size must match item size */
164 if (item_size != BTRFS_FILE_EXTENT_INLINE_DATA_START + 164 if (item_size != BTRFS_FILE_EXTENT_INLINE_DATA_START +
165 btrfs_file_extent_ram_bytes(leaf, fi)) { 165 btrfs_file_extent_ram_bytes(leaf, fi)) {
166 file_extent_err(fs_info, leaf, slot, 166 file_extent_err(leaf, slot,
167 "invalid ram_bytes for uncompressed inline extent, have %u expect %llu", 167 "invalid ram_bytes for uncompressed inline extent, have %u expect %llu",
168 item_size, BTRFS_FILE_EXTENT_INLINE_DATA_START + 168 item_size, BTRFS_FILE_EXTENT_INLINE_DATA_START +
169 btrfs_file_extent_ram_bytes(leaf, fi)); 169 btrfs_file_extent_ram_bytes(leaf, fi));
@@ -174,7 +174,7 @@ static int check_extent_data_item(struct btrfs_fs_info *fs_info,
174 174
175 /* Regular or preallocated extent has fixed item size */ 175 /* Regular or preallocated extent has fixed item size */
176 if (item_size != sizeof(*fi)) { 176 if (item_size != sizeof(*fi)) {
177 file_extent_err(fs_info, leaf, slot, 177 file_extent_err(leaf, slot,
178 "invalid item size for reg/prealloc file extent, have %u expect %zu", 178 "invalid item size for reg/prealloc file extent, have %u expect %zu",
179 item_size, sizeof(*fi)); 179 item_size, sizeof(*fi));
180 return -EUCLEAN; 180 return -EUCLEAN;