[Ovirt-devel] [RFC][PATCH v2] edit-livecd : fail on error in arbitrary code

fishy fishy at linux.vnet.ibm.com
Thu Dec 3 10:44:32 UTC 2009


Purpose : fail iso build on encountering error in arbitrary code '$CODE'

On 12/03/2009 04:09 PM, fishy wrote:
> Please the patch listed here
>
> On 11/13/2009 02:06 PM, abhishek misra wrote:
>> Hello All,
>>
>> Below are David's comments on my last patch
>>
>> David Huff wrote:
>>> I took a look at this today, I am not sure that a requirement for 
>>> 'CODE'
>>> to touch a "fail" file is the best way to address this.
>>>
>>> I assume your script is mounting proc inside the ext filesystem, ie to
>>> use yum or something.  And using trap and a similar mnt function, like
>>> what is in edit-livecd, is not cleaning up all the mounts in this case?
>>>
>>> A fix may be to use /proc/mounts instead of df when adding the Exits in
>>> the mnt function.
>>>
>>> Also can you clarify the statement, "note that it may not always be
>>> possible to return some error code on failure in 'CODE'" I am not 
>>> really
>>> sure what you mean here.
>>>
>>> Does this make sense?
>>>
>>> -D
>> David, you were right about proc , I've now taken care of that in my 
>> 'CODE'
>>
>> Here is another patch that tries to achieve the same without using 
>> 'touch fail'
>>
>> 1.  removed compound statement ( list )
>>     I found that its usage does not prevent trap to come into action 
>> if $CODE fails (which is desired )
>>     but allows commands after (list) to continue executing ( which is 
>> not desired )
>>
>> 2   added addExit "cd -"
>>    when $CODE fails and control returns to edit-livecd script, it is 
>> still in $WDIR/ex
>>     this causes failure when trap attempts  umount
>>
>> 3   added EXIT=${EXIT/cd - ;/}
>>     we no longer need it if $CODE goes well
>>
>> 4  added cd -
>>    we need it as we removed (list)
>>
>> 5  removed set +/- e
>>
>> Signed-off-by: Abhishek Misra <fishy at linux.vnet.ibm.com
>>
>> ---
>>
>> --- a/edit-livecd    2009-11-10 17:23:21.000000000 +0530
>> +++ b/edit-livecd    2009-11-13 14:03:50.000000000 +0530
>> @@ -161,12 +161,11 @@ mnt "-t ext2 $WDIR/sq-w/LiveOS/ext3fs.im
>>
>> echo ">>> Updating CD content"
>> if [ -n "$CODE" ]; then
>> -    (
>>       cd $WDIR/ex
>> -      set +e
>> +      addExit "cd -"
>>       eval "$CODE"
>> -      set -e
>> -    )
>> +      EXIT=${EXIT/cd - ;/}
>> +      cd -
>> else
>>     echo "***"
>>     echo "*** Pausing to allow manual changes.  Press any key to 
>> continue."
>>
>> _______________________________________________
>> Ovirt-devel mailing list
>> Ovirt-devel at redhat.com
>> https://www.redhat.com/mailman/listinfo/ovirt-devel
>
> _______________________________________________
> Ovirt-devel mailing list
> Ovirt-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/ovirt-devel




More information about the ovirt-devel mailing list