diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-03-21 22:19:57 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:08:18 -0400 |
commit | 134915f3d38d830374603b84a9fe2e280f4814ed (patch) | |
tree | 5c7c2ad3fab6863e048c6d9de098bdb7fefa77dc /fs/bcachefs/super-io.c | |
parent | 65e7ab8f2aa7d45190f1e90b1332c71ef83587a6 (diff) |
bcachefs: Go rw lazily
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/super-io.c')
-rw-r--r-- | fs/bcachefs/super-io.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/fs/bcachefs/super-io.c b/fs/bcachefs/super-io.c index c89fe5d630e4..dec6a737f44f 100644 --- a/fs/bcachefs/super-io.c +++ b/fs/bcachefs/super-io.c @@ -886,7 +886,7 @@ void bch2_sb_clean_renumber(struct bch_sb_field_clean *clean, int write) bch2_bkey_renumber(BKEY_TYPE_BTREE, bkey_to_packed(entry->start), write); } -static void bch2_fs_mark_dirty(struct bch_fs *c) +int bch2_fs_mark_dirty(struct bch_fs *c) { mutex_lock(&c->sb_lock); if (BCH_SB_CLEAN(c->disk_sb.sb) || @@ -896,6 +896,8 @@ static void bch2_fs_mark_dirty(struct bch_fs *c) bch2_write_super(c); } mutex_unlock(&c->sb_lock); + + return 0; } struct jset_entry * @@ -997,17 +999,12 @@ bch2_journal_super_entries_add_common(struct bch_fs *c, return entry; } -void bch2_fs_mark_clean(struct bch_fs *c, bool clean) +void bch2_fs_mark_clean(struct bch_fs *c) { struct bch_sb_field_clean *sb_clean; struct jset_entry *entry; unsigned u64s; - if (!clean) { - bch2_fs_mark_dirty(c); - return; - } - mutex_lock(&c->sb_lock); if (BCH_SB_CLEAN(c->disk_sb.sb)) goto out; |