Message ID | 20140618204530.16806.54996.stgit@3820 |
---|---|
State | New |
Headers | show |
Hello, On Wed, Jun 18, 2014 at 11:45 PM, Nikolay Nikolaev < n.nikolaev@virtualopensystems.com> wrote: > Make net.o linkage expect net_init_vhost_user only when > CONFIG_VHOST_NET is defined. > > Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com> > --- > net/net.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/net/net.c b/net/net.c > index de76e30..0c30414 100644 > --- a/net/net.c > +++ b/net/net.c > @@ -803,7 +803,9 @@ static int (* const > net_client_init_fun[NET_CLIENT_OPTIONS_KIND_MAX])( > [NET_CLIENT_OPTIONS_KIND_BRIDGE] = net_init_bridge, > #endif > [NET_CLIENT_OPTIONS_KIND_HUBPORT] = net_init_hubport, > +#ifdef CONFIG_VHOST_NET > [NET_CLIENT_OPTIONS_KIND_VHOST_USER] = net_init_vhost_user, > +#endif > }; > > > @@ -837,7 +839,9 @@ static int net_client_init1(const void *object, int > is_netdev, Error **errp) > case NET_CLIENT_OPTIONS_KIND_BRIDGE: > #endif > case NET_CLIENT_OPTIONS_KIND_HUBPORT: > +#ifdef CONFIG_VHOST_NET > case NET_CLIENT_OPTIONS_KIND_VHOST_USER: > +#endif > break; > > default: > > It turns out that configure puts CONFIG_VHOST_NET in the "wrong" place - config-target.h echo "CONFIG_VHOST_NET=y" >> $config_target_mak while for example: echo "CONFIG_VHOST_SCSI=y" >> $config_host_mak And net.c includes config-host.h, so we end up with vhost-user never enabled in net.c. Will it be a problem if CONFIG_VHOST_NET is added to config_host_mak instead? regards, Nikolay Nikolaev
On Thu, Jun 19, 2014 at 05:16:44PM +0300, Nikolay Nikolaev wrote: > Hello, > > > On Wed, Jun 18, 2014 at 11:45 PM, Nikolay Nikolaev < > n.nikolaev@virtualopensystems.com> wrote: > > Make net.o linkage expect net_init_vhost_user only when > CONFIG_VHOST_NET is defined. > > Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com> > --- > net/net.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/net/net.c b/net/net.c > index de76e30..0c30414 100644 > --- a/net/net.c > +++ b/net/net.c > @@ -803,7 +803,9 @@ static int (* const net_client_init_fun > [NET_CLIENT_OPTIONS_KIND_MAX])( > [NET_CLIENT_OPTIONS_KIND_BRIDGE] = net_init_bridge, > #endif > [NET_CLIENT_OPTIONS_KIND_HUBPORT] = net_init_hubport, > +#ifdef CONFIG_VHOST_NET > [NET_CLIENT_OPTIONS_KIND_VHOST_USER] = net_init_vhost_user, > +#endif > }; > > > @@ -837,7 +839,9 @@ static int net_client_init1(const void *object, int > is_netdev, Error **errp) > case NET_CLIENT_OPTIONS_KIND_BRIDGE: > #endif > case NET_CLIENT_OPTIONS_KIND_HUBPORT: > +#ifdef CONFIG_VHOST_NET > case NET_CLIENT_OPTIONS_KIND_VHOST_USER: > +#endif > break; > > default: > > > > It turns out that configure puts CONFIG_VHOST_NET in the "wrong" place - > config-target.h > > echo "CONFIG_VHOST_NET=y" >> $config_target_mak > > while for example: > > echo "CONFIG_VHOST_SCSI=y" >> $config_host_mak > > And net.c includes config-host.h, so we end up with vhost-user never enabled in > net.c. Not good. > Will it be a problem if CONFIG_VHOST_NET is added to config_host_mak instead? > > > regards, > Nikolay Nikolaev Try it :) It likely won't work for linux-user, right?
Hello, On Thu, Jun 19, 2014 at 5:24 PM, Michael S. Tsirkin <mst@redhat.com> wrote: > On Thu, Jun 19, 2014 at 05:16:44PM +0300, Nikolay Nikolaev wrote: > > Hello, > > > > > > On Wed, Jun 18, 2014 at 11:45 PM, Nikolay Nikolaev < > > n.nikolaev@virtualopensystems.com> wrote: > > > > Make net.o linkage expect net_init_vhost_user only when > > CONFIG_VHOST_NET is defined. > > > > Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com> > > --- > > net/net.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/net/net.c b/net/net.c > > index de76e30..0c30414 100644 > > --- a/net/net.c > > +++ b/net/net.c > > @@ -803,7 +803,9 @@ static int (* const net_client_init_fun > > [NET_CLIENT_OPTIONS_KIND_MAX])( > > [NET_CLIENT_OPTIONS_KIND_BRIDGE] = net_init_bridge, > > #endif > > [NET_CLIENT_OPTIONS_KIND_HUBPORT] = net_init_hubport, > > +#ifdef CONFIG_VHOST_NET > > [NET_CLIENT_OPTIONS_KIND_VHOST_USER] = net_init_vhost_user, > > +#endif > > }; > > > > > > @@ -837,7 +839,9 @@ static int net_client_init1(const void *object, > int > > is_netdev, Error **errp) > > case NET_CLIENT_OPTIONS_KIND_BRIDGE: > > #endif > > case NET_CLIENT_OPTIONS_KIND_HUBPORT: > > +#ifdef CONFIG_VHOST_NET > > case NET_CLIENT_OPTIONS_KIND_VHOST_USER: > > +#endif > > break; > > > > default: > > > > > > > > It turns out that configure puts CONFIG_VHOST_NET in the "wrong" place - > > config-target.h > > > > echo "CONFIG_VHOST_NET=y" >> $config_target_mak > > > > while for example: > > > > echo "CONFIG_VHOST_SCSI=y" >> $config_host_mak > > > > And net.c includes config-host.h, so we end up with vhost-user never > enabled in > > net.c. > > Not good. > > > Will it be a problem if CONFIG_VHOST_NET is added to config_host_mak > instead? > > > > > > regards, > > Nikolay Nikolaev > > Try it :) > It likely won't work for linux-user, right? > > -- > MST > You're right - its not working. I ended up with this: if test "$vhost_net" = "yes" ; then echo "CONFIG_VHOST_NET=y" >> $config_target_mak echo "CONFIG_VHOST_NET_USER=y" >> $config_host_mak fi and then in net.c depend on CONFIG_VHOST_NET_USER. Is this acceptable? I'm preparing a patchseries including the vhost-user qtest fixes, and can include this solution there if OK. regards, Nikolay Nikolaev
On Thu, Jun 19, 2014 at 05:33:02PM +0300, Nikolay Nikolaev wrote: > Hello, > > > On Thu, Jun 19, 2014 at 5:24 PM, Michael S. Tsirkin <mst@redhat.com> wrote: > > On Thu, Jun 19, 2014 at 05:16:44PM +0300, Nikolay Nikolaev wrote: > > Hello, > > > > > > On Wed, Jun 18, 2014 at 11:45 PM, Nikolay Nikolaev < > > n.nikolaev@virtualopensystems.com> wrote: > > > > Make net.o linkage expect net_init_vhost_user only when > > CONFIG_VHOST_NET is defined. > > > > Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com> > > --- > > net/net.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/net/net.c b/net/net.c > > index de76e30..0c30414 100644 > > --- a/net/net.c > > +++ b/net/net.c > > @@ -803,7 +803,9 @@ static int (* const net_client_init_fun > > [NET_CLIENT_OPTIONS_KIND_MAX])( > > [NET_CLIENT_OPTIONS_KIND_BRIDGE] = net_init_bridge, > > #endif > > [NET_CLIENT_OPTIONS_KIND_HUBPORT] = net_init_hubport, > > +#ifdef CONFIG_VHOST_NET > > [NET_CLIENT_OPTIONS_KIND_VHOST_USER] = net_init_vhost_user, > > +#endif > > }; > > > > > > @@ -837,7 +839,9 @@ static int net_client_init1(const void *object, > int > > is_netdev, Error **errp) > > case NET_CLIENT_OPTIONS_KIND_BRIDGE: > > #endif > > case NET_CLIENT_OPTIONS_KIND_HUBPORT: > > +#ifdef CONFIG_VHOST_NET > > case NET_CLIENT_OPTIONS_KIND_VHOST_USER: > > +#endif > > break; > > > > default: > > > > > > > > It turns out that configure puts CONFIG_VHOST_NET in the "wrong" place - > > config-target.h > > > > echo "CONFIG_VHOST_NET=y" >> $config_target_mak > > > > while for example: > > > > echo "CONFIG_VHOST_SCSI=y" >> $config_host_mak > > > > And net.c includes config-host.h, so we end up with vhost-user never > enabled in > > net.c. > > Not good. > > > Will it be a problem if CONFIG_VHOST_NET is added to config_host_mak > instead? > > > > > > regards, > > Nikolay Nikolaev > > Try it :) > It likely won't work for linux-user, right? > > -- > MST > > > You're right - its not working. > > I ended up with this: > if test "$vhost_net" = "yes" ; then > echo "CONFIG_VHOST_NET=y" >> $config_target_mak > echo "CONFIG_VHOST_NET_USER=y" >> $config_host_mak > fi > > and then in net.c depend on CONFIG_VHOST_NET_USER. Is this acceptable? OK but 1. pls rename CONFIG_VHOST_NET_USED 2. you will make it appear many times in .mak, that's ugly, pls set a variable and output once. > > I'm preparing a patchseries including the vhost-user qtest fixes, and can > include this solution there if OK. > > regards, > Nikolay Nikolaev
On Wed, Jun 18, 2014 at 11:45:45PM +0300, Nikolay Nikolaev wrote: > Make net.o linkage expect net_init_vhost_user only when > CONFIG_VHOST_NET is defined. > > Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com> Pls fix this one asap as it blocks pull request. I'll have to push vhost user out to next request otherwise ... > --- > net/net.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/net/net.c b/net/net.c > index de76e30..0c30414 100644 > --- a/net/net.c > +++ b/net/net.c > @@ -803,7 +803,9 @@ static int (* const net_client_init_fun[NET_CLIENT_OPTIONS_KIND_MAX])( > [NET_CLIENT_OPTIONS_KIND_BRIDGE] = net_init_bridge, > #endif > [NET_CLIENT_OPTIONS_KIND_HUBPORT] = net_init_hubport, > +#ifdef CONFIG_VHOST_NET > [NET_CLIENT_OPTIONS_KIND_VHOST_USER] = net_init_vhost_user, > +#endif > }; > > > @@ -837,7 +839,9 @@ static int net_client_init1(const void *object, int is_netdev, Error **errp) > case NET_CLIENT_OPTIONS_KIND_BRIDGE: > #endif > case NET_CLIENT_OPTIONS_KIND_HUBPORT: > +#ifdef CONFIG_VHOST_NET > case NET_CLIENT_OPTIONS_KIND_VHOST_USER: > +#endif > break; > > default:
diff --git a/net/net.c b/net/net.c index de76e30..0c30414 100644 --- a/net/net.c +++ b/net/net.c @@ -803,7 +803,9 @@ static int (* const net_client_init_fun[NET_CLIENT_OPTIONS_KIND_MAX])( [NET_CLIENT_OPTIONS_KIND_BRIDGE] = net_init_bridge, #endif [NET_CLIENT_OPTIONS_KIND_HUBPORT] = net_init_hubport, +#ifdef CONFIG_VHOST_NET [NET_CLIENT_OPTIONS_KIND_VHOST_USER] = net_init_vhost_user, +#endif }; @@ -837,7 +839,9 @@ static int net_client_init1(const void *object, int is_netdev, Error **errp) case NET_CLIENT_OPTIONS_KIND_BRIDGE: #endif case NET_CLIENT_OPTIONS_KIND_HUBPORT: +#ifdef CONFIG_VHOST_NET case NET_CLIENT_OPTIONS_KIND_VHOST_USER: +#endif break; default:
Make net.o linkage expect net_init_vhost_user only when CONFIG_VHOST_NET is defined. Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com> --- net/net.c | 4 ++++ 1 file changed, 4 insertions(+)