[PATCH v1 1/4] qemu: fd: introduce qemuFDTuple for FD storage

Tejus GK posted 4 patches 2 weeks, 4 days ago
[PATCH v1 1/4] qemu: fd: introduce qemuFDTuple for FD storage
Posted by Tejus GK 2 weeks, 4 days ago
Introduce a simple struct to store an array of file descriptors. This is
loosely based on how virStorageSourceFDTuple is implemented. This
will be used later on to store FDs for FD based live migrations of qemu
domains.

Signed-off-by: Tejus GK <tejus.gk@nutanix.com>
---
 src/qemu/qemu_fd.c | 23 +++++++++++++++++++++++
 src/qemu/qemu_fd.h | 14 ++++++++++++++
 2 files changed, 37 insertions(+)

diff --git a/src/qemu/qemu_fd.c b/src/qemu/qemu_fd.c
index ef0a8d8127..2bfaac500c 100644
--- a/src/qemu/qemu_fd.c
+++ b/src/qemu/qemu_fd.c
@@ -509,3 +509,26 @@ qemuFDPassDirectGetPath(qemuFDPassDirect *fdpass)
 
     return fdpass->name;
 }
+
+
+void
+qemuFDTupleFree(qemuFDTuple *tuple)
+{
+    size_t i;
+
+    if (!tuple)
+        return;
+
+    for (i = 0; i < tuple->nfds; i++)
+        VIR_FORCE_CLOSE(tuple->fds[i]);
+
+    g_free(tuple->fds);
+    g_free(tuple);
+}
+
+
+qemuFDTuple *
+qemuFDTupleNew(void)
+{
+    return g_new0(qemuFDTuple, 1);
+}
diff --git a/src/qemu/qemu_fd.h b/src/qemu/qemu_fd.h
index d873e110a8..396ff946cb 100644
--- a/src/qemu/qemu_fd.h
+++ b/src/qemu/qemu_fd.h
@@ -83,3 +83,17 @@ qemuFDPassDirectTransferMonitorRollback(qemuFDPassDirect *fdpass,
                                         qemuMonitor *mon);
 const char *
 qemuFDPassDirectGetPath(qemuFDPassDirect *fdpass);
+
+
+typedef struct _qemuFDTuple qemuFDTuple;
+struct _qemuFDTuple {
+    int *fds;
+    size_t nfds;
+};
+
+void
+qemuFDTupleFree(qemuFDTuple *tuple);
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(qemuFDTuple, qemuFDTupleFree);
+
+qemuFDTuple *
+qemuFDTupleNew(void);
-- 
2.43.7