qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC] Removing old command line options


From: Brad Hards
Subject: [Qemu-devel] [RFC] Removing old command line options
Date: Mon, 25 Apr 2011 11:38:26 +1000
User-agent: KMail/1.13.5 (Linux/2.6.35-28-generic; KDE/4.5.1; x86_64; ; )

I've been trying to update the documentation (currently on neworking), and one
of the things that makes it hard is that there are a few old (legacy) command
line options (e.g. --tftp).

Removing them is easy, but not really nice to users who depend on them. So I
was thinking about a migration approach. 

I came up with two alternatives.

Simplest approach is just to add a warning for the next release, and remove
the option in the next+1 release.

diff --git a/vl.c b/vl.c
index 68c3b53..a972712 100644
--- a/vl.c
+++ b/vl.c
@@ -1941,6 +1941,13 @@ static const QEMUOption *lookup_opt(int argc, char 
**argv,
     return popt;
 }                                                                              
                                                                                
                                
                                                                                
                                                                                
                                
+static void display_legacy_warning(const char *option_name)                    
                                                                                
                                
+{                                                                              
                                                                                
                                
+    fprintf(stderr, "%s is a legacy option, which will be removed in a future 
"                                                                               
                                 
+                    "version of QEMU. Consult the manual for replacement.\n",  
                                                                                
                                
+                    option_name);
+}
+
 int main(int argc, char **argv, char **envp)
 {
     const char *gdbstub_dev = NULL;
@@ -2277,12 +2284,15 @@ int main(int argc, char **argv, char **envp)
                 break;
 #ifdef CONFIG_SLIRP
             case QEMU_OPTION_tftp:
+                display_legacy_warning("--tftp");
                 legacy_tftp_prefix = optarg;
                 break;
             case QEMU_OPTION_bootp:
+                display_legacy_warning("--bootp");
                 legacy_bootp_filename = optarg;
                 break;
             case QEMU_OPTION_redir:
+                display_legacy_warning("--redir");
                 if (net_slirp_redir(optarg) < 0)
                     exit(1);
                 break;


The other alternative is to add an intermediate state, so its a warning
in the next release, and requires an --enable-legacy-options command
line argument to get it back in next+1. Then its gone in next+2.

Thoughts? Comments?

Brad



reply via email to

[Prev in Thread] Current Thread [Next in Thread]