]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: domain: Use g_file_read_link instead of virFileReadLink
authorPeter Krempa <pkrempa@redhat.com>
Wed, 13 Nov 2019 11:45:54 +0000 (12:45 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 14 Nov 2019 11:42:09 +0000 (12:42 +0100)
In an effort to remove as much gnulib usage as possible let's
reimplement virFileReadLink. Since it's used in two places only I opted
to open-code it.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_domain.c

index 54dde34f15b20e5965d0309afdbba9d50105fe46..7123f45cd72b3b42a1f66df8ab3689360f4d1f30 100644 (file)
@@ -13167,12 +13167,13 @@ qemuDomainCreateDeviceRecursive(const char *device,
     }
 
     if (isLink) {
+        g_autoptr(GError) gerr = NULL;
+
         /* We are dealing with a symlink. Create a dangling symlink and descend
          * down one level which hopefully creates the symlink's target. */
-        if (virFileReadLink(device, &target) < 0) {
-            virReportSystemError(errno,
-                                 _("unable to resolve symlink %s"),
-                                 device);
+        if (!(target = g_file_read_link(device, &gerr))) {
+            virReportError(VIR_ERR_SYSTEM_ERROR,
+                           _("failed to resolve symlink %s: %s"), device, gerr->message);
             goto cleanup;
         }
 
@@ -14161,10 +14162,11 @@ qemuDomainAttachDeviceMknodRecursive(virQEMUDriverPtr driver,
 
         data.target = target;
     } else if (isLink) {
-        if (virFileReadLink(file, &target) < 0) {
-            virReportSystemError(errno,
-                                 _("unable to resolve symlink %s"),
-                                 file);
+        g_autoptr(GError) gerr = NULL;
+
+        if (!(target = g_file_read_link(file, &gerr))) {
+            virReportError(VIR_ERR_SYSTEM_ERROR,
+                           _("failed to resolve symlink %s: %s"), file, gerr->message);
             return ret;
         }