fuse: use filemap_check_errors()
authorMiklos Szeredi <mszeredi@redhat.com>
Fri, 29 Jul 2016 12:10:57 +0000 (14:10 +0200)
committerMiklos Szeredi <mszeredi@redhat.com>
Fri, 29 Jul 2016 12:10:57 +0000 (14:10 +0200)
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/fuse/file.c

index 594fb15fba9b1ba2826815094bd7a6b409d30c87..c6b6819d2f5364f3414e8de6148afd2cd140d629 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;