Lines Matching full:free

10 #include "../free-space-cache.h"
168 * bitmap, but the free space completely in the extent and then in test_bitmaps_and_extents()
285 test_err("failed to free our space %d", ret); in test_bitmaps_and_extents()
297 * This blew up before, we have part of the free space in a bitmap and in test_bitmaps_and_extents()
359 * Now lets confirm that there's absolutely no free space left to in check_cache_empty()
363 test_err("cache free space is not 0"); in check_cache_empty()
381 * Before we were able to steal free space from a bitmap entry to an extent
382 * entry, we could end up with 2 entries representing a contiguous free space.
412 * removing free space to reach into this state, but to get there in test_steal_space_from_bitmap_to_extent()
413 * we need to reach a point where marking new free space doesn't in test_steal_space_from_bitmap_to_extent()
416 * in an existing bitmap that covers the new free space range. in test_steal_space_from_bitmap_to_extent()
430 * Extent entry covering free space range [128Mb - 256Kb, 128Mb - 128Kb[ in test_steal_space_from_bitmap_to_extent()
438 /* Bitmap entry covering free space range [128Mb + 512Kb, 256Mb[ */ in test_steal_space_from_bitmap_to_extent()
451 * Now make only the first 256Kb of the bitmap marked as free, so that in test_steal_space_from_bitmap_to_extent()
452 * we end up with only the following ranges marked as free space: in test_steal_space_from_bitmap_to_extent()
461 test_err("failed to free part of bitmap space %d", ret); in test_steal_space_from_bitmap_to_extent()
465 /* Confirm that only those 2 ranges are marked as free. */ in test_steal_space_from_bitmap_to_extent()
467 test_err("free space range missing"); in test_steal_space_from_bitmap_to_extent()
471 test_err("free space range missing"); in test_steal_space_from_bitmap_to_extent()
477 * as free anymore. in test_steal_space_from_bitmap_to_extent()
487 * covered by the bitmap, isn't marked as free. in test_steal_space_from_bitmap_to_extent()
490 test_err("invalid bitmap region marked as free"); in test_steal_space_from_bitmap_to_extent()
496 * by the bitmap too, isn't marked as free either. in test_steal_space_from_bitmap_to_extent()
499 test_err("invalid bitmap region marked as free"); in test_steal_space_from_bitmap_to_extent()
504 * Now lets mark the region [128Mb, 128Mb + 512Kb[ as free too. But, in test_steal_space_from_bitmap_to_extent()
505 * lets make sure the free space cache marks it as free in the bitmap, in test_steal_space_from_bitmap_to_extent()
510 test_err("error adding free space: %d", ret); in test_steal_space_from_bitmap_to_extent()
513 /* Confirm the region is marked as free. */ in test_steal_space_from_bitmap_to_extent()
515 test_err("bitmap region not marked as free"); in test_steal_space_from_bitmap_to_extent()
521 * the cache after adding that free space region. in test_steal_space_from_bitmap_to_extent()
528 * Now lets add a small free space region to the right of the previous in test_steal_space_from_bitmap_to_extent()
535 test_err("error adding free space: %d", ret); in test_steal_space_from_bitmap_to_extent()
541 * the cache after adding that free space region. in test_steal_space_from_bitmap_to_extent()
548 * Now mark the region [128Mb - 128Kb, 128Mb[ as free too. This will in test_steal_space_from_bitmap_to_extent()
550 * the free space [128Mb - 256Kb, 128Mb - 128Kb[. in test_steal_space_from_bitmap_to_extent()
554 test_err("error adding free space: %d", ret); in test_steal_space_from_bitmap_to_extent()
557 /* Confirm the region is marked as free. */ in test_steal_space_from_bitmap_to_extent()
559 test_err("extent region not marked as free"); in test_steal_space_from_bitmap_to_extent()
564 * Confirm that our extent entry didn't stole all free space from the in test_steal_space_from_bitmap_to_extent()
565 * bitmap, because of the small 4Kb free space region. in test_steal_space_from_bitmap_to_extent()
572 * So now we have the range [128Mb - 256Kb, 128Mb + 768Kb[ as free in test_steal_space_from_bitmap_to_extent()
573 * space. Without stealing bitmap free space into extent entry space, in test_steal_space_from_bitmap_to_extent()
574 * we would have all this free space represented by 2 entries in the in test_steal_space_from_bitmap_to_extent()
580 * Attempting to allocate the whole free space (1Mb) would fail, because in test_steal_space_from_bitmap_to_extent()
582 * With the bitmap free space stealing, we get a single extent entry in test_steal_space_from_bitmap_to_extent()
583 * that represents the 1Mb free space, and therefore we're able to in test_steal_space_from_bitmap_to_extent()
584 * allocate the whole free space at once. in test_steal_space_from_bitmap_to_extent()
587 test_err("expected region not marked as free"); in test_steal_space_from_bitmap_to_extent()
592 test_err("cache free space is not 1Mb + %u", sectorsize); in test_steal_space_from_bitmap_to_extent()
607 * All that remains is a sectorsize free space region in a bitmap. in test_steal_space_from_bitmap_to_extent()
615 test_err("cache free space is not %u", sectorsize); in test_steal_space_from_bitmap_to_extent()
641 * Extent entry covering free space range [128Mb + 128Kb, 128Mb + 256Kb[ in test_steal_space_from_bitmap_to_extent()
649 /* Bitmap entry covering free space range [0, 128Mb - 512Kb[ */ in test_steal_space_from_bitmap_to_extent()
661 * Now make only the last 256Kb of the bitmap marked as free, so that in test_steal_space_from_bitmap_to_extent()
662 * we end up with only the following ranges marked as free space: in test_steal_space_from_bitmap_to_extent()
669 test_err("failed to free part of bitmap space %d", ret); in test_steal_space_from_bitmap_to_extent()
673 /* Confirm that only those 2 ranges are marked as free. */ in test_steal_space_from_bitmap_to_extent()
675 test_err("free space range missing"); in test_steal_space_from_bitmap_to_extent()
679 test_err("free space range missing"); in test_steal_space_from_bitmap_to_extent()
685 * as free anymore. in test_steal_space_from_bitmap_to_extent()
694 * covered by the bitmap, isn't marked as free. in test_steal_space_from_bitmap_to_extent()
697 test_err("invalid bitmap region marked as free"); in test_steal_space_from_bitmap_to_extent()
702 * Now lets mark the region [128Mb - 512Kb, 128Mb[ as free too. But, in test_steal_space_from_bitmap_to_extent()
703 * lets make sure the free space cache marks it as free in the bitmap, in test_steal_space_from_bitmap_to_extent()
708 test_err("error adding free space: %d", ret); in test_steal_space_from_bitmap_to_extent()
711 /* Confirm the region is marked as free. */ in test_steal_space_from_bitmap_to_extent()
713 test_err("bitmap region not marked as free"); in test_steal_space_from_bitmap_to_extent()
719 * the cache after adding that free space region. in test_steal_space_from_bitmap_to_extent()
726 * Now lets add a small free space region to the left of the previous in test_steal_space_from_bitmap_to_extent()
733 test_err("error adding free space: %d", ret); in test_steal_space_from_bitmap_to_extent()
738 * Now mark the region [128Mb, 128Mb + 128Kb[ as free too. This will in test_steal_space_from_bitmap_to_extent()
740 * the free space [128Mb + 128Kb, 128Mb + 256Kb[. in test_steal_space_from_bitmap_to_extent()
744 test_err("error adding free space: %d", ret); in test_steal_space_from_bitmap_to_extent()
747 /* Confirm the region is marked as free. */ in test_steal_space_from_bitmap_to_extent()
749 test_err("extent region not marked as free"); in test_steal_space_from_bitmap_to_extent()
754 * Confirm that our extent entry didn't stole all free space from the in test_steal_space_from_bitmap_to_extent()
755 * bitmap, because of the small 2 * sectorsize free space region. in test_steal_space_from_bitmap_to_extent()
762 * So now we have the range [128Mb - 768Kb, 128Mb + 256Kb[ as free in test_steal_space_from_bitmap_to_extent()
763 * space. Without stealing bitmap free space into extent entry space, in test_steal_space_from_bitmap_to_extent()
764 * we would have all this free space represented by 2 entries in the in test_steal_space_from_bitmap_to_extent()
770 * Attempting to allocate the whole free space (1Mb) would fail, because in test_steal_space_from_bitmap_to_extent()
772 * With the bitmap free space stealing, we get a single extent entry in test_steal_space_from_bitmap_to_extent()
773 * that represents the 1Mb free space, and therefore we're able to in test_steal_space_from_bitmap_to_extent()
774 * allocate the whole free space at once. in test_steal_space_from_bitmap_to_extent()
777 test_err("expected region not marked as free"); in test_steal_space_from_bitmap_to_extent()
782 test_err("cache free space is not 1Mb + %u", 2 * sectorsize); in test_steal_space_from_bitmap_to_extent()
796 * All that remains is 2 * sectorsize free space region in test_steal_space_from_bitmap_to_extent()
804 test_err("cache free space is not %u", 2 * sectorsize); in test_steal_space_from_bitmap_to_extent()
1012 test_msg("running btrfs free space cache tests"); in btrfs_test_free_space_cache()