From: Jeff Layton <[email protected]>

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 <[email protected]>
---
 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

Reply via email to