btrfs: sysfs: relax bg_reclaim_threshold for debugging purposes
authorNaohiro Aota <naohiro.aota@wdc.com>
Mon, 13 Mar 2023 07:46:54 +0000 (16:46 +0900)
committerDavid Sterba <dsterba@suse.com>
Mon, 17 Apr 2023 16:01:18 +0000 (18:01 +0200)
Currently, /sys/fs/btrfs/<UUID>/bg_reclaim_threshold is limited to 0
(disable) or [50 .. 100]%, so we need to fill 50% of a device to start the
auto reclaim process. It is cumbersome to do so when we want to shake out
possible race issues of normal write vs reclaim.

Relax the threshold check under the BTRFS_DEBUG option.

Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/sysfs.c

index 37fc58a7f27edf789143f9b97323f36f6cdb6138..25294e624851606424100337acd8ff0249487a1e 100644 (file)
@@ -1262,8 +1262,13 @@ static ssize_t btrfs_bg_reclaim_threshold_store(struct kobject *kobj,
        if (ret)
                return ret;
 
+#ifdef CONFIG_BTRFS_DEBUG
+       if (thresh != 0 && (thresh > 100))
+               return -EINVAL;
+#else
        if (thresh != 0 && (thresh <= 50 || thresh > 100))
                return -EINVAL;
+#endif
 
        WRITE_ONCE(fs_info->bg_reclaim_threshold, thresh);