summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2019-10-21 19:38:08 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2019-10-22 02:52:18 -0400
commit3ede337622f3b31a4eb0f68d2b63daccf8065f75 (patch)
tree215ce38ecec14c7926992b65aeb9e428616c7baa
parent6145a4998411860f8f27a4c72a46f7b5c87728a9 (diff)
bcachefs: Don't use FUA unnecessarily
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r--fs/bcachefs/btree_io.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/bcachefs/btree_io.c b/fs/bcachefs/btree_io.c
index b6e286c36b86..591980d2011f 100644
--- a/fs/bcachefs/btree_io.c
+++ b/fs/bcachefs/btree_io.c
@@ -1500,10 +1500,13 @@ void __bch2_btree_node_write(struct bch_fs *c, struct btree *b,
wbio->data = data;
wbio->wbio.order = order;
wbio->wbio.used_mempool = used_mempool;
- wbio->wbio.bio.bi_opf = REQ_OP_WRITE|REQ_META|REQ_FUA;
+ wbio->wbio.bio.bi_opf = REQ_OP_WRITE|REQ_META;
wbio->wbio.bio.bi_end_io = btree_node_write_endio;
wbio->wbio.bio.bi_private = b;
+ if (b->level || !b->written)
+ wbio->wbio.bio.bi_opf |= REQ_FUA;
+
bch2_bio_map(&wbio->wbio.bio, data, sectors_to_write << 9);
/*