diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2022-04-04 13:48:45 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2022-04-04 13:48:45 -0400 |
commit | 498874fdb71973c1856f35414bd607e58be16790 (patch) | |
tree | 9befebc09f4ebd856788d5fd5ac4ffecbd7698e9 /libbcachefs/journal.c | |
parent | 32aabbc4e547592f957de7d4b093986e55981085 (diff) |
Update bcachefs sources to 91e6c3e0d5 bcachefs: Gap buffer for journal keys
Diffstat (limited to 'libbcachefs/journal.c')
-rw-r--r-- | libbcachefs/journal.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libbcachefs/journal.c b/libbcachefs/journal.c index 505e8367..d01b1cd4 100644 --- a/libbcachefs/journal.c +++ b/libbcachefs/journal.c @@ -964,6 +964,7 @@ int bch2_set_nr_journal_buckets(struct bch_fs *c, struct bch_dev *ca, int bch2_dev_journal_alloc(struct bch_dev *ca) { unsigned nr; + int ret; if (dynamic_fault("bcachefs:add:journal_alloc")) return -ENOMEM; @@ -980,7 +981,15 @@ int bch2_dev_journal_alloc(struct bch_dev *ca) min(1 << 13, (1 << 24) / ca->mi.bucket_size)); - return __bch2_set_nr_journal_buckets(ca, nr, true, NULL); + if (ca->fs) + mutex_lock(&ca->fs->sb_lock); + + ret = __bch2_set_nr_journal_buckets(ca, nr, true, NULL); + + if (ca->fs) + mutex_unlock(&ca->fs->sb_lock); + + return ret; } /* startup/shutdown: */ |