As we know that Libvirt translates a device name of the form (regex) /^[fhv]d[a-z]+[0-9]*$/ into the corresponding index (e.g. sda => 0, hdz => 25, vdaa => 26) such that any trailing string of digits is simply ignored. Thus disk names like vda2 after attaching vda1 will error out like this:
2017-02-16 10:31:05.214+0000: 10668: error : qemuMonitorJSONCheckError:387 : internal error: unable to execute QEMU command 'device_add': Duplicate ID 'virtio-disk7' for device
error: Failed to attach disk
error: internal error: unable to execute QEMU command 'device_add': Duplicate ID 'virtio-disk7' for device
Thus, should we document this (trailing digits are ignored) in virsh manpage for attach-disk or is the user expected to know?