diff options
Diffstat (limited to 'fs/btrfs/tree-checker.c')
-rw-r--r-- | fs/btrfs/tree-checker.c | 22 |
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 |
71 | static void file_extent_err(const struct btrfs_fs_info *fs_info, | 71 | static 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; |