bcachefs: Fix an error path race
authorKent Overstreet <kent.overstreet@gmail.com>
Fri, 25 Oct 2019 22:54:58 +0000 (18:54 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:30 +0000 (17:08 -0400)
commit406d6d5a0733f3eacbcd4c33905bf63c5b2f4c07
treead46d529c76693d301194f7d4c3f1e3dc6475c37
parent92384391c8d04642bb2be1e0c34f744675f50abc
bcachefs: Fix an error path race

On IO error, bch2_writepages_io_done() will set the page state to
indicate nothing's already reserved (since the write didn't happen, we
don't know what's already reserved). This can race with the buffered IO
path, in between getting a disk reservation and calling
bch2_set_page_dirty().

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