io: Stop using qemu_open_old in channel-file
authorFabiano Rosas <farosas@suse.de>
Mon, 17 Jun 2024 18:57:25 +0000 (15:57 -0300)
committerFabiano Rosas <farosas@suse.de>
Fri, 21 Jun 2024 12:47:22 +0000 (09:47 -0300)
We want to make use of the Error object to report fdset errors from
qemu_open_internal() and passing the error pointer to qemu_open_old()
would require changing all callers. Move the file channel to the new
API instead.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
io/channel-file.c

index 6436cfb6ae48f9a1a4e02dfe394204355f04dfdd..2ea8d083600c7f51ae85ba343fbbd6136a0b0bb6 100644 (file)
@@ -68,11 +68,13 @@ qio_channel_file_new_path(const char *path,
 
     ioc = QIO_CHANNEL_FILE(object_new(TYPE_QIO_CHANNEL_FILE));
 
-    ioc->fd = qemu_open_old(path, flags, mode);
+    if (flags & O_CREAT) {
+        ioc->fd = qemu_create(path, flags & ~O_CREAT, mode, errp);
+    } else {
+        ioc->fd = qemu_open(path, flags, errp);
+    }
     if (ioc->fd < 0) {
         object_unref(OBJECT(ioc));
-        error_setg_errno(errp, errno,
-                         "Unable to open %s", path);
         return NULL;
     }