提交 65aa5f6f 编写于 作者: J Jia Zhu 提交者: David Howells

cachefiles: narrow the scope of flushed requests when releasing fd

When an anonymous fd is released, only flush the requests
associated with it, rather than all of requests in xarray.

Fixes: 9032b6e8 ("cachefiles: implement on-demand read")
Signed-off-by: NJia Zhu <zhujia.zj@bytedance.com>
Signed-off-by: NDavid Howells <dhowells@redhat.com>
Reviewed-by: NJeffle Xu <jefflexu@linux.alibaba.com>
Reviewed-by: NGao Xiang <hsiangkao@linux.alibaba.com>
Link: https://listman.redhat.com/archives/linux-cachefs/2022-June/006937.html
上级 5c4588ae
......@@ -21,7 +21,8 @@ static int cachefiles_ondemand_fd_release(struct inode *inode,
* anon_fd.
*/
xas_for_each(&xas, req, ULONG_MAX) {
if (req->msg.opcode == CACHEFILES_OP_READ) {
if (req->msg.object_id == object_id &&
req->msg.opcode == CACHEFILES_OP_READ) {
req->error = -EIO;
complete(&req->done);
xas_store(&xas, NULL);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册