From: Tomoki Sekiyama <tomoki.sekiyama.qu@hitachi.com>
To: lcapitulino@redhat.com
Cc: qemu-devel@nongnu.org, mdroth@linux.vnet.ibm.com
Subject: Re: [Qemu-devel] [PATCH v4 2/2] qemu-ga: sample fsfreeze hooks
Date: Tue, 27 Nov 2012 11:35:01 +0900 [thread overview]
Message-ID: <50B426D5.2070106@hitachi.com> (raw)
In-Reply-To: <20121126104001.01d68e50@doriath.home>
On 2012/11/26 21:40, Luiz Capitulino wrote:
> On Mon, 26 Nov 2012 20:49:17 +0900
> Tomoki Sekiyama <tomoki.sekiyama.qu@hitachi.com> wrote:
>
>> On 2012/11/23 1:03, Luiz Capitulino wrote:
>>> On Thu, 22 Nov 2012 11:15:49 +0900
>>> Tomoki Sekiyama <tomoki.sekiyama.qu@hitachi.com> wrote:
>>>
>>>> Adds sample hook scripts for --fsfreeze-hook option of qemu-ga.
>>>> - fsfreeze-hook : execute scripts in fsfreeze-hook.d/
>>>> - fsfreeze-hook.d.sample/mysql-flush.sh : quiesce MySQL before snapshot
>> <snip>
>>>> +# Iterate executables in directory "fsfreeze-hook.d" with the specified args
>>>> +[ ! -d "$FSFREEZE_D" ] && exit 1
>>>> +for file in "$FSFREEZE_D"/* ; do
>>>> + is_ignored_file "$file" && continue
>>>> + [ -x "$file" ] || continue
>>>> + echo "$(date): execute $file $@" >>$LOGFILE
>>>> + "$file" "$@" >>$LOGFILE 2>&1
>>>> + STATUS=$?
>>>> + echo "$(date): $file finished with status=$STATUS" >>$LOGFILE
>>>> +done
>>>
>>> execute_fsfreeze_hook() will fail the freeze process if this script fails. Two
>>> comments:
>>>
>>> 1. Do we want to fail the freeze process if one of the sub-scripts fails?
>>> If yes, then we have to exit 1 in the first failure
>>
>> I originally thought the hooks are optional; even they failed, filesystem-level
>> consistency are still kept in the snapshot.
>> However, if we are going to fail fsfreeze process by one of sub-scripts'
>> failure, we also need to notify scripts which already succeeded to pre-freeze
>> to thaw (or abort) freezing, before exit 1 here.
>
> Right, which makes things more complex. I vote for doing it the simpler way
> for now then, which is to ignore subscripts exit status. But then you should
> add exit 0 after the loop to avoid this:
I agree this way.
>>> 2. The exit status of the script will echo's exit status. I doubt we want that
>>
>> Do you mean $STATUS (not $status) is specialized in some shell environments?
>
> No, what I meant is that (afaik) when the script finishes, its return status to
> qemu-ga is actually going to be the latest call echo exit status because it's
> the last command executed in the loop. If echo fails (say no space) then
> the script will fail.
>
> We either, ignore any failures in qemu-ga itself (although we should at least
> print a warning there) and/or add exit 0 as the last line of the script.
Now I got the point. I will fix this at the next version.
Thanks,
--
Tomoki Sekiyama <tomoki.sekiyama.qu@hitachi.com>
Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
prev parent reply other threads:[~2012-11-27 2:34 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-22 2:15 [Qemu-devel] [PATCH v4 0/2] qemu-ga: add hook to quiesce the guest on fsfreeze-freeze/thaw Tomoki Sekiyama
2012-11-22 2:15 ` [Qemu-devel] [PATCH v4 1/2] qemu-ga: execute " Tomoki Sekiyama
2012-11-22 15:52 ` Luiz Capitulino
2012-11-26 11:49 ` Tomoki Sekiyama
2012-11-26 12:32 ` Luiz Capitulino
2012-11-22 2:15 ` [Qemu-devel] [PATCH v4 2/2] qemu-ga: sample fsfreeze hooks Tomoki Sekiyama
2012-11-22 16:03 ` Luiz Capitulino
2012-11-26 11:49 ` Tomoki Sekiyama
2012-11-26 12:40 ` Luiz Capitulino
2012-11-27 2:35 ` Tomoki Sekiyama [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50B426D5.2070106@hitachi.com \
--to=tomoki.sekiyama.qu@hitachi.com \
--cc=lcapitulino@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.