Merge tag 'sh-for-4.8' of git://git.libc.org/linux-sh
[linux-2.6-block.git] / fs / fuse / file.c
index 594fb15fba9b1ba2826815094bd7a6b409d30c87..f394aff59c363a34c43eea0eec32293e21570986 100644 (file)
@@ -417,12 +417,7 @@ static int fuse_flush(struct file *file, fl_owner_t id)
        fuse_sync_writes(inode);
        inode_unlock(inode);
 
-       if (test_bit(AS_ENOSPC, &file->f_mapping->flags) &&
-           test_and_clear_bit(AS_ENOSPC, &file->f_mapping->flags))
-               err = -ENOSPC;
-       if (test_bit(AS_EIO, &file->f_mapping->flags) &&
-           test_and_clear_bit(AS_EIO, &file->f_mapping->flags))
-               err = -EIO;
+       err = filemap_check_errors(file->f_mapping);
        if (err)
                return err;
 
@@ -477,12 +472,7 @@ int fuse_fsync_common(struct file *file, loff_t start, loff_t end,
         * filemap_write_and_wait_range() does not catch errors.
         * We have to do this directly after fuse_sync_writes()
         */
-       if (test_bit(AS_ENOSPC, &file->f_mapping->flags) &&
-           test_and_clear_bit(AS_ENOSPC, &file->f_mapping->flags))
-               err = -ENOSPC;
-       if (test_bit(AS_EIO, &file->f_mapping->flags) &&
-           test_and_clear_bit(AS_EIO, &file->f_mapping->flags))
-               err = -EIO;
+       err = filemap_check_errors(file->f_mapping);
        if (err)
                goto out;
 
@@ -1475,7 +1465,7 @@ static void fuse_writepage_finish(struct fuse_conn *fc, struct fuse_req *req)
        list_del(&req->writepages_entry);
        for (i = 0; i < req->num_pages; i++) {
                dec_wb_stat(&bdi->wb, WB_WRITEBACK);
-               dec_zone_page_state(req->pages[i], NR_WRITEBACK_TEMP);
+               dec_node_page_state(req->pages[i], NR_WRITEBACK_TEMP);
                wb_writeout_inc(&bdi->wb);
        }
        wake_up(&fi->page_waitq);
@@ -1665,7 +1655,7 @@ static int fuse_writepage_locked(struct page *page)
        req->inode = inode;
 
        inc_wb_stat(&inode_to_bdi(inode)->wb, WB_WRITEBACK);
-       inc_zone_page_state(tmp_page, NR_WRITEBACK_TEMP);
+       inc_node_page_state(tmp_page, NR_WRITEBACK_TEMP);
 
        spin_lock(&fc->lock);
        list_add(&req->writepages_entry, &fi->writepages);
@@ -1779,7 +1769,7 @@ static bool fuse_writepage_in_flight(struct fuse_req *new_req,
                spin_unlock(&fc->lock);
 
                dec_wb_stat(&bdi->wb, WB_WRITEBACK);
-               dec_zone_page_state(page, NR_WRITEBACK_TEMP);
+               dec_node_page_state(page, NR_WRITEBACK_TEMP);
                wb_writeout_inc(&bdi->wb);
                fuse_writepage_free(fc, new_req);
                fuse_request_free(new_req);
@@ -1878,7 +1868,7 @@ static int fuse_writepages_fill(struct page *page,
        req->page_descs[req->num_pages].length = PAGE_SIZE;
 
        inc_wb_stat(&inode_to_bdi(inode)->wb, WB_WRITEBACK);
-       inc_zone_page_state(tmp_page, NR_WRITEBACK_TEMP);
+       inc_node_page_state(tmp_page, NR_WRITEBACK_TEMP);
 
        err = 0;
        if (is_writeback && fuse_writepage_in_flight(req, page)) {