<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div dir="auto">It was me.
<div dir="auto">The reason is explained in the patch description (you can find more details in description of the commit, introduced the hook).</div>
<div dir="auto">I'm waiting for khorenko@ to convince him, that the idea to &quot;podkovat' blohy&quot; was wrong by design and we should drop the hook.</div>
<div dir="auto">Once I succeed, I'll sent appropriate series to get rid of it completely.</div>
<div dir="auto">So this patch is temporary one, because too many tests have failed because of this race.</div>
<div dir="auto"><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">2 окт. 2017 г. 8:05 PM пользователь Andrey Vagin &lt;avagin@virtuozzo.com&gt; написал:<br type="attribution">
<blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><font size="2"><span style="font-size:10pt">
<div>On Mon, Oct 02, 2017 at 06:47:19PM &#43;0400, Stanislav Kinsburskiy wrote:<br>
&gt; This hook is needed only for releaseing venet IP address early (thus allowing<br>
&gt; to restart container with the same IP faster).<br>
&gt; But mount are destroyed asynchroniosly, and thus NFS mount can be destroyed<br>
&gt; after IP address is dropped.<br>
&gt; Let's fir this race it the way how all the world does things: release IP with<br>
&gt; network namespace.<br>
<br>
Why don't you remove this code? Who added this hook? What was a reason?<br>
<br>
&gt; <br>
&gt; <a href="https://jira.sw.ru/browse/PSBM-73193">https://jira.sw.ru/browse/PSBM-73193</a><br>
&gt; <br>
&gt; Signed-off-by: Stanislav Kinsburskiy &lt;skinsbursky@virtuozzo.com&gt;<br>
&gt; ---<br>
&gt;&nbsp; kernel/ve/ve.c |&nbsp;&nbsp;&nbsp; 3 &#43;&#43;-<br>
&gt;&nbsp; 1 file changed, 2 insertions(&#43;), 1 deletion(-)<br>
&gt; <br>
&gt; diff --git a/kernel/ve/ve.c b/kernel/ve/ve.c<br>
&gt; index b0188c3..4efb9d9 100644<br>
&gt; --- a/kernel/ve/ve.c<br>
&gt; &#43;&#43;&#43; b/kernel/ve/ve.c<br>
&gt; @@ -451,7 &#43;451,8 @@ static void ve_drop_context(struct ve_struct *ve)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; synchronize_rcu();<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; put_nsproxy(ve_ns);<br>
&gt;&nbsp; <br>
&gt; -&nbsp;&nbsp;&nbsp;&nbsp; ve_hook_iterate_fini(VE_SHUTDOWN_CHAIN, ve);<br>
&gt; &#43;&nbsp;&nbsp;&nbsp;&nbsp; /* This have to be revisited */<br>
&gt; &#43;//&nbsp;&nbsp; ve_hook_iterate_fini(VE_SHUTDOWN_CHAIN, ve);<br>
&gt;&nbsp; <br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; put_cred(ve-&gt;init_cred);<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ve-&gt;init_cred = NULL;<br>
&gt; <br>
&gt; _______________________________________________<br>
&gt; Devel mailing list<br>
&gt; Devel@openvz.org<br>
&gt; <a href="https://lists.openvz.org/mailman/listinfo/devel">https://lists.openvz.org/mailman/listinfo/devel</a><br>
</div>
</span></font></div>
</blockquote>
</div>
<br>
</div>
</body>
</html>