]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
orangefs: Remove calls to set/clear the error flag
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Thu, 30 May 2024 20:21:02 +0000 (21:21 +0100)
committerChristian Brauner <brauner@kernel.org>
Fri, 31 May 2024 10:31:41 +0000 (12:31 +0200)
Nobody checks the error flag on orangefs folios, so stop setting and
clearing it.  We can also use folio_end_read() to simplify
orangefs_read_folio().

Cc: Martin Brandenburg <martin@omnibond.com>
Cc: devel@lists.orangefs.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Link: https://lore.kernel.org/r/20240530202110.2653630-11-willy@infradead.org
Tested-by: Mike Marshall <hubcap@omnibond.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/orangefs/inode.c
fs/orangefs/orangefs-bufmap.c

index 0859122684425f9a8e5f8d81c7352f6619fd6f38..fdb9b65db1de9ffd1e3e9beef4169e6cd2167d9b 100644 (file)
@@ -56,7 +56,6 @@ static int orangefs_writepage_locked(struct page *page,
        ret = wait_for_direct_io(ORANGEFS_IO_WRITE, inode, &off, &iter, wlen,
            len, wr, NULL, NULL);
        if (ret < 0) {
-               SetPageError(page);
                mapping_set_error(page->mapping, ret);
        } else {
                ret = 0;
@@ -119,7 +118,6 @@ static int orangefs_writepages_work(struct orangefs_writepages *ow,
            0, &wr, NULL, NULL);
        if (ret < 0) {
                for (i = 0; i < ow->npages; i++) {
-                       SetPageError(ow->pages[i]);
                        mapping_set_error(ow->pages[i]->mapping, ret);
                        if (PagePrivate(ow->pages[i])) {
                                wrp = (struct orangefs_write_range *)
@@ -303,15 +301,10 @@ static int orangefs_read_folio(struct file *file, struct folio *folio)
        iov_iter_zero(~0U, &iter);
        /* takes care of potential aliasing */
        flush_dcache_folio(folio);
-       if (ret < 0) {
-               folio_set_error(folio);
-       } else {
-               folio_mark_uptodate(folio);
+       if (ret > 0)
                ret = 0;
-       }
-       /* unlock the folio after the ->read_folio() routine completes */
-       folio_unlock(folio);
-        return ret;
+       folio_end_read(folio, ret == 0);
+       return ret;
 }
 
 static int orangefs_write_begin(struct file *file,
index b501dc07f92224474f2cf1a27194e492429a019f..edcca4beb765af755c6c755401df0367b871587a 100644 (file)
@@ -274,10 +274,8 @@ orangefs_bufmap_map(struct orangefs_bufmap *bufmap,
                gossip_err("orangefs error: asked for %d pages, only got %d.\n",
                                bufmap->page_count, ret);
 
-               for (i = 0; i < ret; i++) {
-                       SetPageError(bufmap->page_array[i]);
+               for (i = 0; i < ret; i++)
                        unpin_user_page(bufmap->page_array[i]);
-               }
                return -ENOMEM;
        }