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