From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH 1/3] cmdline_parse: Also pass bool_assert to OPT_CUSTOM so that parse_bool can be used correctly. Date: Mon, 28 Jul 2014 17:23:54 +0100 Message-ID: <53D6791A.1020609@citrix.com> References: <1406563175-23761-1-git-send-email-dslutz@verizon.com> <1406563175-23761-2-git-send-email-dslutz@verizon.com> <53D6757E.3050708@citrix.com> <53D677DA.1060801@terremark.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============9096325986795472279==" Return-path: In-Reply-To: <53D677DA.1060801@terremark.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Don Slutz , xen-devel@lists.xen.org Cc: Keir Fraser , Ian Campbell , Liu Jinsong , Christoph Egger , Ian Jackson , Tim Deegan , Aravind Gopalakrishnan , Jan Beulich , Stefano Stabellini , Suravee Suthikulpanit List-Id: xen-devel@lists.xenproject.org --===============9096325986795472279== Content-Type: multipart/alternative; boundary="------------030701030706070706030400" --------------030701030706070706030400 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit On 28/07/14 17:18, Don Slutz wrote: > > On 07/28/14 12:08, Andrew Cooper wrote: >> On 28/07/14 16:59, Don Slutz wrote: >>> Based on: >>> >>> commit 2fcb51bc7a4fcb7534265d7bb155c6ddf03952b8 >>> Author: kfraser@localhost.localdomain >>> Date: Mon Jul 9 14:29:53 2007 +0100 >>> >>> Also allow boolean cmdline params to be inverted in two other ways. >>> >>> Now, a standard boolean (e.g., watchdog) can be inverted in three >>> ways: >>> 1. no-watchdog >>> 2. watchdog=no >>> 3. watchdog=off >>> >>> Stacked inversions cancel each other: no-watchdog=no turns on the >>> watchdog. >>> >>> bool_assert is needed to do stacked inversions with parse_bool. >>> >>> Signed-off-by: Don Slutz >> >> Why do we need to care about stacked inversions? >> >> From xen-command-line.markdown: >> >> "Explicitly specifying any value other than those listed above is >> undefined, as is stacking a |no-| prefix with an explicit value." >> > > The command line: > > no-console_timestamps dom0_mem=3G loglvl=all guest_loglvl=all > com1=9600,8n1 console=com1 crashkernel=256M@256M no-console_timestamps=no > > in 4.4 and before ends up with date style console_timestamps. In xen > 4.5 you get no console_timestamps. > > The simpler case of no-console_timestamps no longer works also. > > -Don Slutz Ok, so my "compat for older console_timestamp boolparam" needs improving a bit. However, "no-console_timestamps=no" is undefined, and we make no guarentees as to what happens if you give repeated (different) command line options to Xen. Both of these are user/admin error and should not be worked around in Xen code. ~Andrew --------------030701030706070706030400 Content-Type: text/html; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit
On 28/07/14 17:18, Don Slutz wrote:

On 07/28/14 12:08, Andrew Cooper wrote:
On 28/07/14 16:59, Don Slutz wrote:
Based on:

commit 2fcb51bc7a4fcb7534265d7bb155c6ddf03952b8
Author: kfraser@localhost.localdomain <kfraser@localhost.localdomain>
Date:   Mon Jul 9 14:29:53 2007 +0100

    Also allow boolean cmdline params to be inverted in two other ways.

    Now, a standard boolean (e.g., watchdog) can be inverted in three
    ways:
     1. no-watchdog
     2. watchdog=no
     3. watchdog=off

    Stacked inversions cancel each other: no-watchdog=no turns on the
    watchdog.

bool_assert is needed to do stacked inversions with parse_bool.

Signed-off-by: Don Slutz <dslutz@verizon.com>

Why do we need to care about stacked inversions?

From xen-command-line.markdown:

"Explicitly specifying any value other than those listed above is undefined, as is stacking a no- prefix with an explicit value."


The command line:

no-console_timestamps dom0_mem=3G loglvl=all guest_loglvl=all com1=9600,8n1 console=com1 crashkernel=256M@256M no-console_timestamps=no

in 4.4 and before ends up with date style console_timestamps.  In xen 4.5 you get no console_timestamps. 

The simpler case of no-console_timestamps no longer works also.

   -Don Slutz

Ok, so my "compat for older console_timestamp boolparam" needs improving a bit.

However, "no-console_timestamps=no" is undefined, and we make no guarentees as to what happens if you give repeated (different) command line options to Xen.  Both of these are user/admin error and should not be worked around in Xen code.

~Andrew
--------------030701030706070706030400-- --===============9096325986795472279== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --===============9096325986795472279==--