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

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


From: Jeff Layton <jlayton@xxxxxxxxxx>

When ext4_sync_fs gets a non-NULL since pointer, use it to report
errors vs. the errseq_t in the super_block. This allows us to
properly report an error to sync_fs when any inode has failed writeback
since we last checked for it.

Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
---
fs/ext4/super.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 896ddf8c3421..a5f41d31611f 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -4898,6 +4898,8 @@ static int ext4_sync_fs(struct super_block *sb, int wait, errseq_t *since)
}
out:
ret2 = __sync_blockdev(sb->s_bdev, wait);
+ if (since)
+ ret2 = errseq_check_and_advance(&sb->s_wb_err, since);
return ret ? ret : ret2;
}

--
2.17.0