Signed-off-by: Miklos Szeredi <mszer...@redhat.com>
Reviewed-by: Omar Sandoval <osan...@fb.com>
Cc: Chris Mason <c...@fb.com>
---
 fs/btrfs/ctree.h    |  1 -
 fs/btrfs/file.c     |  2 +-
 fs/btrfs/inode.c    | 15 ---------------
 fs/btrfs/tree-log.c |  4 ++--
 4 files changed, 3 insertions(+), 19 deletions(-)

diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 33fe03551105..e62fd50237e4 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -3161,7 +3161,6 @@ int btrfs_prealloc_file_range_trans(struct inode *inode,
                                    struct btrfs_trans_handle *trans, int mode,
                                    u64 start, u64 num_bytes, u64 min_size,
                                    loff_t actual_len, u64 *alloc_hint);
-int btrfs_inode_check_errors(struct inode *inode);
 extern const struct dentry_operations btrfs_dentry_operations;
 #ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS
 void btrfs_test_inode_set_ops(struct inode *inode);
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index fea31a4a6e36..4843cb994835 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -2040,7 +2040,7 @@ int btrfs_sync_file(struct file *file, loff_t start, 
loff_t end, int datasync)
                 * flags for any errors that might have happened while doing
                 * writeback of file data.
                 */
-               ret = btrfs_inode_check_errors(inode);
+               ret = filemap_check_errors(inode->i_mapping);
                inode_unlock(inode);
                goto out;
        }
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index e6811c42e41e..0207622ec622 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -10543,21 +10543,6 @@ out_inode:
 
 }
 
-/* Inspired by filemap_check_errors() */
-int btrfs_inode_check_errors(struct inode *inode)
-{
-       int ret = 0;
-
-       if (test_bit(AS_ENOSPC, &inode->i_mapping->flags) &&
-           test_and_clear_bit(AS_ENOSPC, &inode->i_mapping->flags))
-               ret = -ENOSPC;
-       if (test_bit(AS_EIO, &inode->i_mapping->flags) &&
-           test_and_clear_bit(AS_EIO, &inode->i_mapping->flags))
-               ret = -EIO;
-
-       return ret;
-}
-
 static const struct inode_operations btrfs_dir_inode_operations = {
        .getattr        = btrfs_getattr,
        .lookup         = btrfs_lookup,
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index ef9c55bc7907..8a84ebd8e7cc 100644
--- a/fs/btrfs/tree-log.c
+++ b/fs/btrfs/tree-log.c
@@ -3961,7 +3961,7 @@ static int wait_ordered_extents(struct btrfs_trans_handle 
*trans,
                         * i_mapping flags, so that the next fsync won't get
                         * an outdated io error too.
                         */
-                       btrfs_inode_check_errors(inode);
+                       filemap_check_errors(inode->i_mapping);
                        *ordered_io_error = true;
                        break;
                }
@@ -4198,7 +4198,7 @@ static int btrfs_log_changed_extents(struct 
btrfs_trans_handle *trans,
         * without writing to the log tree and the fsync must report the
         * file data write error and not commit the current transaction.
         */
-       ret = btrfs_inode_check_errors(inode);
+       ret = filemap_check_errors(inode->i_mapping);
        if (ret)
                ctx->io_err = ret;
 process:
-- 
2.5.5

Reply via email to