<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:17: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-1553] inaccessible files in .lustre</title>
                <link>https://jira.whamcloud.com/browse/LU-1553</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;root can create files in the .lustre directory which are inaccessible.  The definition of mdo_create() is such that the function called belongs to the child not the parent:&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;static inline int mdo_create(env, p, lchild_name, c, spc, at)
{
        LASSERT(c-&amp;gt;mo_dir_ops-&amp;gt;mdo_create);
        return c-&amp;gt;mo_dir_ops-&amp;gt;mdo_create(env, p, lchild_name, c, spc, at);
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This means that dot_lustre_mdd_object_create() can never be called to prevent creation in .lustre.  (Some of the other wrappers, including mdo_unlink(), are also defined way.)&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]# sys_stat -x .lustre
dev              2c54f966
ino                  61ac
mode                 41ed
nlink                   2
uid                     0
gid                     0
rdev                    0
size                 1000
blksize              1000
blocks                  8
atime            4fe386ed
mtime            4fe386ed
ctime            4fe386ed
[root]# sys_getdents -x .lustre
d  200000002000001 `.&apos;
d             61ab `..&apos;
[root]# sys_creat .lustre/RABBIT
[root]# sys_getdents -x .lustre
r  200000400000001 `RABBIT&apos;
d  200000002000001 `.&apos;
d             61ab `..&apos;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Since lookup is special for .lustre, these objects cannot be accessed once created.&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]# sys_stat -x .lustre/RABBIT
cannot stat `.lustre/RABBIT&apos;: No such file or directory
[root]# sys_open .lustre/RABBIT r
cannot open `.lustre/RABBIT&apos; with flags 0, mode 0666: No such file or directory
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;As with &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-1550&quot; title=&quot;open-by-fid getdents may return inconsistend data&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-1550&quot;&gt;&lt;del&gt;LU-1550&lt;/del&gt;&lt;/a&gt;, if the .lustre directory is accessed by FID, then it behaves differently.&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]# sys_stat -x .lustre/fid/[0x200000002:0x1:0x0]/RABBIT
dev              2c54f966
ino       200000400000001
mode                 81a4
nlink                   1
uid                     0
gid                     0
rdev                    0
size                    0
blksize            200000
blocks                  0
atime            4fe38760
mtime            4fe38760
ctime            4fe38760
[root]# sys_open .lustre/fid/[0x200000002:0x1:0x0]/RABBIT r
[root]# sys_unlink .lustre/fid/[0x200000002:0x1:0x0]/RABBIT
[root]# sys_getdents -x .lustre/fid/[0x200000002:0x1:0x0]
d  200000002000001 `.&apos;
d             61ab `..&apos;
[root]# sys_getdents -x .lustre
r  200000400000001 `RABBIT&apos;
d  200000002000001 `.&apos;
d             61ab `..&apos;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Note that path2fid on .lustre does not return LU_DOT_LUSTRE_FID, and hence that the md_object created in create_dot_lustre_dir() and the dt_object() accessed in mdd_dot_lustre_setup() are connected only by their backing inode:&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]# lfs path2fid .lustre
[0x61ac:0x2e5cf44d:0x0]
[root]# sys_stat -x .lustre/fid
dev              2c54f966
ino       200000002000002
mode                 41ed
nlink                   2
uid                     0
gid                     0
rdev                    0
size                 1000
blksize              1000
blocks                  8
atime            4fe387b3
mtime            4fe38760
ctime            4fe38760
[root]# sys_stat -x .lustre/fid/[0x200000002:0x1:0x0]/fid
cannot stat `.lustre/fid/[0x200000002:0x1:0x0]/fid&apos;: No such file or directory
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment># cat /proc/fs/lustre/version &lt;br/&gt;
lustre: 2.2.57&lt;br/&gt;
kernel: patchless_client&lt;br/&gt;
build:  2.2.57-ge827449-CHANGED-2.6.32-220.23.1.el6.l2.2.55&lt;br/&gt;
</environment>
        <key id="15001">LU-1553</key>
            <summary>inaccessible files in .lustre</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>
                    </labels>
                <created>Thu, 21 Jun 2012 17:03:30 +0000</created>
                <updated>Thu, 18 Apr 2013 18:47:37 +0000</updated>
                            <resolved>Thu, 18 Apr 2013 18:47:37 +0000</resolved>
                                    <version>Lustre 2.3.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                            <comments>
                            <comment id="41015" author="adilger" created="Thu, 21 Jun 2012 22:30:04 +0000"  >&lt;p&gt;Users shouldn&apos;t be allowed to create files in the .lustre directory.  This is intended for files with &quot;special meanings&quot; (snapshots, etc).&lt;/p&gt;</comment>
                            <comment id="41519" author="adilger" created="Thu, 5 Jul 2012 15:34:32 +0000"  >&lt;p&gt;These bugs are symptoms that internal files should not be accessible through .lustre.&lt;/p&gt;</comment>
                            <comment id="47688" author="rhenwood" created="Mon, 12 Nov 2012 12:19:38 +0000"  >&lt;p&gt;On current master, I could not create complete the &lt;tt&gt;sys_creat&lt;/tt&gt; within &lt;tt&gt;.lustre/&lt;/tt&gt;&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@lmaster-124 lustre]# sys_stat -x .lustre
dev              2c54f966
ino                  c37a
mode                 41ed
nlink                   2
uid                     0
gid                     0
rdev                    0
size                 1000
blksize              1000
blocks                  8
atime            50a12bab
mtime            50a12bab
ctime            50a12bab
[root@lmaster-124 lustre]# sys_getdents -x .lustre
d  200000002000001 `.&apos;
d             c378 `..&apos;
[root@lmaster-124 lustre]# sys_creat .lustre/RABBIT
sys_creat: cannot create `.lustre/RABBIT&apos; with mode 0666: Operation not permitted
[root@lmaster-124 lustre]# sys_getdents -x .lustre
d  200000002000001 `.&apos;
d             c378 `..&apos;
[root@lmaster-124 lustre]#
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Assuming this issue has been resolved by the resolution of &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-1518&quot; title=&quot;Missing/bad operations in mdd_{obf,dot_lustre}_obj_op causing LBUGs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-1518&quot;&gt;&lt;del&gt;LU-1518&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <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|hzvgtz:</customfieldvalue>

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