All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: qemu-block@nongnu.org
Cc: kwolf@redhat.com, peter.maydell@linaro.org, qemu-devel@nongnu.org
Subject: [Qemu-devel] [PULL v3 15/35] block: Remove the deprecated -hdachs option
Date: Fri, 22 Dec 2017 16:18:26 +0100	[thread overview]
Message-ID: <20171222151846.28110-16-kwolf@redhat.com> (raw)
In-Reply-To: <20171222151846.28110-1-kwolf@redhat.com>

From: Thomas Huth <thuth@redhat.com>

It's been marked as deprecated since QEMU v2.10.0, and so far nobody
complained that we should keep it, so let's remove this legacy option
now to simplify the code quite a bit.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 vl.c            | 86 ++-------------------------------------------------------
 qemu-doc.texi   |  8 ------
 qemu-options.hx | 19 ++-----------
 3 files changed, 4 insertions(+), 109 deletions(-)

diff --git a/vl.c b/vl.c
index d3a5c5d021..444b7507da 100644
--- a/vl.c
+++ b/vl.c
@@ -3052,9 +3052,8 @@ int main(int argc, char **argv, char **envp)
     const char *boot_order = NULL;
     const char *boot_once = NULL;
     DisplayState *ds;
-    int cyls, heads, secs, translation;
     QemuOpts *opts, *machine_opts;
-    QemuOpts *hda_opts = NULL, *icount_opts = NULL, *accel_opts = NULL;
+    QemuOpts *icount_opts = NULL, *accel_opts = NULL;
     QemuOptsList *olist;
     int optind;
     const char *optarg;
@@ -3146,8 +3145,6 @@ int main(int argc, char **argv, char **envp)
 
     cpu_model = NULL;
     snapshot = 0;
-    cyls = heads = secs = 0;
-    translation = BIOS_ATA_TRANSLATION_AUTO;
 
     nb_nics = 0;
 
@@ -3186,7 +3183,7 @@ int main(int argc, char **argv, char **envp)
         if (optind >= argc)
             break;
         if (argv[optind][0] != '-') {
-            hda_opts = drive_add(IF_DEFAULT, 0, argv[optind++], HD_OPTS);
+            drive_add(IF_DEFAULT, 0, argv[optind++], HD_OPTS);
         } else {
             const QEMUOption *popt;
 
@@ -3206,21 +3203,6 @@ int main(int argc, char **argv, char **envp)
                 cpu_model = optarg;
                 break;
             case QEMU_OPTION_hda:
-                {
-                    char buf[256];
-                    if (cyls == 0)
-                        snprintf(buf, sizeof(buf), "%s", HD_OPTS);
-                    else
-                        snprintf(buf, sizeof(buf),
-                                 "%s,cyls=%d,heads=%d,secs=%d%s",
-                                 HD_OPTS , cyls, heads, secs,
-                                 translation == BIOS_ATA_TRANSLATION_LBA ?
-                                 ",trans=lba" :
-                                 translation == BIOS_ATA_TRANSLATION_NONE ?
-                                 ",trans=none" : "");
-                    drive_add(IF_DEFAULT, 0, optarg, buf);
-                    break;
-                }
             case QEMU_OPTION_hdb:
             case QEMU_OPTION_hdc:
             case QEMU_OPTION_hdd:
@@ -3271,70 +3253,6 @@ int main(int argc, char **argv, char **envp)
             case QEMU_OPTION_snapshot:
                 snapshot = 1;
                 break;
-            case QEMU_OPTION_hdachs:
-                {
-                    const char *p;
-                    p = optarg;
-                    cyls = strtol(p, (char **)&p, 0);
-                    if (cyls < 1 || cyls > 16383)
-                        goto chs_fail;
-                    if (*p != ',')
-                        goto chs_fail;
-                    p++;
-                    heads = strtol(p, (char **)&p, 0);
-                    if (heads < 1 || heads > 16)
-                        goto chs_fail;
-                    if (*p != ',')
-                        goto chs_fail;
-                    p++;
-                    secs = strtol(p, (char **)&p, 0);
-                    if (secs < 1 || secs > 63)
-                        goto chs_fail;
-                    if (*p == ',') {
-                        p++;
-                        if (!strcmp(p, "large")) {
-                            translation = BIOS_ATA_TRANSLATION_LARGE;
-                        } else if (!strcmp(p, "rechs")) {
-                            translation = BIOS_ATA_TRANSLATION_RECHS;
-                        } else if (!strcmp(p, "none")) {
-                            translation = BIOS_ATA_TRANSLATION_NONE;
-                        } else if (!strcmp(p, "lba")) {
-                            translation = BIOS_ATA_TRANSLATION_LBA;
-                        } else if (!strcmp(p, "auto")) {
-                            translation = BIOS_ATA_TRANSLATION_AUTO;
-                        } else {
-                            goto chs_fail;
-                        }
-                    } else if (*p != '\0') {
-                    chs_fail:
-                        error_report("invalid physical CHS format");
-                        exit(1);
-                    }
-                    if (hda_opts != NULL) {
-                        qemu_opt_set_number(hda_opts, "cyls", cyls,
-                                            &error_abort);
-                        qemu_opt_set_number(hda_opts, "heads", heads,
-                                            &error_abort);
-                        qemu_opt_set_number(hda_opts, "secs", secs,
-                                            &error_abort);
-                        if (translation == BIOS_ATA_TRANSLATION_LARGE) {
-                            qemu_opt_set(hda_opts, "trans", "large",
-                                         &error_abort);
-                        } else if (translation == BIOS_ATA_TRANSLATION_RECHS) {
-                            qemu_opt_set(hda_opts, "trans", "rechs",
-                                         &error_abort);
-                        } else if (translation == BIOS_ATA_TRANSLATION_LBA) {
-                            qemu_opt_set(hda_opts, "trans", "lba",
-                                         &error_abort);
-                        } else if (translation == BIOS_ATA_TRANSLATION_NONE) {
-                            qemu_opt_set(hda_opts, "trans", "none",
-                                         &error_abort);
-                        }
-                    }
-                }
-                error_report("'-hdachs' is deprecated, please use '-device"
-                             " ide-hd,cyls=c,heads=h,secs=s,...' instead");
-                break;
             case QEMU_OPTION_numa:
                 opts = qemu_opts_parse_noisily(qemu_find_opts("numa"),
                                                optarg, true);
diff --git a/qemu-doc.texi b/qemu-doc.texi
index ed55bd477d..96fda9c56e 100644
--- a/qemu-doc.texi
+++ b/qemu-doc.texi
@@ -2686,14 +2686,6 @@ The ``--net dump'' argument is now replaced with the
 ``-object filter-dump'' argument which works in combination
 with the modern ``-netdev`` backends instead.
 
-@subsection -hdachs (since 2.10.0)
-
-The ``-hdachs'' argument is now a synonym for setting
-the ``cyls'', ``heads'', ``secs'', and ``trans'' properties
-on the ``ide-hd'' device using the ``-device'' argument.
-The new syntax allows different settings to be provided
-per disk.
-
 @subsection -usbdevice (since 2.10.0)
 
 The ``-usbdevice DEV'' argument is now a synonym for setting
diff --git a/qemu-options.hx b/qemu-options.hx
index 94647e21e3..2d39ba0b6d 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -846,8 +846,8 @@ of available connectors of a given interface type.
 @item media=@var{media}
 This option defines the type of the media: disk or cdrom.
 @item cyls=@var{c},heads=@var{h},secs=@var{s}[,trans=@var{t}]
-These options have the same definition as they have in @option{-hdachs}.
-These parameters are deprecated, use the corresponding parameters
+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}
 @var{snapshot} is "on" or "off" and controls snapshot mode for the given drive
@@ -1027,21 +1027,6 @@ the raw disk image you use is not written back. You can however force
 the write back by pressing @key{C-a s} (@pxref{disk_images}).
 ETEXI
 
-DEF("hdachs", HAS_ARG, QEMU_OPTION_hdachs, \
-    "-hdachs c,h,s[,t]\n" \
-    "                force hard disk 0 physical geometry and the optional BIOS\n" \
-    "                translation (t=none or lba) (usually QEMU can guess them)\n",
-    QEMU_ARCH_ALL)
-STEXI
-@item -hdachs @var{c},@var{h},@var{s},[,@var{t}]
-@findex -hdachs
-Force hard disk 0 physical geometry (1 <= @var{c} <= 16383, 1 <=
-@var{h} <= 16, 1 <= @var{s} <= 63) and optionally force the BIOS
-translation mode (@var{t}=none, lba or auto). Usually QEMU can guess
-all those parameters. This option is deprecated, please use
-@code{-device ide-hd,cyls=c,heads=h,secs=s,...} instead.
-ETEXI
-
 DEF("fsdev", HAS_ARG, QEMU_OPTION_fsdev,
     "-fsdev fsdriver,id=id[,path=path,][security_model={mapped-xattr|mapped-file|passthrough|none}]\n"
     " [,writeout=immediate][,readonly][,socket=socket|sock_fd=sock_fd][,fmode=fmode][,dmode=dmode]\n"
-- 
2.13.6

  parent reply	other threads:[~2017-12-22 15:19 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-22 15:18 [Qemu-devel] [PULL v3 00/35] Block layer patches Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 01/35] block: Formats don't need CONSISTENT_READ with NO_IO Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 02/35] iotests: fix 197 for vpc Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 03/35] block: Make bdrv_drain_invoke() recursive Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 04/35] block: Call .drain_begin only once in bdrv_drain_all_begin() Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 05/35] test-bdrv-drain: Test BlockDriver callbacks for drain Kevin Wolf
2018-01-04 17:24   ` Eric Blake
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 06/35] block: bdrv_drain_recurse(): Remove unused begin parameter Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 07/35] block: Don't wait for requests in bdrv_drain*_end() Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 08/35] block: Unify order in drain functions Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 09/35] block: Don't acquire AioContext in hmp_qemu_io() Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 10/35] qcow2: get rid of qcow2_backing_read1 routine Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 11/35] block: Document that x-blockdev-change breaks quorum children list Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 12/35] nvme: Add tracing Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 13/35] block: Open backing image in force share mode for size probe Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 14/35] block: Remove the obsolete -drive boot=on|off parameter Kevin Wolf
2017-12-22 15:18 ` Kevin Wolf [this message]
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 16/35] block: Mention -drive cyls/heads/secs/trans/serial/addr in deprecation chapter Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 17/35] block: Remove unused bdrv_requests_pending Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 18/35] block: Assert drain_all is only called from main AioContext Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 19/35] block: Make bdrv_drain() driver callbacks non-recursive Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 20/35] test-bdrv-drain: Test callback for bdrv_drain Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 21/35] test-bdrv-drain: Test bs->quiesce_counter Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 22/35] blockjob: Pause job on draining any job BDS Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 23/35] test-bdrv-drain: Test drain vs. block jobs Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 24/35] block: Don't block_job_pause_all() in bdrv_drain_all() Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 25/35] block: Nested drain_end must still call callbacks Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 26/35] test-bdrv-drain: Test nested drain sections Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 27/35] block: Don't notify parents in drain call chain Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 28/35] block: Add bdrv_subtree_drained_begin/end() Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 29/35] test-bdrv-drain: Tests for bdrv_subtree_drain Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 30/35] test-bdrv-drain: Test behaviour in coroutine context Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 31/35] test-bdrv-drain: Recursive draining with multiple parents Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 32/35] block: Allow graph changes in subtree drained section Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 33/35] test-bdrv-drain: Test graph changes in " Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 34/35] commit: Simplify reopen of base Kevin Wolf
2017-12-22 15:18 ` [Qemu-devel] [PULL v3 35/35] block: Keep nodes drained between reopen_queue/multiple Kevin Wolf
2017-12-22 16:33 ` [Qemu-devel] [PULL v3 00/35] Block layer patches no-reply
2018-01-08 15:09 ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171222151846.28110-16-kwolf@redhat.com \
    --to=kwolf@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.