path: root/fs/inode.c
diff options
authorLinus Torvalds <torvalds@linux-foundation.org>2018-05-31 16:23:07 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2018-05-31 16:23:07 -0500
commit0512e0134582ef85dee77d51aae77dcd1edec495 (patch)
tree05f349b655c40e0d17c59be8dd7b5a10470feddc /fs/inode.c
parentdd52cb879063ca5470d5a093c32180ba74fa528e (diff)
parent829bc787c1a0403e4d886296dd4d90c5f9c1744a (diff)
Merge tag 'xfs-4.17-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
Pull xfs fix from Darrick Wong: "Clear out i_mapping error state when we're reinitializing inodes. This last minute fix prevents writeback error state from persisting past the end of the in-core inode lifecycle and causing EIO errors to be reported to userspace when no error has occurred. This fix for the behavioral regression has been soaking in for-next for a while, but various fs developers persuaded me to try to get it upstream for 4.17 because the patch that broke things was introduced in 4.17-rc4" * tag 'xfs-4.17-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: fs: clear writeback errors in inode_init_always
Diffstat (limited to 'fs/inode.c')
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/inode.c b/fs/inode.c
index 13ceb98c3bd3..3b55391072f3 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -178,6 +178,7 @@ int inode_init_always(struct super_block *sb, struct inode *inode)
mapping->a_ops = &empty_aops;
mapping->host = inode;
mapping->flags = 0;
+ mapping->wb_err = 0;
atomic_set(&mapping->i_mmap_writable, 0);
mapping_set_gfp_mask(mapping, GFP_HIGHUSER_MOVABLE);
mapping->private_data = NULL;