From: David Howells <dhowells@redhat.com>
To: Christian Brauner <christian@brauner.io>
Cc: David Howells <dhowells@redhat.com>,
Paulo Alcantara <pc@manguebit.org>,
netfs@lists.linux.dev, linux-afs@lists.infradead.org,
linux-cifs@vger.kernel.org, ceph-devel@vger.kernel.org,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
Matthew Wilcox <willy@infradead.org>
Subject: [PATCH v2 12/14] netfs: Fix writeback error handling
Date: Wed, 24 Jun 2026 12:57:33 +0100 [thread overview]
Message-ID: <20260624115737.2964520-13-dhowells@redhat.com> (raw)
In-Reply-To: <20260624115737.2964520-1-dhowells@redhat.com>
Fix the error handling in writeback_iter() loop. If an error occurs,
writeback_iter() needs to be called again with *error set to the error so
that it can clean up iteration state. Further, the current folio needs
unlocking and redirtying.
Fixes: 288ace2f57c9 ("netfs: New writeback implementation")
Link: https://sashiko.dev/#/patchset/20260619140646.2633762-1-dhowells%40redhat.com
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Paulo Alcantara <pc@manguebit.org>
cc: Matthew Wilcox <willy@infradead.org>
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
---
fs/netfs/write_issue.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/fs/netfs/write_issue.c b/fs/netfs/write_issue.c
index e5d4f9ba3d6b..d1f98cca5d0f 100644
--- a/fs/netfs/write_issue.c
+++ b/fs/netfs/write_issue.c
@@ -582,8 +582,6 @@ int netfs_writepages(struct address_space *mapping,
}
error = netfs_write_folio(wreq, wbc, folio);
- if (error < 0)
- break;
} while ((folio = writeback_iter(mapping, wbc, folio, &error)));
netfs_end_issue_write(wreq);
@@ -594,6 +592,9 @@ int netfs_writepages(struct address_space *mapping,
return error;
couldnt_start:
+ folio_redirty_for_writepage(wbc, folio);
+ folio_unlock(folio);
+ writeback_iter(mapping, wbc, folio, &error);
netfs_kill_dirty_pages(mapping, wbc, folio);
out:
netfs_wb_end(ictx);
next prev parent reply other threads:[~2026-06-24 11:58 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-24 11:57 [PATCH v2 00/14] netfs: Miscellaneous fixes David Howells
2026-06-24 11:57 ` [PATCH v2 01/14] netfs: Fix decision whether to disallow write-streaming due to fscache use David Howells
2026-06-24 11:57 ` [PATCH v2 02/14] cachefiles: Fix double fput David Howells
2026-06-24 11:57 ` [PATCH v2 03/14] cachefiles: Fix file burial to take lock when unsetting S_KERNEL_FILE David Howells
2026-06-24 11:57 ` [PATCH v2 04/14] iov_iter: Fix potential underflow in iov_iter_extract_xarray_pages() David Howells
2026-06-24 13:41 ` Christoph Hellwig
2026-06-24 11:57 ` [PATCH v2 05/14] iov_iter: Fix missing alloc fail check in iov_iter_extract_bvec_pages() David Howells
2026-06-24 11:57 ` [PATCH v2 06/14] iov_iter: Fix a memory leak in iov_iter_extract_user_pages() David Howells
2026-06-24 11:57 ` [PATCH v2 07/14] iov_iter: Remove unused variable in kunit_iov_iter.c David Howells
2026-06-24 11:57 ` [PATCH v2 08/14] scatterlist: Fix offset in folio calc in extract_xarray_to_sg() David Howells
2026-06-24 11:57 ` [PATCH v2 09/14] netfs: Fix kdoc warning David Howells
2026-06-24 11:57 ` [PATCH v2 10/14] netfs: Replace wb_lock with a bit lock for asynchronicity David Howells
2026-06-24 11:57 ` [PATCH v2 11/14] netfs: Fix writethrough to use collection offload David Howells
2026-06-24 11:57 ` David Howells [this message]
2026-06-24 11:57 ` [PATCH v2 13/14] netfs: Fix folio state after ENOMEM whilst under writeback iteration David Howells
2026-06-24 11:57 ` [PATCH v2 14/14] netfs: Fix DIO write retry for filesystems without a ->prepare_write() David Howells
2026-06-24 14:21 ` ChenXiaoSong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260624115737.2964520-13-dhowells@redhat.com \
--to=dhowells@redhat.com \
--cc=ceph-devel@vger.kernel.org \
--cc=christian@brauner.io \
--cc=linux-afs@lists.infradead.org \
--cc=linux-cifs@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netfs@lists.linux.dev \
--cc=pc@manguebit.org \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.