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.
413 * removing free space to reach into this state, but to get there in test_steal_space_from_bitmap_to_extent()
414 * we need to reach a point where marking new free space doesn't in test_steal_space_from_bitmap_to_extent()
417 * in an existing bitmap that covers the new free space range. in test_steal_space_from_bitmap_to_extent()
431 * Extent entry covering free space range [128Mb - 256Kb, 128Mb - 128Kb[ in test_steal_space_from_bitmap_to_extent()
439 /* Bitmap entry covering free space range [128Mb + 512Kb, 256Mb[ */ in test_steal_space_from_bitmap_to_extent()
452 * Now make only the first 256Kb of the bitmap marked as free, so that in test_steal_space_from_bitmap_to_extent()
453 * we end up with only the following ranges marked as free space: in test_steal_space_from_bitmap_to_extent()
462 test_err("failed to free part of bitmap space %d", ret); in test_steal_space_from_bitmap_to_extent()
466 /* Confirm that only those 2 ranges are marked as free. */ in test_steal_space_from_bitmap_to_extent()
468 test_err("free space range missing"); in test_steal_space_from_bitmap_to_extent()
472 test_err("free space range missing"); in test_steal_space_from_bitmap_to_extent()
478 * as free anymore. in test_steal_space_from_bitmap_to_extent()
488 * covered by the bitmap, isn't marked as free. in test_steal_space_from_bitmap_to_extent()
491 test_err("invalid bitmap region marked as free"); in test_steal_space_from_bitmap_to_extent()
497 * by the bitmap too, isn't marked as free either. in test_steal_space_from_bitmap_to_extent()
500 test_err("invalid bitmap region marked as free"); in test_steal_space_from_bitmap_to_extent()
505 * Now lets mark the region [128Mb, 128Mb + 512Kb[ as free too. But, in test_steal_space_from_bitmap_to_extent()
506 * lets make sure the free space cache marks it as free in the bitmap, in test_steal_space_from_bitmap_to_extent()
511 test_err("error adding free space: %d", ret); in test_steal_space_from_bitmap_to_extent()
514 /* Confirm the region is marked as free. */ in test_steal_space_from_bitmap_to_extent()
516 test_err("bitmap region not marked as free"); in test_steal_space_from_bitmap_to_extent()
522 * the cache after adding that free space region. in test_steal_space_from_bitmap_to_extent()
529 * Now lets add a small free space region to the right of the previous in test_steal_space_from_bitmap_to_extent()
536 test_err("error adding free space: %d", ret); in test_steal_space_from_bitmap_to_extent()
542 * the cache after adding that free space region. in test_steal_space_from_bitmap_to_extent()
549 * Now mark the region [128Mb - 128Kb, 128Mb[ as free too. This will in test_steal_space_from_bitmap_to_extent()
551 * the free space [128Mb - 256Kb, 128Mb - 128Kb[. in test_steal_space_from_bitmap_to_extent()
555 test_err("error adding free space: %d", ret); in test_steal_space_from_bitmap_to_extent()
558 /* Confirm the region is marked as free. */ in test_steal_space_from_bitmap_to_extent()
560 test_err("extent region not marked as free"); in test_steal_space_from_bitmap_to_extent()
565 * Confirm that our extent entry didn't stole all free space from the in test_steal_space_from_bitmap_to_extent()
566 * bitmap, because of the small 4Kb free space region. in test_steal_space_from_bitmap_to_extent()
573 * So now we have the range [128Mb - 256Kb, 128Mb + 768Kb[ as free in test_steal_space_from_bitmap_to_extent()
574 * space. Without stealing bitmap free space into extent entry space, in test_steal_space_from_bitmap_to_extent()
575 * we would have all this free space represented by 2 entries in the in test_steal_space_from_bitmap_to_extent()
581 * Attempting to allocate the whole free space (1Mb) would fail, because in test_steal_space_from_bitmap_to_extent()
583 * With the bitmap free space stealing, we get a single extent entry in test_steal_space_from_bitmap_to_extent()
584 * that represents the 1Mb free space, and therefore we're able to in test_steal_space_from_bitmap_to_extent()
585 * allocate the whole free space at once. in test_steal_space_from_bitmap_to_extent()
588 test_err("expected region not marked as free"); in test_steal_space_from_bitmap_to_extent()
593 test_err("cache free space is not 1Mb + %u", sectorsize); in test_steal_space_from_bitmap_to_extent()
608 * All that remains is a sectorsize free space region in a bitmap. in test_steal_space_from_bitmap_to_extent()
616 test_err("cache free space is not %u", sectorsize); in test_steal_space_from_bitmap_to_extent()
642 * Extent entry covering free space range [128Mb + 128Kb, 128Mb + 256Kb[ in test_steal_space_from_bitmap_to_extent()
650 /* Bitmap entry covering free space range [0, 128Mb - 512Kb[ */ in test_steal_space_from_bitmap_to_extent()
662 * Now make only the last 256Kb of the bitmap marked as free, so that in test_steal_space_from_bitmap_to_extent()
663 * we end up with only the following ranges marked as free space: in test_steal_space_from_bitmap_to_extent()
670 test_err("failed to free part of bitmap space %d", ret); in test_steal_space_from_bitmap_to_extent()
674 /* Confirm that only those 2 ranges are marked as free. */ in test_steal_space_from_bitmap_to_extent()
676 test_err("free space range missing"); in test_steal_space_from_bitmap_to_extent()
680 test_err("free space range missing"); in test_steal_space_from_bitmap_to_extent()
686 * as free anymore. in test_steal_space_from_bitmap_to_extent()
695 * covered by the bitmap, isn't marked as free. in test_steal_space_from_bitmap_to_extent()
698 test_err("invalid bitmap region marked as free"); in test_steal_space_from_bitmap_to_extent()
703 * Now lets mark the region [128Mb - 512Kb, 128Mb[ as free too. But, in test_steal_space_from_bitmap_to_extent()
704 * lets make sure the free space cache marks it as free in the bitmap, in test_steal_space_from_bitmap_to_extent()
709 test_err("error adding free space: %d", ret); in test_steal_space_from_bitmap_to_extent()
712 /* Confirm the region is marked as free. */ in test_steal_space_from_bitmap_to_extent()
714 test_err("bitmap region not marked as free"); in test_steal_space_from_bitmap_to_extent()
720 * the cache after adding that free space region. in test_steal_space_from_bitmap_to_extent()
727 * Now lets add a small free space region to the left of the previous in test_steal_space_from_bitmap_to_extent()
734 test_err("error adding free space: %d", ret); in test_steal_space_from_bitmap_to_extent()
739 * Now mark the region [128Mb, 128Mb + 128Kb[ as free too. This will in test_steal_space_from_bitmap_to_extent()
741 * the free space [128Mb + 128Kb, 128Mb + 256Kb[. in test_steal_space_from_bitmap_to_extent()
745 test_err("error adding free space: %d", ret); in test_steal_space_from_bitmap_to_extent()
748 /* Confirm the region is marked as free. */ in test_steal_space_from_bitmap_to_extent()
750 test_err("extent region not marked as free"); in test_steal_space_from_bitmap_to_extent()
755 * Confirm that our extent entry didn't stole all free space from the in test_steal_space_from_bitmap_to_extent()
756 * bitmap, because of the small 2 * sectorsize free space region. in test_steal_space_from_bitmap_to_extent()
763 * So now we have the range [128Mb - 768Kb, 128Mb + 256Kb[ as free in test_steal_space_from_bitmap_to_extent()
764 * space. Without stealing bitmap free space into extent entry space, in test_steal_space_from_bitmap_to_extent()
765 * we would have all this free space represented by 2 entries in the in test_steal_space_from_bitmap_to_extent()
771 * Attempting to allocate the whole free space (1Mb) would fail, because in test_steal_space_from_bitmap_to_extent()
773 * With the bitmap free space stealing, we get a single extent entry in test_steal_space_from_bitmap_to_extent()
774 * that represents the 1Mb free space, and therefore we're able to in test_steal_space_from_bitmap_to_extent()
775 * allocate the whole free space at once. in test_steal_space_from_bitmap_to_extent()
778 test_err("expected region not marked as free"); in test_steal_space_from_bitmap_to_extent()
783 test_err("cache free space is not 1Mb + %u", 2 * sectorsize); in test_steal_space_from_bitmap_to_extent()
797 * All that remains is 2 * sectorsize free space region in test_steal_space_from_bitmap_to_extent()
805 test_err("cache free space is not %u", 2 * sectorsize); in test_steal_space_from_bitmap_to_extent()
835 test_msg("running btrfs free space cache tests"); in btrfs_test_free_space_cache()