+15
−21
Loading
mainline inclusion from mainline-v5.19-rc1 commit e6005436 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/IACBGS Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e6005436f6cc9ed13288f936903f0151e5543485 -------------------------------- Any errors reported by the write() system call need to be cleared from the file descriptor's error tracking. The current call to nfs_wb_all() causes the error to be reported, but since it doesn't call file_check_and_advance_wb_err(), we can end up reporting the same error a second time when the application calls fsync(). Note that since Linux 4.13, the rule is that EIO may be reported for write(), but it must be reported by a subsequent fsync(), so let's just drop reporting it in write. The check for nfs_ctx_key_to_expire() is just a duplicate to the one already in nfs_write_end(), so let's drop that too. Reported-by:ChenXiaoSong <chenxiaosong2@huawei.com> Fixes: ce368536 ("nfs: nfs_file_write() should check for writeback errors") Signed-off-by:
Trond Myklebust <trond.myklebust@hammerspace.com> Signed-off-by:
Anna Schumaker <Anna.Schumaker@Netapp.com> Conflicts: fs/nfs/file.c [nfs_file_write() optimized and eager writes feature added] Signed-off-by:
Wang Zhaolong <wangzhaolong1@huawei.com>