diff options
Diffstat (limited to 'fs/btrfs/tests/extent-map-tests.c')
-rw-r--r-- | fs/btrfs/tests/extent-map-tests.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/fs/btrfs/tests/extent-map-tests.c b/fs/btrfs/tests/extent-map-tests.c index 87aeabe9d610..4a7f796c9900 100644 --- a/fs/btrfs/tests/extent-map-tests.c +++ b/fs/btrfs/tests/extent-map-tests.c | |||
@@ -66,7 +66,9 @@ static int test_case_1(struct btrfs_fs_info *fs_info, | |||
66 | em->len = SZ_16K; | 66 | em->len = SZ_16K; |
67 | em->block_start = 0; | 67 | em->block_start = 0; |
68 | em->block_len = SZ_16K; | 68 | em->block_len = SZ_16K; |
69 | write_lock(&em_tree->lock); | ||
69 | ret = add_extent_mapping(em_tree, em, 0); | 70 | ret = add_extent_mapping(em_tree, em, 0); |
71 | write_unlock(&em_tree->lock); | ||
70 | if (ret < 0) { | 72 | if (ret < 0) { |
71 | test_err("cannot add extent range [0, 16K)"); | 73 | test_err("cannot add extent range [0, 16K)"); |
72 | goto out; | 74 | goto out; |
@@ -85,7 +87,9 @@ static int test_case_1(struct btrfs_fs_info *fs_info, | |||
85 | em->len = SZ_4K; | 87 | em->len = SZ_4K; |
86 | em->block_start = SZ_32K; /* avoid merging */ | 88 | em->block_start = SZ_32K; /* avoid merging */ |
87 | em->block_len = SZ_4K; | 89 | em->block_len = SZ_4K; |
90 | write_lock(&em_tree->lock); | ||
88 | ret = add_extent_mapping(em_tree, em, 0); | 91 | ret = add_extent_mapping(em_tree, em, 0); |
92 | write_unlock(&em_tree->lock); | ||
89 | if (ret < 0) { | 93 | if (ret < 0) { |
90 | test_err("cannot add extent range [16K, 20K)"); | 94 | test_err("cannot add extent range [16K, 20K)"); |
91 | goto out; | 95 | goto out; |
@@ -104,7 +108,9 @@ static int test_case_1(struct btrfs_fs_info *fs_info, | |||
104 | em->len = len; | 108 | em->len = len; |
105 | em->block_start = start; | 109 | em->block_start = start; |
106 | em->block_len = len; | 110 | em->block_len = len; |
111 | write_lock(&em_tree->lock); | ||
107 | ret = btrfs_add_extent_mapping(fs_info, em_tree, &em, em->start, em->len); | 112 | ret = btrfs_add_extent_mapping(fs_info, em_tree, &em, em->start, em->len); |
113 | write_unlock(&em_tree->lock); | ||
108 | if (ret) { | 114 | if (ret) { |
109 | test_err("case1 [%llu %llu]: ret %d", start, start + len, ret); | 115 | test_err("case1 [%llu %llu]: ret %d", start, start + len, ret); |
110 | goto out; | 116 | goto out; |
@@ -148,7 +154,9 @@ static int test_case_2(struct btrfs_fs_info *fs_info, | |||
148 | em->len = SZ_1K; | 154 | em->len = SZ_1K; |
149 | em->block_start = EXTENT_MAP_INLINE; | 155 | em->block_start = EXTENT_MAP_INLINE; |
150 | em->block_len = (u64)-1; | 156 | em->block_len = (u64)-1; |
157 | write_lock(&em_tree->lock); | ||
151 | ret = add_extent_mapping(em_tree, em, 0); | 158 | ret = add_extent_mapping(em_tree, em, 0); |
159 | write_unlock(&em_tree->lock); | ||
152 | if (ret < 0) { | 160 | if (ret < 0) { |
153 | test_err("cannot add extent range [0, 1K)"); | 161 | test_err("cannot add extent range [0, 1K)"); |
154 | goto out; | 162 | goto out; |
@@ -167,7 +175,9 @@ static int test_case_2(struct btrfs_fs_info *fs_info, | |||
167 | em->len = SZ_4K; | 175 | em->len = SZ_4K; |
168 | em->block_start = SZ_4K; | 176 | em->block_start = SZ_4K; |
169 | em->block_len = SZ_4K; | 177 | em->block_len = SZ_4K; |
178 | write_lock(&em_tree->lock); | ||
170 | ret = add_extent_mapping(em_tree, em, 0); | 179 | ret = add_extent_mapping(em_tree, em, 0); |
180 | write_unlock(&em_tree->lock); | ||
171 | if (ret < 0) { | 181 | if (ret < 0) { |
172 | test_err("cannot add extent range [4K, 8K)"); | 182 | test_err("cannot add extent range [4K, 8K)"); |
173 | goto out; | 183 | goto out; |
@@ -186,7 +196,9 @@ static int test_case_2(struct btrfs_fs_info *fs_info, | |||
186 | em->len = SZ_1K; | 196 | em->len = SZ_1K; |
187 | em->block_start = EXTENT_MAP_INLINE; | 197 | em->block_start = EXTENT_MAP_INLINE; |
188 | em->block_len = (u64)-1; | 198 | em->block_len = (u64)-1; |
199 | write_lock(&em_tree->lock); | ||
189 | ret = btrfs_add_extent_mapping(fs_info, em_tree, &em, em->start, em->len); | 200 | ret = btrfs_add_extent_mapping(fs_info, em_tree, &em, em->start, em->len); |
201 | write_unlock(&em_tree->lock); | ||
190 | if (ret) { | 202 | if (ret) { |
191 | test_err("case2 [0 1K]: ret %d", ret); | 203 | test_err("case2 [0 1K]: ret %d", ret); |
192 | goto out; | 204 | goto out; |
@@ -225,7 +237,9 @@ static int __test_case_3(struct btrfs_fs_info *fs_info, | |||
225 | em->len = SZ_4K; | 237 | em->len = SZ_4K; |
226 | em->block_start = SZ_4K; | 238 | em->block_start = SZ_4K; |
227 | em->block_len = SZ_4K; | 239 | em->block_len = SZ_4K; |
240 | write_lock(&em_tree->lock); | ||
228 | ret = add_extent_mapping(em_tree, em, 0); | 241 | ret = add_extent_mapping(em_tree, em, 0); |
242 | write_unlock(&em_tree->lock); | ||
229 | if (ret < 0) { | 243 | if (ret < 0) { |
230 | test_err("cannot add extent range [4K, 8K)"); | 244 | test_err("cannot add extent range [4K, 8K)"); |
231 | goto out; | 245 | goto out; |
@@ -244,7 +258,9 @@ static int __test_case_3(struct btrfs_fs_info *fs_info, | |||
244 | em->len = SZ_16K; | 258 | em->len = SZ_16K; |
245 | em->block_start = 0; | 259 | em->block_start = 0; |
246 | em->block_len = SZ_16K; | 260 | em->block_len = SZ_16K; |
261 | write_lock(&em_tree->lock); | ||
247 | ret = btrfs_add_extent_mapping(fs_info, em_tree, &em, start, len); | 262 | ret = btrfs_add_extent_mapping(fs_info, em_tree, &em, start, len); |
263 | write_unlock(&em_tree->lock); | ||
248 | if (ret) { | 264 | if (ret) { |
249 | test_err("case3 [0x%llx 0x%llx): ret %d", | 265 | test_err("case3 [0x%llx 0x%llx): ret %d", |
250 | start, start + len, ret); | 266 | start, start + len, ret); |
@@ -320,7 +336,9 @@ static int __test_case_4(struct btrfs_fs_info *fs_info, | |||
320 | em->len = SZ_8K; | 336 | em->len = SZ_8K; |
321 | em->block_start = 0; | 337 | em->block_start = 0; |
322 | em->block_len = SZ_8K; | 338 | em->block_len = SZ_8K; |
339 | write_lock(&em_tree->lock); | ||
323 | ret = add_extent_mapping(em_tree, em, 0); | 340 | ret = add_extent_mapping(em_tree, em, 0); |
341 | write_unlock(&em_tree->lock); | ||
324 | if (ret < 0) { | 342 | if (ret < 0) { |
325 | test_err("cannot add extent range [0, 8K)"); | 343 | test_err("cannot add extent range [0, 8K)"); |
326 | goto out; | 344 | goto out; |
@@ -339,7 +357,9 @@ static int __test_case_4(struct btrfs_fs_info *fs_info, | |||
339 | em->len = 24 * SZ_1K; | 357 | em->len = 24 * SZ_1K; |
340 | em->block_start = SZ_16K; /* avoid merging */ | 358 | em->block_start = SZ_16K; /* avoid merging */ |
341 | em->block_len = 24 * SZ_1K; | 359 | em->block_len = 24 * SZ_1K; |
360 | write_lock(&em_tree->lock); | ||
342 | ret = add_extent_mapping(em_tree, em, 0); | 361 | ret = add_extent_mapping(em_tree, em, 0); |
362 | write_unlock(&em_tree->lock); | ||
343 | if (ret < 0) { | 363 | if (ret < 0) { |
344 | test_err("cannot add extent range [8K, 32K)"); | 364 | test_err("cannot add extent range [8K, 32K)"); |
345 | goto out; | 365 | goto out; |
@@ -357,7 +377,9 @@ static int __test_case_4(struct btrfs_fs_info *fs_info, | |||
357 | em->len = SZ_32K; | 377 | em->len = SZ_32K; |
358 | em->block_start = 0; | 378 | em->block_start = 0; |
359 | em->block_len = SZ_32K; | 379 | em->block_len = SZ_32K; |
380 | write_lock(&em_tree->lock); | ||
360 | ret = btrfs_add_extent_mapping(fs_info, em_tree, &em, start, len); | 381 | ret = btrfs_add_extent_mapping(fs_info, em_tree, &em, start, len); |
382 | write_unlock(&em_tree->lock); | ||
361 | if (ret) { | 383 | if (ret) { |
362 | test_err("case4 [0x%llx 0x%llx): ret %d", | 384 | test_err("case4 [0x%llx 0x%llx): ret %d", |
363 | start, len, ret); | 385 | start, len, ret); |