cachefiles: add restore command to recover inflight ondemand read requests
authorJia Zhu <zhujia.zj@bytedance.com>
Mon, 20 Nov 2023 04:14:22 +0000 (12:14 +0800)
committerChristian Brauner <brauner@kernel.org>
Sat, 25 Nov 2023 15:03:57 +0000 (16:03 +0100)
commite73fa11a356ca0905c3cc648eaacc6f0f2d2c8b3
tree43eee30a526dcd025ab72ce1aa8f3dfb09a5d87f
parentb817e22b2e91257ace32a6768c3c003faeaa1c5c
cachefiles: add restore command to recover inflight ondemand read requests

Previously, in ondemand read scenario, if the anonymous fd was closed by
user daemon, inflight and subsequent read requests would return EIO.
As long as the device connection is not released, user daemon can hold
and restore inflight requests by setting the request flag to
CACHEFILES_REQ_NEW.

Suggested-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Signed-off-by: Jia Zhu <zhujia.zj@bytedance.com>
Signed-off-by: Xin Yin <yinxin.x@bytedance.com>
Link: https://lore.kernel.org/r/20231120041422.75170-6-zhujia.zj@bytedance.com
Reviewed-by: Jingbo Xu <jefflexu@linux.alibaba.com>
Reviewed-by: David Howells <dhowells@redhat.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/cachefiles/daemon.c
fs/cachefiles/internal.h
fs/cachefiles/ondemand.c