<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:17:38 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-1550] open-by-fid getdents may return inconsistend data</title>
                <link>https://jira.whamcloud.com/browse/LU-1550</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;getdents() on lustre client mount returns inconsistent/bad data.  According to stat(), the /mnt/lustre inode has ino 0x61ab:&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;[root@r62-lustre lustre]# sys_stat -x /mnt/lustre
dev              2c54f966
ino                  61ab
mode                 41ed
nlink                   3
uid                     0
gid                     0
rdev                    0
size                 1000
blksize              1000
blocks                  8
atime            4fe3593b
mtime            4fe363e7
ctime            4fe363e7
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;While according to getdents() it does not.  Instead we get the ino based on its &lt;br/&gt;
FID. (Note that the output of `ls -ai /mnt/lustre&apos; is not based&lt;br/&gt;
entirely on the output of getdents().)&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;[root@r62-lustre lustre]# sys_getdents -x /mnt/lustre
d             61ac `.lustre&apos;
d  20000000100000d `..&apos;
d  200000001000006 `.&apos;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Also for a mount point shouldn&apos;t the entries for &apos;.&apos; and &apos;..&apos; have the same d_ino?&lt;/p&gt;

&lt;p&gt;Calling path2fid on /mnt/lustre returns &lt;span class=&quot;error&quot;&gt;&amp;#91;0x61ab:0xc04ebc0f:0x0&amp;#93;&lt;/span&gt;, and&lt;br/&gt;
accessing /mnt/lustre thereby seems OK.  However the FID derived from&lt;br/&gt;
the d_ino for &apos;.&apos; in /mnt/lustre offers a cache-incoherent view on&lt;br/&gt;
that directory:&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;# cd /mnt/lustre
[root]# stat .
  File: `.&apos;
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: 2c54f966h/743766374d    Inode: 25003       Links: 3
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2012-06-21 12:26:19.000000000 -0500
Modify: 2012-06-21 13:11:51.000000000 -0500
Change: 2012-06-21 13:11:51.000000000 -0500
[root]# stat .lustre/fid/[0x200000001:0x6:0x0]
  File: `.lustre/fid/[0x200000001:0x6:0x0]&apos;
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: 2c54f966h/743766374d    Inode: 144115188092633094  Links: 3
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2012-06-21 13:39:08.000000000 -0500
Modify: 2012-06-21 13:39:19.000000000 -0500
Change: 2012-06-21 13:39:19.000000000 -0500

[root]# cd /mnt/lustre
[root]# ls -a
.  ..  .lustre
[root]# ls -a .lustre/fid/[0x200000001:0x6:0x0]
.  ..  .lustre

[root]# touch FOO
[root]# ls -a
.  ..  FOO  .lustre
[root]# ls -a .lustre/fid/[0x200000001:0x6:0x0]
.  ..  .lustre

[root]# touch .lustre/fid/[0x200000001:0x6:0x0]/BAR
[root]# ls -a
.  ..  FOO  .lustre
[root]# ls -a .lustre/fid/[0x200000001:0x6:0x0]
.  ..  BAR  FOO  .lustre

[root]# touch BAZ
[root]# ls -a
.  ..  BAR  BAZ  FOO  .lustre
[root]# ls -a .lustre/fid/[0x200000001:0x6:0x0]
.  ..  BAR  FOO  .lustre
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment># cat /proc/fs/lustre/version &lt;br/&gt;
lustre: 2.2.55&lt;br/&gt;
kernel: patchless_client&lt;br/&gt;
build:  2.2.55-gef32640-CHANGED-2.6.32-220.13.1.el6.l22.x86_64</environment>
        <key id="14998">LU-1550</key>
            <summary>open-by-fid getdents may return inconsistend data</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="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="wc-triage">WC Triage</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                            <label>fid</label>
                            <label>readdir</label>
                    </labels>
                <created>Thu, 21 Jun 2012 15:01:29 +0000</created>
                <updated>Tue, 29 Apr 2014 22:07:51 +0000</updated>
                            <resolved>Tue, 5 Feb 2013 18:08:00 +0000</resolved>
                                    <version>Lustre 2.3.0</version>
                    <version>Lustre 2.1.2</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="41006" author="adilger" created="Thu, 21 Jun 2012 15:07:17 +0000"  >&lt;p&gt;This is the same issue as I reported in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-838&quot; title=&quot;&amp;quot;lfs path2fid /mnt/lustre&amp;quot; (ROOT) returns inode number&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-838&quot;&gt;&lt;del&gt;LU-838&lt;/del&gt;&lt;/a&gt;, but this one has much better detail.&lt;/p&gt;</comment>
                            <comment id="41517" author="adilger" created="Thu, 5 Jul 2012 15:33:43 +0000"  >&lt;p&gt;These bugs are symptoms that internal files should not be accessible through .lustre.&lt;/p&gt;</comment>
                            <comment id="59124" author="adilger" created="Wed, 22 May 2013 23:09:30 +0000"  >&lt;p&gt;Ned, is this still the case with a 2.4 filesystem?  I&apos;d hope that the changes under &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-838&quot; title=&quot;&amp;quot;lfs path2fid /mnt/lustre&amp;quot; (ROOT) returns inode number&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-838&quot;&gt;&lt;del&gt;LU-838&lt;/del&gt;&lt;/a&gt; and LFSCK would have fixed this problem.&lt;/p&gt;</comment>
                            <comment id="59129" author="nedbass" created="Wed, 22 May 2013 23:52:03 +0000"  >&lt;p&gt;Andreas, no I don&apos;t have any first hand knowledge of this bug.&lt;/p&gt;

&lt;p&gt;I added the &quot;dotlustre&quot; label to several Jira issues that discuss the &quot;.lustre&quot; directory, purely for my own research purposes (hope that&apos;s OK).  I&apos;m trying to piece together what this mysterious directory is for and what interfaces it supports. If it is documented somewhere I haven&apos;t been able to find it.   It seems &quot;open by fid&quot; is the primary (only?) interface for now.  It would be great if the Lustre manual contained some explanation, particularly since it shows up in the user-visible namespace, but that&apos;s an issue for LUDOC.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="12438">LU-838</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="14908">LU-1518</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <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|hzvoin:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>7793</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>