<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:19:39 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-1783] sanity test_39l failed: atime is not updated</title>
                <link>https://jira.whamcloud.com/browse/LU-1783</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;This issue was created by maloo for sarah &amp;lt;sarah@whamcloud.com&amp;gt;&lt;/p&gt;

&lt;p&gt;This issue relates to the following test suite run: &lt;a href=&quot;https://maloo.whamcloud.com/test_sets/ed029fec-ec3b-11e1-ba25-52540035b04c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://maloo.whamcloud.com/test_sets/ed029fec-ec3b-11e1-ba25-52540035b04c&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The sub-test test_39l failed with the following error:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;atime is not updated from future: 1377057515, should be 1345521515&amp;lt;atime&amp;lt;1345521515&lt;/p&gt;&lt;/blockquote&gt;


&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;20:58:37:== sanity test 39l: directory atime update =========================================================== 20:58:35 (1345521515)
20:58:37:CMD: client-23vm3 lctl get_param -n mdd.*.atime_diff
20:58:38:flink
20:58:38:flink2
20:58:38:fopen
20:58:38:frename2
20:58:38:funlink
20:58:38: sanity test_39l: @@@@@@ FAIL: atime is not updated from future: 1377057515, should be 1345521515&amp;lt;atime&amp;lt;1345521515 
20:58:38:  Trace dump:
20:58:38:  = /usr/lib64/lustre/tests/test-framework.sh:3614:error_noexit()
20:58:38:  = /usr/lib64/lustre/tests/test-framework.sh:3636:error()
20:58:38:  = /usr/lib64/lustre/tests/sanity.sh:2503:test_39l()
20:58:38:  = /usr/lib64/lustre/tests/test-framework.sh:3869:run_one()
20:58:38:  = /usr/lib64/lustre/tests/test-framework.sh:3898:run_one_logged()
20:58:38:  = /usr/lib64/lustre/tests/test-framework.sh:3772:run_test()
20:58:38:  = /usr/lib64/lustre/tests/sanity.sh:2529:main()
20:58:38:Dumping lctl log to /logdir/test_logs/2012-08-20/lustre-master-el6-x86_64-sles11-x86_64__787__-7fad9a6fd1d8/sanity.test_39l.*.1345521516.log
20:58:38:CMD: client-23vm1,client-23vm2,client-23vm3,client-23vm4 /usr/sbin/lctl dk &amp;gt; /logdir/test_logs/2012-08-20/lustre-master-el6-x86_64-sles11-x86_64__787__-7fad9a6fd1d8/sanity.test_39l.debug_log.\$(hostname -s).1345521516.log;
20:58:38:         dmesg &amp;gt; /logdir/test_logs/2012-08-20/lustre-master-el6-x86_64-sles11-x86_64__787__-7fad9a6fd1d8/sanity.test_39l.dmesg.\$(hostname -s).1345521516.log
20:58:44:FAIL 39l (8s)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
</description>
                <environment>server: lustre-master-tag2.2.93 RHEL6&lt;br/&gt;
client: lustre-master-tag2.2.93 SLES11</environment>
        <key id="15578">LU-1783</key>
            <summary>sanity test_39l failed: atime is not updated</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="bogl">Bob Glossman</assignee>
                                    <reporter username="maloo">Maloo</reporter>
                        <labels>
                    </labels>
                <created>Thu, 23 Aug 2012 12:41:42 +0000</created>
                <updated>Fri, 8 Apr 2022 13:17:09 +0000</updated>
                                            <version>Lustre 2.3.0</version>
                    <version>Lustre 2.4.0</version>
                                    <fixVersion>Lustre 2.4.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>9</watches>
                                                                            <comments>
                            <comment id="43761" author="pjones" created="Sat, 25 Aug 2012 10:56:38 +0000"  >&lt;p&gt;As far as I can see this has only happened once and another issue is responsible for most of the failures on snaity. I am dropping the priority for now but we can reinstate as a blocker if we start seeing this more frequently. Please speak up if I have missed something.&lt;/p&gt;</comment>
                            <comment id="44147" author="sarah" created="Tue, 4 Sep 2012 13:45:49 +0000"  >&lt;p&gt;another failure: &lt;a href=&quot;https://maloo.whamcloud.com/test_sets/666b0c34-f24f-11e1-9def-52540035b04c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://maloo.whamcloud.com/test_sets/666b0c34-f24f-11e1-9def-52540035b04c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="45008" author="yujian" created="Mon, 17 Sep 2012 06:41:55 +0000"  >&lt;p&gt;Lustre build: &lt;a href=&quot;http://build.whamcloud.com/job/lustre-b2_3/19&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://build.whamcloud.com/job/lustre-b2_3/19&lt;/a&gt;&lt;br/&gt;
Distro/Arch: SLES11SP1/x86_64(client), RHEL6.3/x86_64(server)&lt;/p&gt;

&lt;p&gt;The same issue occurred again: &lt;a href=&quot;https://maloo.whamcloud.com/test_sets/005ddd18-005a-11e2-9f3c-52540035b04c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://maloo.whamcloud.com/test_sets/005ddd18-005a-11e2-9f3c-52540035b04c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="45065" author="pjones" created="Mon, 17 Sep 2012 13:54:32 +0000"  >&lt;p&gt;Bob will look into this one&lt;/p&gt;</comment>
                            <comment id="45160" author="bogl" created="Tue, 18 Sep 2012 14:29:50 +0000"  >&lt;p&gt;I have managed to reproduce this failure in the simplest possible context: 1 VM (el6) serving MGS/MDT/OSTs, 1 VM a sles11 client.  Have confirmed that the failure is specific  to a sles client, doesn&apos;t happen with an el6 client.   As far as I can see there is a behavior difference between sles and rhel clients.  It appears the &apos;lctl set_param -n ldlm.namespaces.*.lru_size=clear&apos; called from the cancel_lru_locks() function in the test flushes &amp;amp; updates the atime on the target dir in the rhel client, but not in the sles client.  I haven&apos;t been able to figure out why that is.  I have dmesg and debug logs from the failing test that I can post here.&lt;/p&gt;</comment>
                            <comment id="45239" author="bogl" created="Wed, 19 Sep 2012 18:54:25 +0000"  >&lt;p&gt;I&apos;ve tried adding some extra CDEBUG() to the atime case in ll_update_inode(), and only convinced myself that doing &apos;ls &amp;lt;dirname&amp;gt;&apos; on a lustre dir doesn&apos;t go down that code path.  I can see the debug if I do for instance &apos;touch &amp;lt;dirname&amp;gt;&apos;, but that isn&apos;t what the failing test case does.&lt;/p&gt;

&lt;p&gt;Looking at the call sequence down from linux, ls &amp;lt;dir&amp;gt; appears to go thru vfs_readdir() &lt;del&gt;&amp;gt; file&lt;/del&gt;&amp;gt;f_op-&amp;gt;readdir() -&amp;gt; ll_readdir().  Immediately on return from ll_readdir() linux calls file_accessed(), which at the very least updates atime in-memory.  This is true in both el6 and sles11 source, which look quite similar in this area.  I haven&apos;t been able to spot any obvious differences.&lt;/p&gt;

&lt;p&gt;Spent a lot of time examining client debug logs from both el6 and sles11.  Haven&apos;t been able to dig out what the significant difference is, if any.  Have reduced the failing test case down to a small subset:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;stat -c %X /mnt/lustre/tdir    #see atime of test dir before starting

#wait &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; a few seconds

lctl clean
ls /mnt/lustre/tdir     #cause atime update
cancel_lru_locks mdc    #should flush out the time change
stat -c %X /mnt/lustre/tdir   #see atime after the test
lctl dk dklog.$(date +%s)  #collect debug log of just the test activity
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;On el6 client this behaves correctly with the atime on the test dir updated.  On sles11 the atime stays at same value as before starting, it doesn&apos;t advance.&lt;/p&gt;

&lt;p&gt;Restricting the logs collected to just this minimum keeps them manageably small, even with debug set to -1.  In spite of that still can&apos;t see where the significant difference is.&lt;/p&gt;</comment>
                            <comment id="45278" author="bogl" created="Thu, 20 Sep 2012 14:28:23 +0000"  >&lt;p&gt;More or less determined that it&apos;s something inside sles guts that denies atime updates. Since this problem is only seen in sles11 SP1 clients and sles11 SP1 is already out of support, for now we will just skip this subtest in sles11 SP1 clients.  I plan to submit a patch to do that in sanity.sh soon.&lt;/p&gt;

&lt;p&gt;May revisit this issue if it still shows up in sles11 SP2.&lt;/p&gt;</comment>
                            <comment id="45280" author="bogl" created="Thu, 20 Sep 2012 14:43:56 +0000"  >&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/4062&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/4062&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="45303" author="keith" created="Thu, 20 Sep 2012 18:06:30 +0000"  >&lt;p&gt;Bob have you confirmed you don&apos;t see this issue with SP2? &lt;/p&gt;</comment>
                            <comment id="45305" author="bogl" created="Thu, 20 Sep 2012 18:15:48 +0000"  >&lt;p&gt;Keith, No I haven&apos;t.  Don&apos;t yet have an instance of SP2 to test with.  If I ever get one I will check.&lt;/p&gt;</comment>
                            <comment id="45379" author="pjones" created="Sat, 22 Sep 2012 01:10:05 +0000"  >&lt;p&gt;Dropping priority. Will aim to re-test this for SLES11 SP2&lt;/p&gt;</comment>
                            <comment id="47339" author="sarah" created="Fri, 2 Nov 2012 19:02:16 +0000"  >&lt;p&gt;another failure on lustre-master build# 1011:&lt;br/&gt;
&lt;a href=&quot;https://maloo.whamcloud.com/test_sets/d0072b9c-2534-11e2-9e7c-52540035b04c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://maloo.whamcloud.com/test_sets/d0072b9c-2534-11e2-9e7c-52540035b04c&lt;/a&gt;&lt;/p&gt;
</comment>
                            <comment id="47935" author="bogl" created="Fri, 16 Nov 2012 11:15:47 +0000"  >&lt;p&gt;another failure, this one in SLES11 SP2&lt;br/&gt;
&lt;a href=&quot;https://maloo.whamcloud.com/test_sets/405b4216-2fcb-11e2-866f-52540035b04c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://maloo.whamcloud.com/test_sets/405b4216-2fcb-11e2-866f-52540035b04c&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Will have to extend the test fix to skip this test for SP2 as well.&lt;br/&gt;
Or else a kernel expert will need to dig in to see how SLES differs from RHEL with respect to atime updates.&lt;/p&gt;</comment>
                            <comment id="47936" author="bogl" created="Fri, 16 Nov 2012 11:49:26 +0000"  >&lt;p&gt;test revision to skip the subtest for all SLES11 SPs&lt;br/&gt;
&lt;a href=&quot;http://review.whamcloud.com/4605&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/4605&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="48135" author="adilger" created="Tue, 20 Nov 2012 16:29:28 +0000"  >&lt;p&gt;Bob, is it possible that SLES clients mount with &quot;relatime&quot; enabled by default?  That is a mount option that is somewhere between &quot;atime enabled&quot; and &quot;noatime&quot;.  With &quot;relatime&quot; the atime will only be updated if the file is accessed and the atime is older than &quot;mtime&quot; on the directory.  This could be checked by explicitly mounting the SLES client with the &quot;atime&quot; option.&lt;/p&gt;</comment>
                            <comment id="48139" author="bogl" created="Tue, 20 Nov 2012 17:00:36 +0000"  >&lt;p&gt;I will revisit to make sure, but I think I tried all permutations of explicit mount options &lt;/p&gt;
{no}atime and {no}
&lt;p&gt;relatime.  mounting with -o relatime showed that option in mount -v. It didn&apos;t show in a default mount.  None of the options made the atime flush as it does in el6 client.&lt;/p&gt;
</comment>
                            <comment id="48145" author="bogl" created="Tue, 20 Nov 2012 18:11:25 +0000"  >&lt;p&gt;Andreas, turns out you are correct.  In SuSE it looks like a lustre mount always mounts with relatime.  This option shows up only in &apos;cat /proc/mounts&apos;, not in mount -v.&lt;/p&gt;

&lt;p&gt;In addition in spite of being listed in the mount(8) man page, none of the command line options of atime, strictatime, or &lt;/p&gt;
{no}
&lt;p&gt;relatime have any effect on the mount.  Some aren&apos;t even accepted, cause the the mount command to fail with Invalid argument.  Others are silently accepted, but have no effect.  cat /proc/mounts still shows the lustre mount has the relatime option set.&lt;/p&gt;

&lt;p&gt;All of those options appear to really work as advertised in el6.&lt;/p&gt;</comment>
                            <comment id="48153" author="bogl" created="Tue, 20 Nov 2012 19:15:32 +0000"  >&lt;p&gt;I think this problem in SLES may be a build problem in mount.lustre.  If I add an explicit #include of &amp;lt;linux/fs.h&amp;gt; to the source additional conditional options get compiled into the SLES version of mount.lustre.  Now a mount with no options has relatime not set, and all the extra options defined in the man page get recognized &amp;amp; actually work.&lt;/p&gt;

&lt;p&gt;I will submit a patch with this 1 line fix and tear out the skip of test 39l.&lt;/p&gt;</comment>
                            <comment id="48502" author="adilger" created="Wed, 28 Nov 2012 16:35:47 +0000"  >&lt;p&gt;Seems that this was originally fixed for RHEL6 with &lt;a href=&quot;https://bugzilla.lustre.org/show_bug.cgi?id=24198&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://bugzilla.lustre.org/show_bug.cgi?id=24198&lt;/a&gt; and is now hit on SLES11SP2 as well.  The problem is that the kernel defaults to MS_RELATIME, and this causes test_39l to fail to reset an atime in the future.&lt;/p&gt;

&lt;p&gt;Forcing MS_STRICTATIME on all Lustre clients is undesirable, since it adds to the overhead on the client, but since atime handling is done in the VFS we need an upstream patch.&lt;/p&gt;

&lt;p&gt;It looks like Yang Sheng sent a patch upstream for this in &lt;a href=&quot;http://lkml.org/lkml/2011/1/4/88&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://lkml.org/lkml/2011/1/4/88&lt;/a&gt; 22 months ago, which got generally favorable reviews, but had a small typo in the comment.  That patch needs to be updated to the latest kernel, fix the typo, and preferably wrap the &quot;future atime check&quot; in unlikely() since this will indeed be very unlikely to happen.&lt;/p&gt;

&lt;p&gt;Andrew Morton also requested that the patch have a better commit comment:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;Relatime should update the inode atime if it is more than a day in the
future.  The original problem seen was a tarball that had a bad atime,
but could also happen if someone fat-fingers a &quot;touch&quot;.  The future
atime will never be fixed.  Before the relatime patch, the future atime
would be updated back to the current time on the next access.

Only update the atime if it is more than one day in the future.  That
avoids thrashing the atime if the clocks on clients of a network fs are
only slightly out of sync, but still allows fixing bogus atimes.
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Please also CC &lt;tt&gt;stable@vger.kernel.org&lt;/tt&gt; so that the patch is more likely to be backported to vendor kernels.&lt;/p&gt;</comment>
                            <comment id="151241" author="rread" created="Thu, 5 May 2016 20:07:41 +0000"  >&lt;p&gt;It&apos;s been a while since this has been updated. Has the fix landed upstream now? &lt;/p&gt;</comment>
                            <comment id="151262" author="adilger" created="Thu, 5 May 2016 23:17:42 +0000"  >&lt;p&gt;I tried to submit an updated patch upstream (&lt;a href=&quot;http://www.spinics.net/lists/linux-fsdevel/msg60515.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.spinics.net/lists/linux-fsdevel/msg60515.html&lt;/a&gt;), but it wasn&apos;t accepted due to minor complaints about the patch description and implementation.  I didn&apos;t get around to resubmitting it at the time, and I suspect there will be a general apathy about changing the behaviour of a patch that landed 7 years ago.&lt;/p&gt;

&lt;p&gt;It probably makes more sense to remove forcing &lt;tt&gt;MS_STRICTATIME&lt;/tt&gt; in &lt;tt&gt;mount.lustre&lt;/tt&gt; and change the MDD to default to &lt;tt&gt;MAX_ATIME_DIFF=24*3600&lt;/tt&gt; to match the kernel relatime and honor the &quot;(which will improve normal filesystem performance due to reduced atime updates) and then change sanity.sh test_39l to remove the check for setting atime backward from the future on normal access since it seems people don&apos;t care about this very much.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="23626">LU-4765</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69602">LU-15728</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                    <customfield id="customfield_10020" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Bugzilla ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>24198.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzv5hr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4424</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>