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@xxxxxxx>
---
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