Commit a2b6f2ab authored by Vishal Moola (Oracle)'s avatar Vishal Moola (Oracle) Committed by David Howells

afs: Fix dangling folio ref counts in writeback

Commit acc8d858 converted afs_writepages_region() to write back a
folio batch. If writeback needs rescheduling, the function exits without
dropping the references to the folios in fbatch. This patch fixes that.

[DH: Moved the added line before the _leave()]

Fixes: acc8d858 ("afs: convert afs_writepages_region() to use filemap_get_folios_tag()")
Signed-off-by: default avatarVishal Moola (Oracle) <vishal.moola@gmail.com>
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
Link: https://lore.kernel.org/r/20230607204120.89416-1-vishal.moola@gmail.com/
parent 45a3e24f
...@@ -763,6 +763,7 @@ static int afs_writepages_region(struct address_space *mapping, ...@@ -763,6 +763,7 @@ static int afs_writepages_region(struct address_space *mapping,
if (wbc->sync_mode == WB_SYNC_NONE) { if (wbc->sync_mode == WB_SYNC_NONE) {
if (skips >= 5 || need_resched()) { if (skips >= 5 || need_resched()) {
*_next = start; *_next = start;
folio_batch_release(&fbatch);
_leave(" = 0 [%llx]", *_next); _leave(" = 0 [%llx]", *_next);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment