All of lore.kernel.org
 help / color / mirror / Atom feed
* check_finished() syntax weirdness
@ 2014-05-13  9:44 Hannes Reinecke
       [not found] ` <5371E992.1080802-l3A5Bk7waGM@public.gmane.org>
  0 siblings, 1 reply; 12+ messages in thread
From: Hannes Reinecke @ 2014-05-13  9:44 UTC (permalink / raw)
  To: Harald Hoyer; +Cc: initramfs

Hi all,

I'm trying to figure out why my initqueue scripts are never called.
Eg 95fcoe is just installing an initqueue job, which should call
'fcoe-up' on the interface.
However, this script is never called, irrespective of any 'fcoe=' 
parameters.

Looking a dracut-initqueue.sh, we have this:

while :; do

     check_finished && break

     udevadm settle --exit-if-exists=$hookdir/initqueue/work

     check_finished && break

     if [ -f $hookdir/initqueue/work ]; then
         rm -f -- "$hookdir/initqueue/work"
     fi

     for job in $hookdir/initqueue/*.sh; do
         [ -e "$job" ] || break
         job=$job . $job
         check_finished && break 2
     done

     udevadm settle --timeout=0 >/dev/null 2>&1 || continue
...

and check_finished is:

check_finished() {
     local f
     for f in $hookdir/initqueue/finished/*.sh; do
         [ "$f" = "$hookdir/initqueue/finished/*.sh" ] && return 0
         { [ -e "$f" ] && ( . "$f" ) ; } || return 1
     done
     return 0
}

IE if no scripts are present in the 'finished' queue, 
'check_finished' will return '0', causing the main initqueue to 
short-circuit and the actual initqueue jobs will never be executed.

Is this the intended outcome?
IE are all jobs for the initqueue are _required_ to supply a 
'finished' job?

I would have thought it to be a bit more permissive, ie do a
'return 1' if no finish j0bs have been found ...

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare-l3A5Bk7waGM@public.gmane.org			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2014-05-20  9:18 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-13  9:44 check_finished() syntax weirdness Hannes Reinecke
     [not found] ` <5371E992.1080802-l3A5Bk7waGM@public.gmane.org>
2014-05-13  9:48   ` Harald Hoyer
     [not found]     ` <5371EA56.3000203-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-13  9:55       ` Hannes Reinecke
     [not found]         ` <5371EC2E.4020209-l3A5Bk7waGM@public.gmane.org>
2014-05-13 10:22           ` Harald Hoyer
     [not found]             ` <5371F250.9040708-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-13 10:30               ` Hannes Reinecke
     [not found]                 ` <5371F448.5030208-l3A5Bk7waGM@public.gmane.org>
2014-05-13 10:39                   ` Harald Hoyer
     [not found]                     ` <5371F645.3080309-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-13 10:42                       ` Hannes Reinecke
     [not found]                         ` <5371F729.2000100-l3A5Bk7waGM@public.gmane.org>
2014-05-13 12:10                           ` Harald Hoyer
     [not found]                             ` <53720BCF.5080806-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-13 14:21                               ` Hannes Reinecke
     [not found]                                 ` <53722A84.7080205-l3A5Bk7waGM@public.gmane.org>
2014-05-13 14:32                                   ` Harald Hoyer
     [not found]                                     ` <53722CFC.6060500-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-20  8:46                                       ` Hannes Reinecke
     [not found]                                         ` <537B1677.9050402-l3A5Bk7waGM@public.gmane.org>
2014-05-20  9:18                                           ` Hannes Reinecke

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.