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: 9032b6e858
("cachefiles: implement on-demand read")
Signed-off-by: Jia Zhu <zhujia.zj@bytedance.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: Jeffle Xu <jefflexu@linux.alibaba.com>
Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://listman.redhat.com/archives/linux-cachefs/2022-June/006937.html
This commit is contained in:
parent
5c4588aea6
commit
65aa5f6fd8
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue