From 8f9361e6c43f4f32af5c54ff56095870fd084559 Mon Sep 17 00:00:00 2001 From: Xavi Hernandez Date: Tue, 25 Mar 2025 10:19:12 +0100 Subject: [PATCH] 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 --- src/libcephfs_proxy/proxy_mount.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); } -- 2.47.3