Hi, the -drive patch changed the name strings to for block devices to "drive<n>", which carries about as much information as a serial number. With the previous naming the devices were easier to distinguish in the output of "info block" so I would like to change the naming and propose "<interface><index>" (for example "floppy0") for the devices that have only one bus and else "<interface><bus_id>-<media><unit_id>" (for example "ide0-hd0"):
--- a/vl.c +++ b/vl.c @@ -4844,6 +4844,8 @@ static int drive_init(const char *str, int snapshot, QEMUM achine *machine) { char buf[128]; char file[1024]; + char devname[128]; + const char *mediastr = ""; BlockInterfaceType interface; enum { MEDIA_DISK, MEDIA_CDROM } media; int bus_id, unit_id; @@ -4875,9 +4877,11 @@ static int drive_init(const char *str, int snapshot, QEMU Machine *machine) !strcmp(machine->name, "versatileab")) { interface = IF_SCSI; max_devs = MAX_SCSI_DEVS; + strcpy(devname, "scsi"); } else { interface = IF_IDE; max_devs = MAX_IDE_DEVS; + strcpy(devname, "ide"); } media = MEDIA_DISK; @@ -4900,6 +4904,7 @@ static int drive_init(const char *str, int snapshot, QEMUM achine *machine) } if (get_param_value(buf, sizeof(buf), "if", str)) { + strncpy(devname, buf, sizeof(devname)); if (!strcmp(buf, "ide")) { interface = IF_IDE; max_devs = MAX_IDE_DEVS; @@ -5057,7 +5062,10 @@ static int drive_init(const char *str, int snapshot, QEMU Machine *machine) /* init */ - snprintf(buf, sizeof(buf), "drive%d", nb_drives); + if (interface == IF_IDE || interface == IF_SCSI) + mediastr = (media == MEDIA_CDROM) ? "-cd" : "-hd"; + snprintf(buf, sizeof(buf), max_devs ? "%1$s%4$i%2$s%3$i" : "%s%s%i", + devname, mediastr, unit_id, bus_id); bdrv = bdrv_new(buf); drives_table[nb_drives].bdrv = bdrv; drives_table[nb_drives].interface = interface; I would like to commit this if there are no other propositions. Regards