• Josef Bacik's avatar
    Btrfs: only set cache_generation if we setup the block group · e65cbb94
    Josef Bacik authored
    A user reported a problem booting into a new kernel with the old format inodes.
    He was panicing in cow_file_range while writing out the inode cache.  This is
    because if the block group is not cached we'll just skip writing out the cache,
    however if it gets dirtied again in the same transaction and it finished caching
    we'd go ahead and write it out, but since we set cache_generation to the transid
    we think we've already truncated it and will just carry on, running into
    cow_file_range and blowing up.  We need to make sure we only set
    cache_generation if we've done the truncate.  The user tested this patch and
    verified that the panic no longer occured.  Thanks,
    Reported-and-Tested-by: default avatarKlaus Bitto <klaus.bitto@gmail.com>
    Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
    e65cbb94
extent-tree.c 203 KB