mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 14:12:06 +00:00
cifs: return the more nuanced writeback error on close()
As filemap_check_errors() only report -EIO or -ENOSPC, we return more nuanced writeback error -(file->f_mapping->wb_err & MAX_ERRNO). filemap_write_and_wait filemap_write_and_wait_range filemap_check_errors -ENOSPC or -EIO filemap_check_wb_err errseq_check return -(file->f_mapping->wb_err & MAX_ERRNO) Signed-off-by: ChenXiaoSong <chenxiaosong2@huawei.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
fb253d5ba3
commit
2b058acecf
@ -2777,8 +2777,11 @@ int cifs_flush(struct file *file, fl_owner_t id)
|
||||
rc = filemap_write_and_wait(inode->i_mapping);
|
||||
|
||||
cifs_dbg(FYI, "Flush inode %p file %p rc %d\n", inode, file, rc);
|
||||
if (rc)
|
||||
if (rc) {
|
||||
/* get more nuanced writeback errors */
|
||||
rc = filemap_check_wb_err(file->f_mapping, 0);
|
||||
trace_cifs_flush_err(inode->i_ino, rc);
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user