Re: [PATCH] fstests: btrfs: make nospace_cache related test cases to work with latest v2 cache

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]





On 2021/11/5 18:25, Josef Bacik wrote:
On Thu, Nov 04, 2021 at 08:55:53AM +0800, Qu Wenruo wrote:
In the coming btrfs-progs v5.15 release, mkfs.btrfs will change to use
v2 cache by default.

However nospace_cache mount option will not work with v2 cache, as it
will make v2 cache out of sync with on-disk used space.

So mounting a btrfs with v2 cache using "nospace_cache" will make btrfs
to reject the mount.

There are quite some test cases relying on nospace_cache to prevent v1
cache to take up data space.

For that case, we can append "clear_cache" mount option to it, so that
btrfs knows we do not only want to prevent cache from being created, but
also want to clear any existing v2 cache.

By this, we can keep those existing tests to do the same behavior for
both v1 and v2 cache.

Signed-off-by: Qu Wenruo <wqu@xxxxxxxx>

This will re-generate the free space tree needlessly, and in fact won't be
allowed for extent-tree-v2, so we'll just have to mess with it again.  Instead
add a helper to get the options if they're needed, something like

_btrfs_nocache_opt() {
	$BTRFS_UTIL_PROG inspect-internal $SCRATCH_DEV | grep FREE_SPACE_TREE
	if [ $? -eq 0 ]; then
		return "-o nospace_cache"
	fi
	return ""
}

OK, this indeed sounds better.

Thanks,
Qu

or something like that.  Thanks,

Josef





[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux