<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Vasiliy, good morning.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Indeed, I did not provide explanation of why this patch is required.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I've covered this on the meeting and Den told me in public that I'm good to go.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
When I was thinking of how to prepare the patch I've typed git log configs and</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
checked out how others perform config changes and did the same thing.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Here is the actual description:</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Docker uses overlayfs. Lately, I've been testing checkpoint/restore of fs notifications</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
that were setup on top of overlayfs. I've found out that criu is not able to dump</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
opened file descriptors of fanotify when nfs_export parameter is off. <br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
The details of that problem: <br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
at checkpoint/dump criu wants to dump fanotify fd and uses 'open_by_handle_at' with fhandle</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
of the subject descriptor. Kernel needs to decode fhandle to convert it to inode, for that it</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
uses mnt-&gt;mnt_sb-&gt;s_export_op-&gt;fh_to_dentry</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
For overlayfs mount s_export_op is only filled with valid exportfs function if nfs_export flag is true.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
nfs_export in its turn depends on index=on option.<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
One way to enable them is to extend mount options&nbsp; with string &quot;nfs_export=on,index=on&quot; during</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
call to mount. Another way which we discussed - is to tune defaults for both values to true.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Should I copy this description to commit message?<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Vasiliy Averin &lt;vvs@virtuozzo.com&gt;<br>
<b>Sent:</b> Wednesday, July 22, 2020 8:30 AM<br>
<b>To:</b> Konstantin Khorenko &lt;khorenko@virtuozzo.com&gt;; Denis Lunev &lt;den@virtuozzo.com&gt;<br>
<b>Cc:</b> Valeriy Vdovin &lt;Valeriy.Vdovin@virtuozzo.com&gt;; devel@openvz.org &lt;devel@openvz.org&gt;<br>
<b>Subject:</b> Re: [PATCH RHEL7] configs: set overlayfs nfs_export option to true</font>
<div>&nbsp;</div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Kostja, Den,<br>
could you please confirm,<br>
are we going to enable config options disabled in original RHEL7?<br>
It is tricky, because Red Hat did not tested it, <br>
its code can be broken right now or can get broken after following major updates.<br>
Are we going to prepare and run some special tests for overlayfs?<br>
<br>
Also, I would like to see any explanation why it is required,<br>
bug explain nothing.<br>
<br>
Thank you,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Vasily Averin<br>
<br>
On 7/21/20 7:57 PM, Valeriy Vdovin wrote:<br>
&gt; +CONFIG_OVERLAY_FS_INDEX=y<br>
&gt; +CONFIG_OVERLAY_FS_NFS_EXPORT=y<br>
&gt; <br>
&gt; <a href="https://jira.sw.ru/browse/PSBM-104961">https://jira.sw.ru/browse/PSBM-104961</a><br>
&gt; <br>
&gt; Signed-off-by: Valeriy Vdovin &lt;valeriy.vdovin@virtuozzo.com&gt;<br>
&gt; ---<br>
&gt;&nbsp; configs/kernel-3.10.0-x86_64-debug-minimal.config | 3 ++-<br>
&gt;&nbsp; configs/kernel-3.10.0-x86_64-debug.config&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | 3 ++-<br>
&gt;&nbsp; configs/kernel-3.10.0-x86_64-minimal.config&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | 3 ++-<br>
&gt;&nbsp; configs/kernel-3.10.0-x86_64.config&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | 3 ++-<br>
&gt;&nbsp; 4 files changed, 8 insertions(+), 4 deletions(-)<br>
&gt; <br>
&gt; diff --git a/configs/kernel-3.10.0-x86_64-debug-minimal.config b/configs/kernel-3.10.0-x86_64-debug-minimal.config<br>
&gt; index bb9e9bf..b7fc849 100644<br>
&gt; --- a/configs/kernel-3.10.0-x86_64-debug-minimal.config<br>
&gt; +++ b/configs/kernel-3.10.0-x86_64-debug-minimal.config<br>
&gt; @@ -3791,7 +3791,8 @@ CONFIG_FUSE_KIO_DEBUG=y<br>
&gt;&nbsp; CONFIG_OVERLAY_FS=y<br>
&gt;&nbsp; # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set<br>
&gt;&nbsp; CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y<br>
&gt; -# CONFIG_OVERLAY_FS_INDEX is not set<br>
&gt; +CONFIG_OVERLAY_FS_INDEX=y<br>
&gt; +CONFIG_OVERLAY_FS_NFS_EXPORT=y<br>
&gt;&nbsp; # CONFIG_OVERLAY_FS_XINO_AUTO is not set<br>
&gt;&nbsp; CONFIG_OVERLAY_FS_DYNAMIC_RESOLVE_PATH_OPTIONS=y<br>
&gt;&nbsp; CONFIG_OVERLAY_FS_PATH_OPTIONS_MNT_ID=y<br>
&gt; diff --git a/configs/kernel-3.10.0-x86_64-debug.config b/configs/kernel-3.10.0-x86_64-debug.config<br>
&gt; index d855033..f1f83f6 100644<br>
&gt; --- a/configs/kernel-3.10.0-x86_64-debug.config<br>
&gt; +++ b/configs/kernel-3.10.0-x86_64-debug.config<br>
&gt; @@ -5783,7 +5783,8 @@ CONFIG_CUSE=m<br>
&gt;&nbsp; CONFIG_OVERLAY_FS=m<br>
&gt;&nbsp; # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set<br>
&gt;&nbsp; # CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW is not set<br>
&gt; -# CONFIG_OVERLAY_FS_INDEX is not set<br>
&gt; +CONFIG_OVERLAY_FS_INDEX=y<br>
&gt; +CONFIG_OVERLAY_FS_NFS_EXPORT=y<br>
&gt;&nbsp; # CONFIG_OVERLAY_FS_XINO_AUTO is not set<br>
&gt;&nbsp; CONFIG_GENERIC_ACL=y<br>
&gt;&nbsp; <br>
&gt; diff --git a/configs/kernel-3.10.0-x86_64-minimal.config b/configs/kernel-3.10.0-x86_64-minimal.config<br>
&gt; index 2590c72..8dc256b 100644<br>
&gt; --- a/configs/kernel-3.10.0-x86_64-minimal.config<br>
&gt; +++ b/configs/kernel-3.10.0-x86_64-minimal.config<br>
&gt; @@ -3792,7 +3792,8 @@ CONFIG_FUSE_KIO_PCS=y<br>
&gt;&nbsp; CONFIG_OVERLAY_FS=y<br>
&gt;&nbsp; # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set<br>
&gt;&nbsp; CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y<br>
&gt; -# CONFIG_OVERLAY_FS_INDEX is not set<br>
&gt; +CONFIG_OVERLAY_FS_INDEX=y<br>
&gt; +CONFIG_OVERLAY_FS_NFS_EXPORT=y<br>
&gt;&nbsp; # CONFIG_OVERLAY_FS_XINO_AUTO is not set<br>
&gt;&nbsp; CONFIG_OVERLAY_FS_DYNAMIC_RESOLVE_PATH_OPTIONS=y<br>
&gt;&nbsp; CONFIG_OVERLAY_FS_PATH_OPTIONS_MNT_ID=y<br>
&gt; diff --git a/configs/kernel-3.10.0-x86_64.config b/configs/kernel-3.10.0-x86_64.config<br>
&gt; index c1bc94e..8e285b0 100644<br>
&gt; --- a/configs/kernel-3.10.0-x86_64.config<br>
&gt; +++ b/configs/kernel-3.10.0-x86_64.config<br>
&gt; @@ -5782,7 +5782,8 @@ CONFIG_CUSE=m<br>
&gt;&nbsp; CONFIG_OVERLAY_FS=m<br>
&gt;&nbsp; # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set<br>
&gt;&nbsp; # CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW is not set<br>
&gt; -# CONFIG_OVERLAY_FS_INDEX is not set<br>
&gt; +CONFIG_OVERLAY_FS_INDEX=y<br>
&gt; +CONFIG_OVERLAY_FS_NFS_EXPORT=y<br>
&gt;&nbsp; # CONFIG_OVERLAY_FS_XINO_AUTO is not set<br>
&gt;&nbsp; CONFIG_GENERIC_ACL=y<br>
&gt;&nbsp; <br>
&gt; <br>
</div>
</span></font></div>
</body>
</html>