bcachefs: Fix initialization of bch_write_op.nonce
authorKent Overstreet <kent.overstreet@gmail.com>
Fri, 3 Sep 2021 21:32:42 +0000 (17:32 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:11 +0000 (17:09 -0400)
commit8f54337dc6825f323f7761c182d98efdd180ce70
tree6a095523f764170174ecd382bb4cfcfd6c2ef850
parentfbf14104dabe91e6c3b5544f9289eebc94a52c93
bcachefs: Fix initialization of bch_write_op.nonce

If an extent ends up with a replica that is encrypted an a replica that
isn't encrypted (due the user changing options), and then
copygc/rebalance moves one of the replicas by reading from the
unencrypted replica, we had a bug where we wouldn't correctly initialize
op->nonce - for each crc field in an extent, crc.offset + crc.nonce must
be equal.

This patch fixes that by moving op.nonce initialization to
bch2_migrate_write_init.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
fs/bcachefs/move.c