[PATCH v5 22/28] btrfs: disallow inode_cache in HMZONED mode

Naohiro Aota
2019-12-04T08:20:17Z

inode_cache use pre-allocation to write its cache data. However,
pre-allocation is completely disabled in HMZONED mode.

We can technically enable inode_cache in the same way as relocation.
However, inode_cache is rarely used and the man page discourage using it.
So, let's just disable it for now.

Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
---
fs/btrfs/hmzoned.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/fs/btrfs/hmzoned.c b/fs/btrfs/hmzoned.c
index 1fdc5946715a..55530782c1b1 100644
--- a/fs/btrfs/hmzoned.c
+++ b/fs/btrfs/hmzoned.c
@@ -345,6 +345,12 @@ int btrfs_check_mountopts_hmzoned(struct btrfs_fs_info *info)
return -EINVAL;
}

+ if (btrfs_test_pending(info, SET_INODE_MAP_CACHE)) {
+ btrfs_err(info,
+ "cannot enable inode map caching with HMZONED mode");
+ return -EINVAL;
+ }
+
return 0;
}

--
2.24.0