Subject: Re: bin/35547: add timeout to cgdconfig
To: None <gnats-admin@netbsd.org, netbsd-bugs@netbsd.org,>
From: Anne Bennett <anne@encs.concordia.ca>
List: netbsd-bugs
Date: 02/04/2007 21:40:02
The following reply was made to PR bin/35547; it has been noted by GNATS.

From: Anne Bennett <anne@encs.concordia.ca>
To: gnats-bugs@NetBSD.org
Cc: gnats-admin@NetBSD.org, netbsd-bugs@NetBSD.org
Subject: Re: bin/35547: add timeout to cgdconfig
Date: Sun, 04 Feb 2007 16:35:50 -0500

 Lubomir Sedlacik <salo@Xtrmntr.org> comments on my request for improvement:
 
 >  what if you have e.g., two cgd(4) volumes, where one is swap and it can
 >  be configured just fine without any user interaction?
 >  
 >  i think the rc.d script is the wrong place to do this kind of things.
 >  ideally, there would be a per-volume option which could be added to
 >  cgd.conf.
 
 My first though was that this would be even better than my proposal of a
 "-t seconds" option to cgdconfig, but then two tihngs occurred to me:
 
   - no point having a separate timeout for all the "user interaction
     required" cgd volumes, since either the user is sitting there or
     she isn't, so there's no point timing out more than once, and
 
   - cgdconfig know when user interaction is needed, since it prompts
     for it, so the "-t seconds" option should affect only volumes
     that require user interaction.
 
 My thoughts, based on your comment:
 
   - globals: timeout_requested (0 by default, else -t argument)
              timeout_has_been_done (starts false)
              a_user_is_present (starts false)
 
   - for each cgd volume:
       if user interaction needed for this volume
          if ! a_user_is_present and ! timeout_has_been_done and timeout_requested
              start timeout:
                if user indicates they are present:
                  set a_user_is_present
                  set timeout_has_been_done
                else
                  set timeout_has_been_done
 
          if ! timeout_requested or a_user_is_present
            proceed with requesting password
            configure volume
          else
            skip this one
       else (no user interaction needed for this volume)
         configure volume
 
 
 Anne.
 -- 
 Ms. Anne Bennett, Senior Sysadmin, ENCS, Concordia University, Montreal H3G 1M8
 anne@encs.concordia.ca                                    +1 514 848-2424 x2285