]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
bcachefs: Add a sysfs attr for triggering discards
authorKent Overstreet <kent.overstreet@gmail.com>
Thu, 7 Apr 2022 22:38:16 +0000 (18:38 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:30 +0000 (17:09 -0400)
We're currently debugging an issue with discards not getting run; this
patch adds a manual trigger so we can then watch the tracepoint while it
runs.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
fs/bcachefs/sysfs.c

index e995b84b6172a699d916623ae8f00f313607a926..872d7bed7b6bc62065ab8209d03bb2461158d7c8 100644 (file)
@@ -150,6 +150,7 @@ do {                                                                        \
 } while (0)
 
 write_attribute(trigger_gc);
+write_attribute(trigger_discards);
 write_attribute(prune_cache);
 rw_attribute(btree_gc_periodic);
 rw_attribute(gc_gens_pos);
@@ -505,6 +506,9 @@ STORE(bch2_fs)
 #endif
        }
 
+       if (attr == &sysfs_trigger_discards)
+               bch2_do_discards(c);
+
 #ifdef CONFIG_BCACHEFS_TESTS
        if (attr == &sysfs_perf_test) {
                char *tmp = kstrdup(buf, GFP_KERNEL), *p = tmp;
@@ -573,6 +577,7 @@ struct attribute *bch2_fs_internal_files[] = {
        &sysfs_io_timers_write,
 
        &sysfs_trigger_gc,
+       &sysfs_trigger_discards,
        &sysfs_prune_cache,
 
        &sysfs_read_realloc_races,