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-02-15 13:28:15 -0500
commitdc5d73b3db6694d73a6e01da4d24e0289c560593 (patch)
tree76262f73028f54a92fd09962a14aa7c30d51558c
parent01226ed90cc4526d02b4eb27810c80e0996e4a97 (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 989239aa7d3b..fb777f958dcd 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 77bd7b00e3c7..13495d487a68 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 72cd4c713a72..6f996c2c25e1 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)