[PATCH] cachefiles: narrow the scope of flushed requests when releasing fd

JeffleXu jefflexu at linux.alibaba.com
Thu Jun 9 21:13:05 AEST 2022


Hi, Jia Zhu,

Thanks for fixing this.


On 6/9/22 4:54 PM, Jia Zhu wrote:
> 
> When an anonymous fd is released, only flush the requests
> associated with it, rather than all of requests in xarray.
> 
> Fixes: 9032b6e8589f ("cachefiles: implement on-demand read")
> Signed-off-by: Jia Zhu <zhujia.zj at bytedance.com>
> ---
>  fs/cachefiles/ondemand.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/cachefiles/ondemand.c b/fs/cachefiles/ondemand.c
> index a41ae6efc545..1fee702d5529 100644
> --- a/fs/cachefiles/ondemand.c
> +++ b/fs/cachefiles/ondemand.c
> @@ -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);

LGTM.

Reviewed-by: Jeffle Xu <jefflexu at linux.alibaba.com>

-- 
Thanks,
Jeffle


More information about the Linux-erofs mailing list