summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2018-02-15 13:22:39 -0500
committerKent Overstreet <kent.overstreet@gmail.com>2018-05-22 00:44:18 -0400
commit3d3900d01c58beb1b4f1b75388377d0e09e49de7 (patch)
treea7afad1048e41e78ee07a833dc2def7fdd81e577
parente4eb7bfc6d30f9609e00d523b707545e87eb630f (diff)
bcachefs: use reserve when open buckets pinned
-rw-r--r--fs/bcachefs/fs-io.c8
-rw-r--r--fs/bcachefs/io.c3
-rw-r--r--fs/bcachefs/move.c1
3 files changed, 9 insertions, 3 deletions
diff --git a/fs/bcachefs/fs-io.c b/fs/bcachefs/fs-io.c
index d84e2d76c15f..a80872be26c4 100644
--- a/fs/bcachefs/fs-io.c
+++ b/fs/bcachefs/fs-io.c
@@ -452,14 +452,18 @@ static int bchfs_write_index_update(struct bch_write_op *wop)
ret = bch2_btree_insert_at(wop->c, &wop->res,
&hook.hook, op_journal_seq(wop),
- BTREE_INSERT_NOFAIL|BTREE_INSERT_ATOMIC,
+ BTREE_INSERT_NOFAIL|
+ BTREE_INSERT_ATOMIC|
+ BTREE_INSERT_USE_RESERVE,
BTREE_INSERT_ENTRY(&extent_iter, k),
BTREE_INSERT_ENTRY_EXTRA_RES(&inode_iter,
&hook.inode_p.inode.k_i, 2));
} else {
ret = bch2_btree_insert_at(wop->c, &wop->res,
&hook.hook, op_journal_seq(wop),
- BTREE_INSERT_NOFAIL|BTREE_INSERT_ATOMIC,
+ BTREE_INSERT_NOFAIL|
+ BTREE_INSERT_ATOMIC|
+ BTREE_INSERT_USE_RESERVE,
BTREE_INSERT_ENTRY(&extent_iter, k));
}
diff --git a/fs/bcachefs/io.c b/fs/bcachefs/io.c
index c63869f4a1e8..9865f73299d2 100644
--- a/fs/bcachefs/io.c
+++ b/fs/bcachefs/io.c
@@ -221,7 +221,8 @@ int bch2_write_index_default(struct bch_write_op *op)
ret = bch2_btree_insert_list_at(&iter, keys, &op->res,
NULL, op_journal_seq(op),
- BTREE_INSERT_NOFAIL);
+ BTREE_INSERT_NOFAIL|
+ BTREE_INSERT_USE_RESERVE);
bch2_btree_iter_unlock(&iter);
return ret;
diff --git a/fs/bcachefs/move.c b/fs/bcachefs/move.c
index 9dcc199af97f..88228cdedd2b 100644
--- a/fs/bcachefs/move.c
+++ b/fs/bcachefs/move.c
@@ -151,6 +151,7 @@ static int bch2_migrate_index_update(struct bch_write_op *op)
NULL, op_journal_seq(op),
BTREE_INSERT_ATOMIC|
BTREE_INSERT_NOFAIL|
+ BTREE_INSERT_USE_RESERVE|
m->data_opts.btree_insert_flags,
BTREE_INSERT_ENTRY(&iter, &insert->k_i));
if (!ret)