xfs: Properly retry failed dquot items in case of error during buffer writeback
authorCarlos Maiolino <cmaiolino@redhat.com>
Tue, 28 Nov 2017 16:54:10 +0000 (08:54 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 3 Feb 2018 16:39:15 +0000 (17:39 +0100)
commit773a1c5baad243ad30b41700111f0c499f6a259d
tree8eeabd637db1b880d9c447befc2b9b6cf76ee78e
parent4e506f41705cf9b2ea64e9d698bc272dd9c25b2d
xfs: Properly retry failed dquot items in case of error during buffer writeback

[ Upstream commit 373b0589dc8d58bc09c9a28d03611ae4fb216057 ]

Once the inode item writeback errors is already fixed, it's time to fix the same
problem in dquot code.

Although there were no reports of users hitting this bug in dquot code (at least
none I've seen), the bug is there and I was already planning to fix it when the
correct approach to fix the inodes part was decided.

This patch aims to fix the same problem in dquot code, regarding failed buffers
being unable to be resubmitted once they are flush locked.

Tested with the recently test-case sent to fstests list by Hou Tao.

Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/xfs/xfs_dquot.c
fs/xfs/xfs_dquot_item.c