Re: check_finished() syntax weirdness

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

 



On 05/13/2014 11:48 AM, Harald Hoyer wrote:
On 13.05.2014 11:44, Hannes Reinecke wrote:
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

Yes, the finished queue defines when to end the main loop. If you want to hang
around in the main loop, you have to define the "break" condition, or in this
case the negative-continue condition.

Ah. So fcoe never worked?
(As it doesn't supply an 'finished' script)

Cheers,

Hannes
--
Dr. Hannes Reinecke		      zSeries & Storage
hare@xxxxxxx			      +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)
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux