Thread (86 messages) 86 messages, 7 authors, 2021-01-15

Re: [PATCH v11 07/40] btrfs: disallow fitrim in ZONED mode

From: Josef Bacik <josef@toxicpanda.com>
Date: 2021-01-11 20:12:49
Also in: linux-fsdevel

On 12/21/20 10:49 PM, Naohiro Aota wrote:
quoted hunk ↗ jump to hunk
The implementation of fitrim is depending on space cache, which is not used
and disabled for zoned btrfs' extent allocator. So the current code does
not work with zoned btrfs. In the future, we can implement fitrim for zoned
btrfs by enabling space cache (but, only for fitrim) or scanning the extent
tree at fitrim time. But, for now, disallow fitrim in ZONED mode.

Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
---
  fs/btrfs/ioctl.c | 8 ++++++++
  1 file changed, 8 insertions(+)
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 5b9b0a390f0e..6df362081478 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -527,6 +527,14 @@ static noinline int btrfs_ioctl_fitrim(struct btrfs_fs_info *fs_info,
  	if (!capable(CAP_SYS_ADMIN))
  		return -EPERM;
  
+	/*
+	 * btrfs_trim_block_group() is depending on space cache, which is
+	 * not available in ZONED mode. So, disallow fitrim in ZONED mode
+	 * for now.
+	 */
+	if (fs_info->zoned)
Should be btrfs_is_zoned(fs_info);  Thanks,

Josef
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help