[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