Skip to content

Commit bdae2a7

Browse files
author
Kent Overstreet
committed
bcachefs: sysfs internal/trigger_journal_flush
Add a sysfs knob for immediately flushing the entire journal. Signed-off-by: Kent Overstreet <[email protected]>
1 parent e879389 commit bdae2a7

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

fs/bcachefs/sysfs.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include "ec.h"
2626
#include "inode.h"
2727
#include "journal.h"
28+
#include "journal_reclaim.h"
2829
#include "keylist.h"
2930
#include "move.h"
3031
#include "movinggc.h"
@@ -138,6 +139,7 @@ do { \
138139
write_attribute(trigger_gc);
139140
write_attribute(trigger_discards);
140141
write_attribute(trigger_invalidates);
142+
write_attribute(trigger_journal_flush);
141143
write_attribute(prune_cache);
142144
write_attribute(btree_wakeup);
143145
rw_attribute(btree_gc_periodic);
@@ -500,7 +502,7 @@ STORE(bch2_fs)
500502

501503
/* Debugging: */
502504

503-
if (!test_bit(BCH_FS_rw, &c->flags))
505+
if (!bch2_write_ref_tryget(c, BCH_WRITE_REF_sysfs))
504506
return -EROFS;
505507

506508
if (attr == &sysfs_prune_cache) {
@@ -533,6 +535,11 @@ STORE(bch2_fs)
533535
if (attr == &sysfs_trigger_invalidates)
534536
bch2_do_invalidates(c);
535537

538+
if (attr == &sysfs_trigger_journal_flush) {
539+
bch2_journal_flush_all_pins(&c->journal);
540+
bch2_journal_meta(&c->journal);
541+
}
542+
536543
#ifdef CONFIG_BCACHEFS_TESTS
537544
if (attr == &sysfs_perf_test) {
538545
char *tmp = kstrdup(buf, GFP_KERNEL), *p = tmp;
@@ -553,6 +560,7 @@ STORE(bch2_fs)
553560
size = ret;
554561
}
555562
#endif
563+
bch2_write_ref_put(c, BCH_WRITE_REF_sysfs);
556564
return size;
557565
}
558566
SYSFS_OPS(bch2_fs);
@@ -651,6 +659,7 @@ struct attribute *bch2_fs_internal_files[] = {
651659
&sysfs_trigger_gc,
652660
&sysfs_trigger_discards,
653661
&sysfs_trigger_invalidates,
662+
&sysfs_trigger_journal_flush,
654663
&sysfs_prune_cache,
655664
&sysfs_btree_wakeup,
656665

0 commit comments

Comments
 (0)