[CRIU] [PATCH] zdtm/bridge: wait when the tentative flas is disappeared

Andrei Vagin avagin at virtuozzo.com
Mon Apr 30 19:37:59 MSK 2018


On Mon, Apr 30, 2018 at 12:30:40PM +0100, Dmitry Safonov wrote:
> > diff --git a/test/zdtm/static/bridge.c b/test/zdtm/static/bridge.c
> > index 983c262af..0c26c0b0f 100644
> > --- a/test/zdtm/static/bridge.c
> > +++ b/test/zdtm/static/bridge.c
> > @@ -84,6 +84,10 @@ int main(int argc, char **argv)
> >          * (I got this race with zdtm.py, but not with zdtm.sh; not quite sure
> >          * what the environment difference is/was.)
> >          */
> > +       while (1) {
> > +               if (system("ip addr list dev " BRIDGE_NAME " | grep tentative"))
> > +                       break;
> > +       }
> 
> `grep -v tentative`, I guess.

No. We are waiting when tentative is disappeared. Travis failed because
criu has a bug. Who wants to fix it?:)

[root at fc24 criu]# python2 ./test/zdtm.py run  -t zdtm/static/bridge
--iter 0 -f ns
=== Run 1/1 ================ zdtm/static/bridge

========================= Run zdtm/static/bridge in ns
Start test
Test is SUID
./bridge --pidfile=bridge.pid --outfile=bridge.out
Send the 15 signal to  85
Wait for zdtm/static/bridge(85) to die for 0.100000
Removing dump/zdtm/static/bridge/85
========================= Test zdtm/static/bridge PASS

> 
> As travis failed anyway, maybe it makes sense for v2 to add nanosleep() here?
> Just not to busyloop the system pointlessly with fork()s and all that.
> Maybe it doesn't make sense, not sure.
> But say the dad is slow by some reason - this version will punch the
> test system.
> A perfect solution would be to read netlink messages for intf.. But
> that's a zdtm
> test, not sure if it's worth to bother so much.
> 
> -- 
>              Dmitry


More information about the CRIU mailing list