Subject: Re: bin/35547: add timeout to cgdconfig
To: None <>
From: Anne Bennett <>
List: netbsd-bugs
Date: 02/04/2007 16:35:50
Lubomir Sedlacik <> 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
                 set timeout_has_been_done

         if ! timeout_requested or a_user_is_present
           proceed with requesting password
           configure volume
           skip this one
      else (no user interaction needed for this volume)
        configure volume

Ms. Anne Bennett, Senior Sysadmin, ENCS, Concordia University, Montreal H3G 1M8                                    +1 514 848-2424 x2285