[RFC PATCH 08/11] xfs: have sync_fs op report writeback errors when passed a since pointer

From: Jeff Layton
Date: Fri May 18 2018 - 07:40:07 EST


From: Jeff Layton <jlayton@xxxxxxxxxx>

Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
---
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