Lines Matching refs:prealloc
166 static struct extent_state *alloc_extent_state_atomic(struct extent_state *prealloc) in alloc_extent_state_atomic() argument
168 if (!prealloc) in alloc_extent_state_atomic()
169 prealloc = alloc_extent_state(GFP_ATOMIC); in alloc_extent_state_atomic()
171 return prealloc; in alloc_extent_state_atomic()
504 struct extent_state *prealloc, u64 split) in split_state() argument
512 prealloc->start = orig->start; in split_state()
513 prealloc->end = split - 1; in split_state()
514 prealloc->state = orig->state; in split_state()
525 if (prealloc->end < entry->start) { in split_state()
527 } else if (prealloc->end > entry->end) { in split_state()
530 btrfs_free_extent_state(prealloc); in split_state()
535 rb_link_node(&prealloc->rb_node, parent, node); in split_state()
536 rb_insert_color(&prealloc->rb_node, &tree->state); in split_state()
618 struct extent_state *prealloc = NULL; in btrfs_clear_extent_bit_changeset() local
639 if (!prealloc) { in btrfs_clear_extent_bit_changeset()
647 prealloc = alloc_extent_state(mask); in btrfs_clear_extent_bit_changeset()
702 prealloc = alloc_extent_state_atomic(prealloc); in btrfs_clear_extent_bit_changeset()
703 if (!prealloc) in btrfs_clear_extent_bit_changeset()
705 ret = split_state(tree, state, prealloc, start); in btrfs_clear_extent_bit_changeset()
706 prealloc = NULL; in btrfs_clear_extent_bit_changeset()
730 prealloc = alloc_extent_state_atomic(prealloc); in btrfs_clear_extent_bit_changeset()
731 if (!prealloc) in btrfs_clear_extent_bit_changeset()
733 ret = split_state(tree, state, prealloc, end + 1); in btrfs_clear_extent_bit_changeset()
736 prealloc = NULL; in btrfs_clear_extent_bit_changeset()
743 clear_state_bit(tree, prealloc, bits, wake, end, changeset); in btrfs_clear_extent_bit_changeset()
745 prealloc = NULL; in btrfs_clear_extent_bit_changeset()
765 btrfs_free_extent_state(prealloc); in btrfs_clear_extent_bit_changeset()
1053 struct extent_state *prealloc = NULL; in set_extent_bit() local
1071 if (!prealloc) { in set_extent_bit()
1079 prealloc = alloc_extent_state(mask); in set_extent_bit()
1098 prealloc = alloc_extent_state_atomic(prealloc); in set_extent_bit()
1099 if (!prealloc) in set_extent_bit()
1101 prealloc->start = start; in set_extent_bit()
1102 prealloc->end = end; in set_extent_bit()
1103 insert_state_fast(tree, prealloc, p, parent, bits, changeset); in set_extent_bit()
1104 cache_state(prealloc, cached_state); in set_extent_bit()
1105 prealloc = NULL; in set_extent_bit()
1171 prealloc = alloc_extent_state_atomic(prealloc); in set_extent_bit()
1172 if (!prealloc) in set_extent_bit()
1174 ret = split_state(tree, state, prealloc, start); in set_extent_bit()
1178 prealloc = NULL; in set_extent_bit()
1204 prealloc = alloc_extent_state_atomic(prealloc); in set_extent_bit()
1205 if (!prealloc) in set_extent_bit()
1212 prealloc->start = start; in set_extent_bit()
1214 prealloc->end = end; in set_extent_bit()
1216 prealloc->end = last_start - 1; in set_extent_bit()
1218 inserted_state = insert_state(tree, prealloc, bits, changeset); in set_extent_bit()
1221 extent_io_tree_panic(tree, prealloc, "insert", ret); in set_extent_bit()
1226 if (inserted_state == prealloc) in set_extent_bit()
1227 prealloc = NULL; in set_extent_bit()
1261 prealloc = alloc_extent_state_atomic(prealloc); in set_extent_bit()
1262 if (!prealloc) in set_extent_bit()
1264 ret = split_state(tree, state, prealloc, end + 1); in set_extent_bit()
1267 prealloc = NULL; in set_extent_bit()
1271 set_state_bits(tree, prealloc, bits, changeset); in set_extent_bit()
1272 cache_state(prealloc, cached_state); in set_extent_bit()
1273 merge_state(tree, prealloc); in set_extent_bit()
1274 prealloc = NULL; in set_extent_bit()
1288 btrfs_free_extent_state(prealloc); in set_extent_bit()
1323 struct extent_state *prealloc = NULL; in btrfs_convert_extent_bit() local
1336 if (!prealloc) { in btrfs_convert_extent_bit()
1344 prealloc = alloc_extent_state(GFP_NOFS); in btrfs_convert_extent_bit()
1345 if (!prealloc && !first_iteration) in btrfs_convert_extent_bit()
1363 prealloc = alloc_extent_state_atomic(prealloc); in btrfs_convert_extent_bit()
1364 if (!prealloc) { in btrfs_convert_extent_bit()
1368 prealloc->start = start; in btrfs_convert_extent_bit()
1369 prealloc->end = end; in btrfs_convert_extent_bit()
1370 insert_state_fast(tree, prealloc, p, parent, bits, NULL); in btrfs_convert_extent_bit()
1371 cache_state(prealloc, cached_state); in btrfs_convert_extent_bit()
1372 prealloc = NULL; in btrfs_convert_extent_bit()
1413 prealloc = alloc_extent_state_atomic(prealloc); in btrfs_convert_extent_bit()
1414 if (!prealloc) { in btrfs_convert_extent_bit()
1418 ret = split_state(tree, state, prealloc, start); in btrfs_convert_extent_bit()
1419 prealloc = NULL; in btrfs_convert_extent_bit()
1446 prealloc = alloc_extent_state_atomic(prealloc); in btrfs_convert_extent_bit()
1447 if (!prealloc) { in btrfs_convert_extent_bit()
1456 prealloc->start = start; in btrfs_convert_extent_bit()
1458 prealloc->end = end; in btrfs_convert_extent_bit()
1460 prealloc->end = last_start - 1; in btrfs_convert_extent_bit()
1462 inserted_state = insert_state(tree, prealloc, bits, NULL); in btrfs_convert_extent_bit()
1465 extent_io_tree_panic(tree, prealloc, "insert", ret); in btrfs_convert_extent_bit()
1469 if (inserted_state == prealloc) in btrfs_convert_extent_bit()
1470 prealloc = NULL; in btrfs_convert_extent_bit()
1497 prealloc = alloc_extent_state_atomic(prealloc); in btrfs_convert_extent_bit()
1498 if (!prealloc) { in btrfs_convert_extent_bit()
1503 ret = split_state(tree, state, prealloc, end + 1); in btrfs_convert_extent_bit()
1506 prealloc = NULL; in btrfs_convert_extent_bit()
1510 set_state_bits(tree, prealloc, bits, NULL); in btrfs_convert_extent_bit()
1511 cache_state(prealloc, cached_state); in btrfs_convert_extent_bit()
1512 clear_state_bit(tree, prealloc, clear_bits, 0, end, NULL); in btrfs_convert_extent_bit()
1513 prealloc = NULL; in btrfs_convert_extent_bit()
1527 btrfs_free_extent_state(prealloc); in btrfs_convert_extent_bit()