]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
orangefs: Unify error & success paths in orangefs_writepages_work()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Wed, 5 Mar 2025 20:47:31 +0000 (20:47 +0000)
committerChristian Brauner <brauner@kernel.org>
Thu, 6 Mar 2025 08:26:06 +0000 (09:26 +0100)
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>
fs/orangefs/inode.c

index 879d96c11b1ccb162245f5e86b9d566ac67e2161..927c2829976c878a6df0cd9571d1322e900f045b 100644 (file)
@@ -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;
 }