Skip to content

Commit 7b474c7

Browse files
author
Kent Overstreet
committed
bcachefs: Fix promotes
The recent work to fix data moves w.r.t. durability broke promotes, because the caused us to bail out when the extent minus pointers being dropped still has enough pointers to satisfy the current number of replicas. Disable this check when we're adding cached replicas. Signed-off-by: Kent Overstreet <[email protected]>
1 parent c8296d7 commit 7b474c7

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

fs/bcachefs/data_update.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -587,7 +587,8 @@ int bch2_data_update_init(struct btree_trans *trans,
587587
* Increasing replication is an explicit operation triggered by
588588
* rereplicate, currently, so that users don't get an unexpected -ENOSPC
589589
*/
590-
if (durability_have >= io_opts.data_replicas) {
590+
if (!(m->data_opts.write_flags & BCH_WRITE_CACHED) &&
591+
durability_have >= io_opts.data_replicas) {
591592
m->data_opts.kill_ptrs |= m->data_opts.rewrite_ptrs;
592593
m->data_opts.rewrite_ptrs = 0;
593594
/* if iter == NULL, it's just a promote */

0 commit comments

Comments
 (0)