From: Jeff Layton <[email protected]>

Signed-off-by: Jeff Layton <[email protected]>
---
 fs/xfs/xfs_super.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
index 9255de2767b4..7dc847f48f9f 100644
--- a/fs/xfs/xfs_super.c
+++ b/fs/xfs/xfs_super.c
@@ -1092,6 +1092,7 @@ xfs_fs_sync_fs(
        int                     wait,
        errseq_t                *since)
 {
+       int                     ret;
        struct xfs_mount        *mp = XFS_M(sb);
 
        /*
@@ -1110,7 +1111,13 @@ xfs_fs_sync_fs(
                flush_delayed_work(&mp->m_log->l_work);
        }
 out:
-       return __sync_blockdev(sb->s_bdev, wait);
+       ret = __sync_blockdev(sb->s_bdev, wait);
+       if (since) {
+               int ret2 = errseq_check_and_advance(&sb->s_wb_err, since);
+               if (ret == 0)
+                       ret = ret2;
+       }
+       return ret;
 }
 
 STATIC int
-- 
2.17.0

Reply via email to