summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Wilcox (Oracle) <willy@infradead.org>2025-03-05 20:47:31 +0000
committerChristian Brauner <brauner@kernel.org>2025-03-06 09:26:06 +0100
commitf9ec21357f52254f300ab01199da76464103e821 (patch)
treee1e19082a70bcb338b9ca56613c4bb89af98f74e
parent6420f17963f2a898407c19ee16a8e71b958125d5 (diff)
orangefs: Unify error & success paths in orangefs_writepages_work()
Both arms of this conditional now have the same loop, so sink it out of the conditional. Signed-off-by: "Matthew Wilcox (Oracle)" <willy@infradead.org> Link: https://lore.kernel.org/r/20250305204734.1475264-8-willy@infradead.org Tested-by: Mike Marshall <hubcap@omnibond.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r--fs/orangefs/inode.c36
1 files changed, 13 insertions, 23 deletions
diff --git a/fs/orangefs/inode.c b/fs/orangefs/inode.c
index 879d96c11b1c..927c2829976c 100644
--- a/fs/orangefs/inode.c
+++ b/fs/orangefs/inode.c
@@ -107,33 +107,23 @@ static int orangefs_writepages_work(struct orangefs_writepages *ow,
wr.gid = ow->gid;
ret = wait_for_direct_io(ORANGEFS_IO_WRITE, inode, &off, &iter, ow->len,
0, &wr, NULL, NULL);
- if (ret < 0) {
+ if (ret < 0)
mapping_set_error(ow->mapping, ret);
- for (i = 0; i < ow->npages; i++) {
- if (PagePrivate(ow->pages[i])) {
- wrp = (struct orangefs_write_range *)
- page_private(ow->pages[i]);
- ClearPagePrivate(ow->pages[i]);
- put_page(ow->pages[i]);
- kfree(wrp);
- }
- end_page_writeback(ow->pages[i]);
- unlock_page(ow->pages[i]);
- }
- } else {
+ else
ret = 0;
- for (i = 0; i < ow->npages; i++) {
- if (PagePrivate(ow->pages[i])) {
- wrp = (struct orangefs_write_range *)
- page_private(ow->pages[i]);
- ClearPagePrivate(ow->pages[i]);
- put_page(ow->pages[i]);
- kfree(wrp);
- }
- end_page_writeback(ow->pages[i]);
- unlock_page(ow->pages[i]);
+
+ for (i = 0; i < ow->npages; i++) {
+ if (PagePrivate(ow->pages[i])) {
+ wrp = (struct orangefs_write_range *)
+ page_private(ow->pages[i]);
+ ClearPagePrivate(ow->pages[i]);
+ put_page(ow->pages[i]);
+ kfree(wrp);
}
+ end_page_writeback(ow->pages[i]);
+ unlock_page(ow->pages[i]);
}
+
return ret;
}