From: Xavi Hernandez Date: Tue, 16 Sep 2025 08:26:04 +0000 (+0200) Subject: libcephfs_proxy: add asynchronous handler for nonblocking fsync X-Git-Tag: v21.0.0~331^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5fe0c3c95de5e39387c7b48adea006001f51caec;p=ceph.git libcephfs_proxy: add asynchronous handler for nonblocking fsync Signed-off-by: Xavi Hernandez --- diff --git a/src/libcephfs_proxy/proxy_async.c b/src/libcephfs_proxy/proxy_async.c index 9e4f2e3aec88..2732218a8f98 100644 --- a/src/libcephfs_proxy/proxy_async.c +++ b/src/libcephfs_proxy/proxy_async.c @@ -52,8 +52,29 @@ static int32_t libcephfsd_cbk_nonblocking_rw(proxy_async_t *async, return 0; } +static int32_t libcephfsd_cbk_nonblocking_fsync(proxy_async_t *async, + proxy_cbk_t *cbk, void *data, + uint32_t size) +{ + struct ceph_ll_io_info *info; + int32_t err; + + err = ptr_check(&async->random, cbk->ll_nonblocking_fsync.info, + (void **)&info); + if (err < 0) { + return err; + } + + info->result = cbk->ll_nonblocking_fsync.res; + + info->callback(info); + + return 0; +} + static proxy_cbk_handler_t libcephfsd_cbk_handlers[LIBCEPHFSD_CBK_TOTAL_OPS] = { [LIBCEPHFSD_CBK_LL_NONBLOCKING_RW] = libcephfsd_cbk_nonblocking_rw, + [LIBCEPHFSD_CBK_LL_NONBLOCKING_FSYNC] = libcephfsd_cbk_nonblocking_fsync, }; static void *