block: Remove deprecated -drive geometry options
The -drive options cyls, heads, secs and trans were deprecated in QEMU 2.10. It's time to remove them. hd-geo-test tested both the old version with geometry options in -drive and the new one with -device. Therefore the code using -drive doesn't have to be replaced there, we just need to remove the -drive test cases. This in turn allows some simplification of the code. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
		
							parent
							
								
									d083f954a9
								
							
						
					
					
						commit
						a7aff6dd10
					
				
							
								
								
									
										75
									
								
								blockdev.c
									
									
									
									
									
								
							
							
						
						
									
										75
									
								
								blockdev.c
									
									
									
									
									
								
							@ -730,22 +730,6 @@ QemuOptsList qemu_legacy_drive_opts = {
 | 
				
			|||||||
            .name = "if",
 | 
					            .name = "if",
 | 
				
			||||||
            .type = QEMU_OPT_STRING,
 | 
					            .type = QEMU_OPT_STRING,
 | 
				
			||||||
            .help = "interface (ide, scsi, sd, mtd, floppy, pflash, virtio)",
 | 
					            .help = "interface (ide, scsi, sd, mtd, floppy, pflash, virtio)",
 | 
				
			||||||
        },{
 | 
					 | 
				
			||||||
            .name = "cyls",
 | 
					 | 
				
			||||||
            .type = QEMU_OPT_NUMBER,
 | 
					 | 
				
			||||||
            .help = "number of cylinders (ide disk geometry)",
 | 
					 | 
				
			||||||
        },{
 | 
					 | 
				
			||||||
            .name = "heads",
 | 
					 | 
				
			||||||
            .type = QEMU_OPT_NUMBER,
 | 
					 | 
				
			||||||
            .help = "number of heads (ide disk geometry)",
 | 
					 | 
				
			||||||
        },{
 | 
					 | 
				
			||||||
            .name = "secs",
 | 
					 | 
				
			||||||
            .type = QEMU_OPT_NUMBER,
 | 
					 | 
				
			||||||
            .help = "number of sectors (ide disk geometry)",
 | 
					 | 
				
			||||||
        },{
 | 
					 | 
				
			||||||
            .name = "trans",
 | 
					 | 
				
			||||||
            .type = QEMU_OPT_STRING,
 | 
					 | 
				
			||||||
            .help = "chs translation (auto, lba, none)",
 | 
					 | 
				
			||||||
        },{
 | 
					        },{
 | 
				
			||||||
            .name = "addr",
 | 
					            .name = "addr",
 | 
				
			||||||
            .type = QEMU_OPT_STRING,
 | 
					            .type = QEMU_OPT_STRING,
 | 
				
			||||||
@ -792,7 +776,6 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
 | 
				
			|||||||
    QemuOpts *legacy_opts;
 | 
					    QemuOpts *legacy_opts;
 | 
				
			||||||
    DriveMediaType media = MEDIA_DISK;
 | 
					    DriveMediaType media = MEDIA_DISK;
 | 
				
			||||||
    BlockInterfaceType type;
 | 
					    BlockInterfaceType type;
 | 
				
			||||||
    int cyls, heads, secs, translation;
 | 
					 | 
				
			||||||
    int max_devs, bus_id, unit_id, index;
 | 
					    int max_devs, bus_id, unit_id, index;
 | 
				
			||||||
    const char *devaddr;
 | 
					    const char *devaddr;
 | 
				
			||||||
    const char *werror, *rerror;
 | 
					    const char *werror, *rerror;
 | 
				
			||||||
@ -803,7 +786,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
 | 
				
			|||||||
    Error *local_err = NULL;
 | 
					    Error *local_err = NULL;
 | 
				
			||||||
    int i;
 | 
					    int i;
 | 
				
			||||||
    const char *deprecated[] = {
 | 
					    const char *deprecated[] = {
 | 
				
			||||||
        "serial", "trans", "secs", "heads", "cyls", "addr"
 | 
					        "serial", "addr"
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Change legacy command line options into QMP ones */
 | 
					    /* Change legacy command line options into QMP ones */
 | 
				
			||||||
@ -932,57 +915,6 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
 | 
				
			|||||||
        type = block_default_type;
 | 
					        type = block_default_type;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Geometry */
 | 
					 | 
				
			||||||
    cyls  = qemu_opt_get_number(legacy_opts, "cyls", 0);
 | 
					 | 
				
			||||||
    heads = qemu_opt_get_number(legacy_opts, "heads", 0);
 | 
					 | 
				
			||||||
    secs  = qemu_opt_get_number(legacy_opts, "secs", 0);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (cyls || heads || secs) {
 | 
					 | 
				
			||||||
        if (cyls < 1) {
 | 
					 | 
				
			||||||
            error_report("invalid physical cyls number");
 | 
					 | 
				
			||||||
            goto fail;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (heads < 1) {
 | 
					 | 
				
			||||||
            error_report("invalid physical heads number");
 | 
					 | 
				
			||||||
            goto fail;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (secs < 1) {
 | 
					 | 
				
			||||||
            error_report("invalid physical secs number");
 | 
					 | 
				
			||||||
            goto fail;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    translation = BIOS_ATA_TRANSLATION_AUTO;
 | 
					 | 
				
			||||||
    value = qemu_opt_get(legacy_opts, "trans");
 | 
					 | 
				
			||||||
    if (value != NULL) {
 | 
					 | 
				
			||||||
        if (!cyls) {
 | 
					 | 
				
			||||||
            error_report("'%s' trans must be used with cyls, heads and secs",
 | 
					 | 
				
			||||||
                         value);
 | 
					 | 
				
			||||||
            goto fail;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (!strcmp(value, "none")) {
 | 
					 | 
				
			||||||
            translation = BIOS_ATA_TRANSLATION_NONE;
 | 
					 | 
				
			||||||
        } else if (!strcmp(value, "lba")) {
 | 
					 | 
				
			||||||
            translation = BIOS_ATA_TRANSLATION_LBA;
 | 
					 | 
				
			||||||
        } else if (!strcmp(value, "large")) {
 | 
					 | 
				
			||||||
            translation = BIOS_ATA_TRANSLATION_LARGE;
 | 
					 | 
				
			||||||
        } else if (!strcmp(value, "rechs")) {
 | 
					 | 
				
			||||||
            translation = BIOS_ATA_TRANSLATION_RECHS;
 | 
					 | 
				
			||||||
        } else if (!strcmp(value, "auto")) {
 | 
					 | 
				
			||||||
            translation = BIOS_ATA_TRANSLATION_AUTO;
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            error_report("'%s' invalid translation type", value);
 | 
					 | 
				
			||||||
            goto fail;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (media == MEDIA_CDROM) {
 | 
					 | 
				
			||||||
        if (cyls || secs || heads) {
 | 
					 | 
				
			||||||
            error_report("CHS can't be set with media=cdrom");
 | 
					 | 
				
			||||||
            goto fail;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /* Device address specified by bus/unit or index.
 | 
					    /* Device address specified by bus/unit or index.
 | 
				
			||||||
     * If none was specified, try to find the first free one. */
 | 
					     * If none was specified, try to find the first free one. */
 | 
				
			||||||
    bus_id  = qemu_opt_get_number(legacy_opts, "bus", 0);
 | 
					    bus_id  = qemu_opt_get_number(legacy_opts, "bus", 0);
 | 
				
			||||||
@ -1105,11 +1037,6 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
 | 
				
			|||||||
    dinfo = g_malloc0(sizeof(*dinfo));
 | 
					    dinfo = g_malloc0(sizeof(*dinfo));
 | 
				
			||||||
    dinfo->opts = all_opts;
 | 
					    dinfo->opts = all_opts;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dinfo->cyls = cyls;
 | 
					 | 
				
			||||||
    dinfo->heads = heads;
 | 
					 | 
				
			||||||
    dinfo->secs = secs;
 | 
					 | 
				
			||||||
    dinfo->trans = translation;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    dinfo->type = type;
 | 
					    dinfo->type = type;
 | 
				
			||||||
    dinfo->bus = bus_id;
 | 
					    dinfo->bus = bus_id;
 | 
				
			||||||
    dinfo->unit = unit_id;
 | 
					    dinfo->unit = unit_id;
 | 
				
			||||||
 | 
				
			|||||||
@ -1283,7 +1283,6 @@ ETEXI
 | 
				
			|||||||
        .params     = "[-n] [[<domain>:]<bus>:]<slot>\n"
 | 
					        .params     = "[-n] [[<domain>:]<bus>:]<slot>\n"
 | 
				
			||||||
                      "[file=file][,if=type][,bus=n]\n"
 | 
					                      "[file=file][,if=type][,bus=n]\n"
 | 
				
			||||||
                      "[,unit=m][,media=d][,index=i]\n"
 | 
					                      "[,unit=m][,media=d][,index=i]\n"
 | 
				
			||||||
                      "[,cyls=c,heads=h,secs=s[,trans=t]]\n"
 | 
					 | 
				
			||||||
                      "[,snapshot=on|off][,cache=on|off]\n"
 | 
					                      "[,snapshot=on|off][,cache=on|off]\n"
 | 
				
			||||||
                      "[,readonly=on|off][,copy-on-read=on|off]",
 | 
					                      "[,readonly=on|off][,copy-on-read=on|off]",
 | 
				
			||||||
        .help       = "add drive to PCI storage controller",
 | 
					        .help       = "add drive to PCI storage controller",
 | 
				
			||||||
 | 
				
			|||||||
@ -108,20 +108,6 @@ bool blkconf_geometry(BlockConf *conf, int *ptrans,
 | 
				
			|||||||
                      unsigned cyls_max, unsigned heads_max, unsigned secs_max,
 | 
					                      unsigned cyls_max, unsigned heads_max, unsigned secs_max,
 | 
				
			||||||
                      Error **errp)
 | 
					                      Error **errp)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    DriveInfo *dinfo;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (!conf->cyls && !conf->heads && !conf->secs) {
 | 
					 | 
				
			||||||
        /* try to fall back to value set with legacy -drive cyls=... */
 | 
					 | 
				
			||||||
        dinfo = blk_legacy_dinfo(conf->blk);
 | 
					 | 
				
			||||||
        if (dinfo) {
 | 
					 | 
				
			||||||
            conf->cyls  = dinfo->cyls;
 | 
					 | 
				
			||||||
            conf->heads = dinfo->heads;
 | 
					 | 
				
			||||||
            conf->secs  = dinfo->secs;
 | 
					 | 
				
			||||||
            if (ptrans) {
 | 
					 | 
				
			||||||
                *ptrans = dinfo->trans;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    if (!conf->cyls && !conf->heads && !conf->secs) {
 | 
					    if (!conf->cyls && !conf->heads && !conf->secs) {
 | 
				
			||||||
        hd_geometry_guess(conf->blk,
 | 
					        hd_geometry_guess(conf->blk,
 | 
				
			||||||
                          &conf->cyls, &conf->heads, &conf->secs,
 | 
					                          &conf->cyls, &conf->heads, &conf->secs,
 | 
				
			||||||
 | 
				
			|||||||
@ -35,7 +35,6 @@ struct DriveInfo {
 | 
				
			|||||||
    int auto_del;               /* see blockdev_mark_auto_del() */
 | 
					    int auto_del;               /* see blockdev_mark_auto_del() */
 | 
				
			||||||
    bool is_default;            /* Added by default_drive() ?  */
 | 
					    bool is_default;            /* Added by default_drive() ?  */
 | 
				
			||||||
    int media_cd;
 | 
					    int media_cd;
 | 
				
			||||||
    int cyls, heads, secs, trans;
 | 
					 | 
				
			||||||
    QemuOpts *opts;
 | 
					    QemuOpts *opts;
 | 
				
			||||||
    char *serial;
 | 
					    char *serial;
 | 
				
			||||||
    QTAILQ_ENTRY(DriveInfo) next;
 | 
					    QTAILQ_ENTRY(DriveInfo) next;
 | 
				
			||||||
 | 
				
			|||||||
@ -2850,11 +2850,6 @@ with ``-device ...,netdev=x''), or ``-nic user,smb=/some/dir''
 | 
				
			|||||||
(for embedded NICs). The new syntax allows different settings to be
 | 
					(for embedded NICs). The new syntax allows different settings to be
 | 
				
			||||||
provided per NIC.
 | 
					provided per NIC.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@subsection -drive cyls=...,heads=...,secs=...,trans=... (since 2.10.0)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The drive geometry arguments are replaced by the the geometry arguments
 | 
					 | 
				
			||||||
that can be specified with the ``-device'' parameter.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@subsection -drive serial=... (since 2.10.0)
 | 
					@subsection -drive serial=... (since 2.10.0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The drive serial argument is replaced by the the serial argument
 | 
					The drive serial argument is replaced by the the serial argument
 | 
				
			||||||
 | 
				
			|||||||
@ -804,9 +804,8 @@ ETEXI
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
DEF("drive", HAS_ARG, QEMU_OPTION_drive,
 | 
					DEF("drive", HAS_ARG, QEMU_OPTION_drive,
 | 
				
			||||||
    "-drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]\n"
 | 
					    "-drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]\n"
 | 
				
			||||||
    "       [,cyls=c,heads=h,secs=s[,trans=t]][,snapshot=on|off]\n"
 | 
					 | 
				
			||||||
    "       [,cache=writethrough|writeback|none|directsync|unsafe][,format=f]\n"
 | 
					    "       [,cache=writethrough|writeback|none|directsync|unsafe][,format=f]\n"
 | 
				
			||||||
    "       [,serial=s][,addr=A][,rerror=ignore|stop|report]\n"
 | 
					    "       [,snapshot=on|off][,serial=s][,addr=A][,rerror=ignore|stop|report]\n"
 | 
				
			||||||
    "       [,werror=ignore|stop|report|enospc][,id=name][,aio=threads|native]\n"
 | 
					    "       [,werror=ignore|stop|report|enospc][,id=name][,aio=threads|native]\n"
 | 
				
			||||||
    "       [,readonly=on|off][,copy-on-read=on|off]\n"
 | 
					    "       [,readonly=on|off][,copy-on-read=on|off]\n"
 | 
				
			||||||
    "       [,discard=ignore|unmap][,detect-zeroes=on|off|unmap]\n"
 | 
					    "       [,discard=ignore|unmap][,detect-zeroes=on|off|unmap]\n"
 | 
				
			||||||
@ -847,10 +846,6 @@ This option defines where is connected the drive by using an index in the list
 | 
				
			|||||||
of available connectors of a given interface type.
 | 
					of available connectors of a given interface type.
 | 
				
			||||||
@item media=@var{media}
 | 
					@item media=@var{media}
 | 
				
			||||||
This option defines the type of the media: disk or cdrom.
 | 
					This option defines the type of the media: disk or cdrom.
 | 
				
			||||||
@item cyls=@var{c},heads=@var{h},secs=@var{s}[,trans=@var{t}]
 | 
					 | 
				
			||||||
Force disk physical geometry and the optional BIOS translation (trans=none or
 | 
					 | 
				
			||||||
lba). These parameters are deprecated, use the corresponding parameters
 | 
					 | 
				
			||||||
of @code{-device} instead.
 | 
					 | 
				
			||||||
@item snapshot=@var{snapshot}
 | 
					@item snapshot=@var{snapshot}
 | 
				
			||||||
@var{snapshot} is "on" or "off" and controls snapshot mode for the given drive
 | 
					@var{snapshot} is "on" or "off" and controls snapshot mode for the given drive
 | 
				
			||||||
(see @option{-snapshot}).
 | 
					(see @option{-snapshot}).
 | 
				
			||||||
 | 
				
			|||||||
@ -201,7 +201,7 @@ static void setup_mbr(int img_idx, MBRcontents mbr)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static int setup_ide(int argc, char *argv[], int argv_sz,
 | 
					static int setup_ide(int argc, char *argv[], int argv_sz,
 | 
				
			||||||
                     int ide_idx, const char *dev, int img_idx,
 | 
					                     int ide_idx, const char *dev, int img_idx,
 | 
				
			||||||
                     MBRcontents mbr, const char *opts)
 | 
					                     MBRcontents mbr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    char *s1, *s2, *s3;
 | 
					    char *s1, *s2, *s3;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -216,7 +216,7 @@ static int setup_ide(int argc, char *argv[], int argv_sz,
 | 
				
			|||||||
        s3 = g_strdup(",media=cdrom");
 | 
					        s3 = g_strdup(",media=cdrom");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    argc = append_arg(argc, argv, argv_sz,
 | 
					    argc = append_arg(argc, argv, argv_sz,
 | 
				
			||||||
                      g_strdup_printf("%s%s%s%s", s1, s2, s3, opts));
 | 
					                      g_strdup_printf("%s%s%s", s1, s2, s3));
 | 
				
			||||||
    g_free(s1);
 | 
					    g_free(s1);
 | 
				
			||||||
    g_free(s2);
 | 
					    g_free(s2);
 | 
				
			||||||
    g_free(s3);
 | 
					    g_free(s3);
 | 
				
			||||||
@ -260,7 +260,7 @@ static void test_ide_mbr(bool use_device, MBRcontents mbr)
 | 
				
			|||||||
    for (i = 0; i < backend_last; i++) {
 | 
					    for (i = 0; i < backend_last; i++) {
 | 
				
			||||||
        cur_ide[i] = &hd_chst[i][mbr];
 | 
					        cur_ide[i] = &hd_chst[i][mbr];
 | 
				
			||||||
        dev = use_device ? (is_hd(cur_ide[i]) ? "ide-hd" : "ide-cd") : NULL;
 | 
					        dev = use_device ? (is_hd(cur_ide[i]) ? "ide-hd" : "ide-cd") : NULL;
 | 
				
			||||||
        argc = setup_ide(argc, argv, ARGV_SIZE, i, dev, i, mbr, "");
 | 
					        argc = setup_ide(argc, argv, ARGV_SIZE, i, dev, i, mbr);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    args = g_strjoinv(" ", argv);
 | 
					    args = g_strjoinv(" ", argv);
 | 
				
			||||||
    qtest_start(args);
 | 
					    qtest_start(args);
 | 
				
			||||||
@ -327,16 +327,12 @@ static void test_ide_drive_user(const char *dev, bool trans)
 | 
				
			|||||||
    const CHST expected_chst = { secs / (4 * 32) , 4, 32, trans };
 | 
					    const CHST expected_chst = { secs / (4 * 32) , 4, 32, trans };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    argc = setup_common(argv, ARGV_SIZE);
 | 
					    argc = setup_common(argv, ARGV_SIZE);
 | 
				
			||||||
    opts = g_strdup_printf("%s,%s%scyls=%d,heads=%d,secs=%d",
 | 
					    opts = g_strdup_printf("%s,%scyls=%d,heads=%d,secs=%d",
 | 
				
			||||||
                           dev ?: "",
 | 
					                           dev, trans ? "bios-chs-trans=lba," : "",
 | 
				
			||||||
                           trans && dev ? "bios-chs-" : "",
 | 
					 | 
				
			||||||
                           trans ? "trans=lba," : "",
 | 
					 | 
				
			||||||
                           expected_chst.cyls, expected_chst.heads,
 | 
					                           expected_chst.cyls, expected_chst.heads,
 | 
				
			||||||
                           expected_chst.secs);
 | 
					                           expected_chst.secs);
 | 
				
			||||||
    cur_ide[0] = &expected_chst;
 | 
					    cur_ide[0] = &expected_chst;
 | 
				
			||||||
    argc = setup_ide(argc, argv, ARGV_SIZE,
 | 
					    argc = setup_ide(argc, argv, ARGV_SIZE, 0, opts, backend_small, mbr_chs);
 | 
				
			||||||
                     0, dev ? opts : NULL, backend_small, mbr_chs,
 | 
					 | 
				
			||||||
                     dev ? "" : opts);
 | 
					 | 
				
			||||||
    g_free(opts);
 | 
					    g_free(opts);
 | 
				
			||||||
    args = g_strjoinv(" ", argv);
 | 
					    args = g_strjoinv(" ", argv);
 | 
				
			||||||
    qtest_start(args);
 | 
					    qtest_start(args);
 | 
				
			||||||
@ -346,22 +342,6 @@ static void test_ide_drive_user(const char *dev, bool trans)
 | 
				
			|||||||
    qtest_end();
 | 
					    qtest_end();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * Test case: IDE device (if=ide) with explicit CHS
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
static void test_ide_drive_user_chs(void)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    test_ide_drive_user(NULL, false);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * Test case: IDE device (if=ide) with explicit CHS and translation
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
static void test_ide_drive_user_chst(void)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    test_ide_drive_user(NULL, true);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Test case: IDE device (if=none) with explicit CHS
 | 
					 * Test case: IDE device (if=none) with explicit CHS
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@ -392,8 +372,7 @@ static void test_ide_drive_cd_0(void)
 | 
				
			|||||||
    for (i = 0; i <= backend_empty; i++) {
 | 
					    for (i = 0; i <= backend_empty; i++) {
 | 
				
			||||||
        ide_idx = backend_empty - i;
 | 
					        ide_idx = backend_empty - i;
 | 
				
			||||||
        cur_ide[ide_idx] = &hd_chst[i][mbr_blank];
 | 
					        cur_ide[ide_idx] = &hd_chst[i][mbr_blank];
 | 
				
			||||||
        argc = setup_ide(argc, argv, ARGV_SIZE,
 | 
					        argc = setup_ide(argc, argv, ARGV_SIZE, ide_idx, NULL, i, mbr_blank);
 | 
				
			||||||
                         ide_idx, NULL, i, mbr_blank, "");
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    args = g_strjoinv(" ", argv);
 | 
					    args = g_strjoinv(" ", argv);
 | 
				
			||||||
    qtest_start(args);
 | 
					    qtest_start(args);
 | 
				
			||||||
@ -422,8 +401,6 @@ int main(int argc, char **argv)
 | 
				
			|||||||
    qtest_add_func("hd-geo/ide/drive/mbr/blank", test_ide_drive_mbr_blank);
 | 
					    qtest_add_func("hd-geo/ide/drive/mbr/blank", test_ide_drive_mbr_blank);
 | 
				
			||||||
    qtest_add_func("hd-geo/ide/drive/mbr/lba", test_ide_drive_mbr_lba);
 | 
					    qtest_add_func("hd-geo/ide/drive/mbr/lba", test_ide_drive_mbr_lba);
 | 
				
			||||||
    qtest_add_func("hd-geo/ide/drive/mbr/chs", test_ide_drive_mbr_chs);
 | 
					    qtest_add_func("hd-geo/ide/drive/mbr/chs", test_ide_drive_mbr_chs);
 | 
				
			||||||
    qtest_add_func("hd-geo/ide/drive/user/chs", test_ide_drive_user_chs);
 | 
					 | 
				
			||||||
    qtest_add_func("hd-geo/ide/drive/user/chst", test_ide_drive_user_chst);
 | 
					 | 
				
			||||||
    qtest_add_func("hd-geo/ide/drive/cd_0", test_ide_drive_cd_0);
 | 
					    qtest_add_func("hd-geo/ide/drive/cd_0", test_ide_drive_cd_0);
 | 
				
			||||||
    qtest_add_func("hd-geo/ide/device/mbr/blank", test_ide_device_mbr_blank);
 | 
					    qtest_add_func("hd-geo/ide/device/mbr/blank", test_ide_device_mbr_blank);
 | 
				
			||||||
    qtest_add_func("hd-geo/ide/device/mbr/lba", test_ide_device_mbr_lba);
 | 
					    qtest_add_func("hd-geo/ide/device/mbr/lba", test_ide_device_mbr_lba);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user