]> sourceware.org Git - lvm2.git/commitdiff
dmstats: use canonical path when reporting errors
authorBryn M. Reeves <bmr@redhat.com>
Fri, 8 Jul 2016 16:06:35 +0000 (17:06 +0100)
committerBryn M. Reeves <bmr@redhat.com>
Fri, 8 Jul 2016 16:27:52 +0000 (17:27 +0100)
When a 'dmstats create --filemap' operation fails (e.g. during
open(2), close(2), or dm_stats_create_regions_from_fd()), use the
canonical version of the path. This avoids cryptic/confusing error
messages when symbolic links exist in the path argument given:

  # findmnt /var/lib/libvirt/images -otarget,source
  TARGET                  SOURCE
  /var/lib/libvirt/images /dev/mapper/vg_hex-lv_images

  # readlink /var/lib/libvirt/images/my.img
  /boot/my.img

  # dmstats create --filemap /var/lib/libvirt/images/my.img
  Cannot map file: not a device-mapper device.
  Could not create regions from file /var/lib/libvirt/images/my.img
  Command failed

Using the canonical path the error is immediately obvious:

  # dmstats create --filemap /var/lib/libvirt/images/my.img
  Cannot map file: not a device-mapper device.
  Could not create regions from file /boot/my.img
  Command failed

tools/dmsetup.c

index eb7c83a24c9d4656a8938753a530e2368a449af5..34e33d30c83fdcb3f2f24e5379607cc519a37b63 100644 (file)
@@ -5034,7 +5034,7 @@ static int _stats_create_file(CMD_ARGS)
        fd = open(abspath, O_RDONLY);
 
        if (fd < 0) {
-               log_error("Could not open %s for reading", path);
+               log_error("Could not open %s for reading", abspath);
                goto bad;
        }
 
@@ -5060,12 +5060,12 @@ static int _stats_create_file(CMD_ARGS)
                                                  bounds, alias);
 
        if (close(fd))
-               log_error("Error closing %s", path);
+               log_error("Error closing %s", abspath);
 
        fd = -1;
 
        if (!regions) {
-               log_error("Could not create regions from file %s", path);
+               log_error("Could not create regions from file %s", abspath);
                goto bad;
        }
 
This page took 0.043622 seconds and 5 git commands to generate.