[Ovirt-devel] [RFC][PATCH v2] edit-livecd : fail on error in arbitrary code
fishy
fishy at linux.vnet.ibm.com
Thu Dec 3 10:39:09 UTC 2009
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
More information about the ovirt-devel
mailing list