[PATCH V2 3/5] cachefiles: resend an open request if the read request's object is closed
JeffleXu
jefflexu at linux.alibaba.com
Fri Oct 14 17:31:29 AEDT 2022
On 10/14/22 11:07 AM, Jia Zhu wrote:
> +/*
> + * Reopen the closed object with associated read request.
I think "Reopen the closed object if there's any inflight or subsequent
READ request on this object" would be better?
> + * Skip read requests whose related object are reopening.
^
is ?
> @@ -277,14 +308,18 @@ ssize_t cachefiles_ondemand_daemon_read(struct cachefiles_cache *cache,
> xa_unlock(&cache->reqs);
>
> id = xas.xa_index;
> - msg->msg_id = id;
>
> if (msg->opcode == CACHEFILES_OP_OPEN) {
> ret = cachefiles_ondemand_get_fd(req);
> - if (ret)
> + if (ret) {
> + cachefiles_ondemand_set_object_close(req->object);
> goto error;
> + }
> }
>
> + msg->msg_id = id;
> + msg->object_id = req->object->private->ondemand_id;
Since currently msg->object_id is always assigned in
cachefiles_ondemand_daemon_read(), we can remove the assignment in
cachefiles_ondemand_get_fd().
Otherwise LGTM.
Reviewed-by: Jingbo Xu <jefflexu at linux.alibaba.com>
--
Thanks,
Jingbo
More information about the Linux-erofs
mailing list