]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
libcephfs_proxy: add asynchronous handler for nonblocking fsync
authorXavi Hernandez <xhernandez@gmail.com>
Tue, 16 Sep 2025 08:26:04 +0000 (10:26 +0200)
committerXavi Hernandez <xhernandez@gmail.com>
Tue, 20 Jan 2026 09:45:49 +0000 (10:45 +0100)
Signed-off-by: Xavi Hernandez <xhernandez@gmail.com>
src/libcephfs_proxy/proxy_async.c

index 9e4f2e3aec8859da74207e4239f2132f86cd0867..2732218a8f980d3cc89bd883f1996e4d7d54dd3d 100644 (file)
@@ -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 *