<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:17:37 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-1549] open-unlinked files are accessible through the PENDING directory</title>
                <link>https://jira.whamcloud.com/browse/LU-1549</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Open-unlinked files can be read (depending on inode/process permissions) through the PENDING 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;root]# w# cat /proc/fs/lustre/version
lustre: 2.2.55
kernel: patchless_client
build:  2.2.55-gef32640-CHANGED-2.6.32-220.13.1.el6.l22.x86_64
hoami
root
[root]# cd /mnt/lustre
[root]# lsof /mnt/lustre
COMMAND   PID   USER   FD   TYPE      DEVICE SIZE/OFF  NODE NAME
lsof     4392   root  cwd    DIR 1273,181606   376832 25003 /mnt/lustre
lsof     4393   root  cwd    DIR 1273,181606   376832 25003 /mnt/lustre
bash    20096   root  cwd    DIR 1273,181606   376832 25003 /mnt/lustre
bash    21418 sanity  cwd    DIR 1273,181606   376832 25003 /mnt/lustre
[root]# echo SEACREST &amp;gt; PASSWORD
[root]# exec 3&amp;lt;PASSWORD
[root]# rm -f PASSWORD
[root]# lsof /mnt/lustre
COMMAND   PID   USER   FD   TYPE      DEVICE SIZE/OFF               NODE NAME
lsof     4575   root  cwd    DIR 1273,181606   376832              25003 /mnt/lustre
lsof     4576   root  cwd    DIR 1273,181606   376832              25003 /mnt/lustre
bash    20096   root  cwd    DIR 1273,181606   376832              25003 /mnt/lustre
bash    20096   root    3r   REG 1273,181606        9 144115206094586102 /mnt/lustre/PASSWORD (dele\
ted)
bash    21418 sanity  cwd    DIR 1273,181606   376832              25003 /mnt/lustre
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;sys_getdents is equivalent to `ls -ia&apos; but prints d_type as well.&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;[sanity]$ whoami
sanity
[sanity]$ cd /mnt/lustre
[sanity]$ sys_getdents -x .
d  200000001000006 `.&apos;
d  20000000100000d `..&apos;
d             61ac `.lustre&apos;
[sanity]$ sys_getdents -x .lustre/fid/[0x200000001:0xd:0x0] | grep ^d
d                c `CONFIGS&apos;
d          b000000 `lost+found&apos;
d          2000000 `.&apos;
d             61ab `ROOT&apos;
d          2000000 `..&apos;
d             61a9 `OBJECTS&apos;
d             61aa `PENDING&apos;
d                e `NIDTBL_VERSIONS&apos;
[sanity]$ cd .lustre/fid/[0x200000001:0xd:0x0]/PENDING
[sanity]$ sys_getdents -x . ## PENDING dirpages not cache coherent.
d  200000001000007 `.&apos;
r  2000004320000a2 `0000000200000432:000000a2:00000000: 0&apos;
d  20000000100000d `..&apos;
[sanity]$ cat &apos;0000000200000432:000000a2:00000000: 0&apos;
cat: 0000000200000432:000000a2:00000000: 0: No such file or directory
[sanity]$ stat &apos;0000000200000432:000000a2:00000000: 0&apos;
stat: cannot stat `0000000200000432:000000a2:00000000: 0&apos;: No such file or directory
$ touch SANITY ## Force PENDING dirpages to be reread.
touch: cannot touch `SANITY&apos;: Permission denied
$ sys_getdents -x .
r  2000004320000f6 `0000000200000432:000000f6:00000000: 0&apos;
d  200000001000007 `.&apos;
d  20000000100000d `..&apos;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;We can&apos;t open these files unless we stat() (or accesss()) them first.&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;$ cat &apos;0000000200000432:000000f6:00000000: 0&apos;
cat: 0000000200000432:000000f6:00000000: 0: No such file or directory
$ stat &apos;0000000200000432:000000f6:00000000: 0&apos;
  File: `0000000200000432:000000f6:00000000: 0&apos;
  Size: 9                                    Blocks: 8          IO Block: 2097152 regular file
Device: 2c54f966h/743766374d                 Inode: 144115206094586102  Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2012-06-20 16:24:14.000000000 -0500
Modify: 2012-06-20 16:24:14.000000000 -0500
Change: 2012-06-20 16:24:21.000000000 -0500
$ cat &apos;0000000200000432:000000f6:00000000: 0&apos;
SEACREST
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;In 2.1.2, I&apos;m not sure how to access the ldiskfs root, but the FID of&lt;br/&gt;
the PENDING directory can be guessed from that of the ROOT (maybe it&apos;s&lt;br/&gt;
always the same anyway).&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;[sanity]$ lfs path2fid .
[0x61ab:0x46d01c7d:0x0]
$ sys_getdents -x .lustre/fid/[0x61aa:0x46d01c7c:0x0]
r  200000400000001 `0000000200000400:00000001:00000000: 0&apos;
d             61aa `.&apos;
d          2000000 `..&apos;
[sanity]$ cat &apos;.lustre/fid/[0x61aa:0x46d01c7c:0x0]/0000000200000400:00000001:00000000: 0&apos;
SEACREST
&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&lt;br/&gt;
</environment>
        <key id="14997">LU-1549</key>
            <summary>open-unlinked files are accessible through the PENDING directory</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="3">Duplicate</resolution>
                                        <assignee username="keith">Keith Mannthey</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                            <label>fid</label>
                    </labels>
                <created>Thu, 21 Jun 2012 14:04:38 +0000</created>
                <updated>Tue, 29 Apr 2014 20:13:22 +0000</updated>
                            <resolved>Mon, 3 Sep 2012 01:31:42 +0000</resolved>
                                    <version>Lustre 2.3.0</version>
                    <version>Lustre 2.1.2</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                            <comments>
                            <comment id="41504" author="green" created="Thu, 5 Jul 2012 14:50:24 +0000"  >&lt;p&gt;I kind of think this is not all that important.&lt;/p&gt;

&lt;p&gt;If I am the user and one of my processes deleted some file while holding it open, and there is a way to access the file anyway - I can always attach to the process holding the file open and get access that way.&lt;/p&gt;</comment>
                            <comment id="41521" author="adilger" created="Thu, 5 Jul 2012 15:36:30 +0000"  >&lt;p&gt;These bugs are symptoms that internal files and directories should not be accessible through .lustre.&lt;/p&gt;</comment>
                            <comment id="41548" author="adilger" created="Thu, 5 Jul 2012 21:18:05 +0000"  >&lt;p&gt;This is related to the &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; bug Keith is already working on.&lt;/p&gt;</comment>
                            <comment id="44088" author="adilger" created="Mon, 3 Sep 2012 01:31:17 +0000"  >&lt;p&gt;This is really a duplicate of &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-1532&quot; title=&quot;only allow FID_SEQ_NORMAL from clients&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-1532&quot;&gt;&lt;del&gt;LU-1532&lt;/del&gt;&lt;/a&gt; - clients should be allowed to access files that are not in FID_SEQ_NORMAL (with a few exceptions).&lt;/p&gt;</comment>
                            <comment id="44089" author="adilger" created="Mon, 3 Sep 2012 01:31:42 +0000"  >&lt;p&gt;This will also be handled in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-1532&quot; title=&quot;only allow FID_SEQ_NORMAL from clients&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-1532&quot;&gt;&lt;del&gt;LU-1532&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="14949">LU-1532</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|hzvf6n:</customfieldvalue>

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