Signed-off-by: Jeff Layton <jlay...@redhat.com>
Reviewed-by: Christoph Hellwig <h...@lst.de>
---
 fs/cifs/file.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/fs/cifs/file.c b/fs/cifs/file.c
index 21d404535739..0bee7f8d91ad 100644
--- a/fs/cifs/file.c
+++ b/fs/cifs/file.c
@@ -2234,14 +2234,16 @@ cifs_writepage_locked(struct page *page, struct 
writeback_control *wbc)
        set_page_writeback(page);
 retry_write:
        rc = cifs_partialpagewrite(page, 0, PAGE_SIZE);
-       if (rc == -EAGAIN && wbc->sync_mode == WB_SYNC_ALL)
-               goto retry_write;
-       else if (rc == -EAGAIN)
+       if (rc == -EAGAIN) {
+               if (wbc->sync_mode == WB_SYNC_ALL)
+                       goto retry_write;
                redirty_page_for_writepage(wbc, page);
-       else if (rc != 0)
+       } else if (rc != 0) {
                SetPageError(page);
-       else
+               mapping_set_error(page->mapping, rc);
+       } else {
                SetPageUptodate(page);
+       }
        end_page_writeback(page);
        put_page(page);
        free_xid(xid);
-- 
2.9.3


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to