From: Xavi Hernandez Date: Tue, 25 Mar 2025 09:19:12 +0000 (+0100) Subject: libcephfs_proxy: workaround for delays and hangs in the proxy X-Git-Tag: v20.3.0~210^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F62483%2Fhead;p=ceph.git libcephfs_proxy: workaround for delays and hangs in the proxy When ceph_ll_lookup() is done on ".", it returns a new reference to the parent inode itself. However this may cause some delays or problems on disconnect (see https://tracker.ceph.com/issues/70553). However, if "." is replaced by "", we still get a new reference to the parent inode (which is what we really need), without causing any side effect. This patch uses this alternative in the libcephfs proxy to avoid the problem. Signed-off-by: Xavi Hernandez --- diff --git a/src/libcephfs_proxy/proxy_mount.c b/src/libcephfs_proxy/proxy_mount.c index abfef1232c2..1943736e7f1 100644 --- a/src/libcephfs_proxy/proxy_mount.c +++ b/src/libcephfs_proxy/proxy_mount.c @@ -470,7 +470,7 @@ int32_t proxy_path_resolve(proxy_mount_t *mount, const char *path, } if (err >= 0) { - err = proxy_path_lookup(proxy_cmount(mount), iter.base, ".", + err = proxy_path_lookup(proxy_cmount(mount), iter.base, "", inode, stx, want, flags, iter.perms); }