diff --git a/fs/ext4/fsync.c b/fs/ext4/fsync.c index 87a7ff00ef622b3c455be28517d89c9aec1895fd..712f00995390ee021249bb6f8478db30f0f8f3bb 100644 --- a/fs/ext4/fsync.c +++ b/fs/ext4/fsync.c @@ -164,6 +164,9 @@ int ext4_sync_file(struct file *file, loff_t start, loff_t end, int datasync) ret = err; } out: + err = file_check_and_advance_wb_err(file); + if (ret == 0) + ret = err; trace_ext4_sync_file_exit(inode, ret); return ret; }