[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH COLO-Frame v8 23/34] tap: Make launch_script() p
From: |
Jason Wang |
Subject: |
Re: [Qemu-devel] [PATCH COLO-Frame v8 23/34] tap: Make launch_script() public |
Date: |
Wed, 29 Jul 2015 16:57:49 +0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 |
On 07/29/2015 04:45 PM, zhanghailiang wrote:
> We also change the parameters of launch_script().
A quick question (I don't go through the codes tough). What's the plan
for management(libvirt)? I believe some setup (iptables, fd creation)
should be offloaded to management (libvirt)?
Thanks
> Cc: Stefan Hajnoczi <address@hidden>
> Cc: Jason Wang <address@hidden>
> Signed-off-by: zhanghailiang <address@hidden>
> Signed-off-by: Li Zhijian <address@hidden>
> ---
> include/net/tap.h | 2 ++
> net/tap.c | 31 ++++++++++++++++++-------------
> 2 files changed, 20 insertions(+), 13 deletions(-)
>
> diff --git a/include/net/tap.h b/include/net/tap.h
> index 5da4edc..ac99b31 100644
> --- a/include/net/tap.h
> +++ b/include/net/tap.h
> @@ -38,4 +38,6 @@ int tap_get_fd(NetClientState *nc);
> struct vhost_net;
> struct vhost_net *tap_get_vhost_net(NetClientState *nc);
>
> +void launch_script(char *const args[], int fd, Error **errp);
> +
> #endif /* QEMU_NET_TAP_H */
> diff --git a/net/tap.c b/net/tap.c
> index c2135cd..a715636 100644
> --- a/net/tap.c
> +++ b/net/tap.c
> @@ -60,9 +60,6 @@ typedef struct TAPState {
> unsigned host_vnet_hdr_len;
> } TAPState;
>
> -static void launch_script(const char *setup_script, const char *ifname,
> - int fd, Error **errp);
> -
> static void tap_send(void *opaque);
> static void tap_writable(void *opaque);
>
> @@ -305,7 +302,14 @@ static void tap_cleanup(NetClientState *nc)
> qemu_purge_queued_packets(nc);
>
> if (s->down_script[0]) {
> - launch_script(s->down_script, s->down_script_arg, s->fd, &err);
> + char *args[3];
> + char **parg;
> +
> + parg = args;
> + *parg++ = (char *)s->down_script;
> + *parg++ = (char *)s->down_script_arg;
> + *parg = NULL;
> + launch_script(args, s->fd, &err);
> if (err) {
> error_report_err(err);
> }
> @@ -382,12 +386,10 @@ static TAPState *net_tap_fd_init(NetClientState *peer,
> return s;
> }
>
> -static void launch_script(const char *setup_script, const char *ifname,
> - int fd, Error **errp)
> +void launch_script(char *const args[], int fd, Error **errp)
> {
> int pid, status;
> - char *args[3];
> - char **parg;
> + const char *setup_script = args[0];
>
> /* try to launch network script */
> pid = fork();
> @@ -404,10 +406,6 @@ static void launch_script(const char *setup_script,
> const char *ifname,
> close(i);
> }
> }
> - parg = args;
> - *parg++ = (char *)setup_script;
> - *parg++ = (char *)ifname;
> - *parg = NULL;
> execv(setup_script, args);
> _exit(1);
> } else {
> @@ -611,7 +609,14 @@ static int net_tap_init(const NetdevTapOptions *tap, int
> *vnet_hdr,
> if (setup_script &&
> setup_script[0] != '\0' &&
> strcmp(setup_script, "no") != 0) {
> - launch_script(setup_script, ifname, fd, &err);
> + char *args[3];
> + char **parg;
> + parg = args;
> + *parg++ = (char *)setup_script;
> + *parg++ = (char *)ifname;
> + *parg = NULL;
> +
> + launch_script(args, fd, &err);
> if (err) {
> error_propagate(errp, err);
> close(fd);
- [Qemu-devel] [PATCH COLO-Frame v8 06/34] migration: Integrate COLO checkpoint process into migration, (continued)
- [Qemu-devel] [PATCH COLO-Frame v8 06/34] migration: Integrate COLO checkpoint process into migration, zhanghailiang, 2015/07/29
- [Qemu-devel] [PATCH COLO-Frame v8 03/34] COLO: migrate colo related info to slave, zhanghailiang, 2015/07/29
- [Qemu-devel] [PATCH COLO-Frame v8 17/34] COLO failover: Introduce state to record failover process, zhanghailiang, 2015/07/29
- [Qemu-devel] [PATCH COLO-Frame v8 11/34] COLO: Save VM state to slave when do checkpoint, zhanghailiang, 2015/07/29
- [Qemu-devel] [PATCH COLO-Frame v8 13/34] COLO VMstate: Load VM state into qsb before restore it, zhanghailiang, 2015/07/29
- [Qemu-devel] [PATCH COLO-Frame v8 22/34] COLO NIC: Init/remove colo nic devices when add/cleanup tap devices, zhanghailiang, 2015/07/29
- [Qemu-devel] [PATCH COLO-Frame v8 16/34] COLO failover: Introduce a new command to trigger a failover, zhanghailiang, 2015/07/29
- [Qemu-devel] [PATCH COLO-Frame v8 14/34] arch_init: Start to trace dirty pages of SVM, zhanghailiang, 2015/07/29
- [Qemu-devel] [PATCH COLO-Frame v8 20/34] COLO failover: Don't do failover during loading VM's state, zhanghailiang, 2015/07/29
- [Qemu-devel] [PATCH COLO-Frame v8 23/34] tap: Make launch_script() public, zhanghailiang, 2015/07/29
- Re: [Qemu-devel] [PATCH COLO-Frame v8 23/34] tap: Make launch_script() public,
Jason Wang <=
- Re: [Qemu-devel] [PATCH COLO-Frame v8 23/34] tap: Make launch_script() public, zhanghailiang, 2015/07/29
- Re: [Qemu-devel] [PATCH COLO-Frame v8 23/34] tap: Make launch_script() public, Jason Wang, 2015/07/29
- Re: [Qemu-devel] [PATCH COLO-Frame v8 23/34] tap: Make launch_script() public, zhanghailiang, 2015/07/29
- Re: [Qemu-devel] [PATCH COLO-Frame v8 23/34] tap: Make launch_script() public, Jason Wang, 2015/07/29
- Re: [Qemu-devel] [PATCH COLO-Frame v8 23/34] tap: Make launch_script() public, zhanghailiang, 2015/07/30
- Re: [Qemu-devel] [PATCH COLO-Frame v8 23/34] tap: Make launch_script() public, Daniel P. Berrange, 2015/07/29
- Re: [Qemu-devel] [PATCH COLO-Frame v8 23/34] tap: Make launch_script() public, Dr. David Alan Gilbert, 2015/07/29
[Qemu-devel] [PATCH COLO-Frame v8 04/34] colo-comm/migration: skip colo info section for special cases, zhanghailiang, 2015/07/29
[Qemu-devel] [PATCH COLO-Frame v8 15/34] COLO RAM: Flush cached RAM into SVM's memory, zhanghailiang, 2015/07/29
[Qemu-devel] [PATCH COLO-Frame v8 25/34] colo-nic: Handle secondary VM's original net device configure, zhanghailiang, 2015/07/29