bcachefs: Fix short buffered writes
authorKent Overstreet <kent.overstreet@gmail.com>
Thu, 9 Jul 2020 17:54:58 +0000 (13:54 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:42 +0000 (17:08 -0400)
commit912bdf17a849990f7241e294e48629987553b94c
tree2c4fe845f7e289602db6f598fb1fd7701c778ce1
parent0ba95acc4499c84156144316dfb08d68930cc1a9
bcachefs: Fix short buffered writes

In the buffered write path, we have to check for short writes that write
to the full page, where the page wasn't UpToDate; when this happens, the
page is partly garbage, so we have to zero it out and revert that part
of the write.

This check was wrong - we reverted total from copied, but didn't revert
the iov_iter, probably also leading to corrupted writes.

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