+ if (STRPREFIX (spec, "/dev/mapper/")) {
+ /* LVM2 does some strange munging on /dev/mapper paths for VGs and
+ * LVs which contain '-' character:
+ *
+ * ><fs> lvcreate LV--test VG--test 32
+ * ><fs> debug ls /dev/mapper
+ * VG----test-LV----test
+ *
+ * This makes it impossible to reverse those paths directly, so
+ * we have implemented lvm_canonical_lv_name in the daemon.
+ */
+ device = guestfs_lvm_canonical_lv_name (g, spec);
+ }
+ else if ((a1 = match1 (g, spec, re_xdev)) != NULL) {
+ char **devices = guestfs_list_devices (g);
+ if (devices == NULL)
+ return NULL;
+
+ size_t count;
+ for (count = 0; devices[count] != NULL; count++)
+ ;