<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:17:28 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-1532] only allow FID_SEQ_NORMAL from clients</title>
                <link>https://jira.whamcloud.com/browse/LU-1532</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;sanity@r62-lustre lustre&amp;#93;&lt;/span&gt;$ echo &apos;Achievement unlocked.&apos; &amp;gt; .lustre/fid/&lt;span class=&quot;error&quot;&gt;&amp;#91;0xc:0x0:0x0&amp;#93;&lt;/span&gt;/SANITY&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;sanity@r62-lustre lustre&amp;#93;&lt;/span&gt;$ stat .lustre/fid/&lt;span class=&quot;error&quot;&gt;&amp;#91;0xc:0x0:0x0&amp;#93;&lt;/span&gt;/SANITY&lt;br/&gt;
  File: `.lustre/fid/&lt;span class=&quot;error&quot;&gt;&amp;#91;0xc:0x0:0x0&amp;#93;&lt;/span&gt;/SANITY&apos;&lt;br/&gt;
  Size: 22        	Blocks: 1          IO Block: 2097152 regular file&lt;br/&gt;
Device: 2c54f966h/743766374d	Inode: 144115205255725057  Links: 1&lt;br/&gt;
Access: (0664/&lt;del&gt;rw-rw-r&lt;/del&gt;-)  Uid: (  500/  sanity)   Gid: (  500/  sanity)&lt;br/&gt;
Access: 2012-06-15 15:06:07.000000000 -0500&lt;br/&gt;
Modify: 2012-06-15 15:06:05.000000000 -0500&lt;br/&gt;
Change: 2012-06-15 15:06:05.000000000 -0500&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;sanity@r62-lustre lustre&amp;#93;&lt;/span&gt;$ cat .lustre/fid/&lt;span class=&quot;error&quot;&gt;&amp;#91;0xc:0x0:0x0&amp;#93;&lt;/span&gt;/SANITY&lt;br/&gt;
Achievement unlocked.&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@r62-lustre lustre-release&amp;#93;&lt;/span&gt;# debugfs /dev/loop0&lt;br/&gt;
debugfs 1.41.90.wc4 (01-Sep-2011)&lt;br/&gt;
debugfs:  ls CONFIGS&lt;br/&gt;
 12  (12) .    2  (12) ..    13  (20) mountdata    15  (20) _mgs-sptlrpc   &lt;br/&gt;
 16  (24) lustre-client    17  (24) lustre-sptlrpc    18  (24) lustre-MDT0000   &lt;br/&gt;
 19  (24) lustre-params    21  (28) changelog_catalog   &lt;br/&gt;
 22  (44) changelog_users    93  (16) sptlrpc    95  (24) lustre-OST0000   &lt;br/&gt;
 96  (24) lustre-OST0001    100  (3800) SANITY   &lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;sanity@r62-lustre lustre&amp;#93;&lt;/span&gt;$ rm .lustre/fid/&lt;span class=&quot;error&quot;&gt;&amp;#91;0xc:0x0:0x0&amp;#93;&lt;/span&gt;/mountdata&lt;/p&gt;

&lt;p&gt;Message from syslogd@r62-lustre at Jun 15 15:09:26 ...&lt;br/&gt;
 kernel:LustreError: 2858:0:(osd_internal.h:665:osd_fid2oi()) ASSERTION( !fid_is_igif(fid) ) failed: &lt;/p&gt;

&lt;p&gt;Message from syslogd@r62-lustre at Jun 15 15:09:26 ...&lt;br/&gt;
 kernel:LustreError: 2858:0:(osd_internal.h:665:osd_fid2oi()) LBUG&lt;/p&gt;

</description>
                <environment># uname -r&lt;br/&gt;
2.6.32-220.13.1.el6.l22.x86_64&lt;br/&gt;
# 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--CHANGED-2.6.32-220.13.1.el6.l22.x86_64&lt;br/&gt;
</environment>
        <key id="14949">LU-1532</key>
            <summary>only allow FID_SEQ_NORMAL from clients</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.whamcloud.com/images/icons/priorities/blocker.svg">Blocker</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="tappro">Mikhail Pershin</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                            <label>fid</label>
                            <label>server</label>
                    </labels>
                <created>Fri, 15 Jun 2012 16:14:04 +0000</created>
                <updated>Tue, 29 Apr 2014 20:13:32 +0000</updated>
                            <resolved>Mon, 12 Nov 2012 18:31:25 +0000</resolved>
                                    <version>Lustre 2.4.0</version>
                    <version>Lustre 2.1.4</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="40719" author="liwei" created="Sun, 17 Jun 2012 22:21:22 +0000"  >&lt;p&gt;The osd_fid2oi() side effect is being fixed under &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-1534&quot; title=&quot;Test failure on test suite lfsck&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-1534&quot;&gt;&lt;del&gt;LU-1534&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="40794" author="pjones" created="Mon, 18 Jun 2012 18:28:23 +0000"  >&lt;p&gt;Mike&lt;/p&gt;

&lt;p&gt;Could you please look at this patch?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="40816" author="jhammond" created="Mon, 18 Jun 2012 21:22:00 +0000"  >&lt;p&gt;Hi Peter, Mike,&lt;/p&gt;

&lt;p&gt;Sorry I haven&apos;t had time to upload a patch on this one.  For newly created filesystems it may be as simple as changing the mode to 0755 when CONFIGS is created, but I haven&apos;t tried to see if this would have any unwanted side-effects.  For existing filesystems, a manual chmod may be the best solution.&lt;/p&gt;

&lt;p&gt;Note also that this issue applies to the OBJECTS and NIDTBL_VERSIONS directories.&lt;/p&gt;

&lt;p&gt;John&lt;/p&gt;</comment>
                            <comment id="44090" author="adilger" created="Mon, 3 Sep 2012 02:44:02 +0000"  >&lt;p&gt;The patch for &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;a href=&quot;http://review.whamcloud.com/3726&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/3726&lt;/a&gt;) blocks client access to FID_SEQ_DOT_LUSTRE for specific operations in order to prevent specific files in the .lustre tree from being renamed or otherwise modified.&lt;/p&gt;

&lt;p&gt;However, there are still a number of problems that may arise from clients accessing files in other FID_SEQ ranges.  A safer approach would be to allow client-&amp;gt;MDT access to only specific FID_SEQ ranges, and only open up those ranges if/when there is a specific need to do so.  That will make the MDT and OST &quot;safe by default&quot; instead of blocking problematic ranges of objects after the fact.&lt;/p&gt;


&lt;p&gt;A preliminary list of acceptable SEQ/FIDs for the MDT:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;&quot;ROOT&quot; (whatever specific FID it might be, as determined by MDT_GETSTATUS RPC and lookup-by-name)&lt;/li&gt;
	&lt;li&gt;FID_SEQ_ECHO (for mds-survey echo_client testing?)&lt;/li&gt;
	&lt;li&gt;FID_SEQ_IGIF..FID_SEQ_IGIF_MAX (only for filesystems that were upgraded from 1.8)&lt;/li&gt;
	&lt;li&gt;FID_SEQ_DOT_LUSTRE (blocked for specific operations at a lower level)&lt;/li&gt;
	&lt;li&gt;FID_SEQ_NORMAL&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The &quot;ROOT&quot; FID may have a variety of values (IGIF for 1.8 filesystems, one FID_SEQ_SPECIAL FID for new filesystems, FID_SEQ_NORMAL for filesystems upgraded by the Xyratex 2.x upgrade tool), so it should just be allowd regardless of what FID is actually in use.  This can be instantiated by the reply from the MDT_GETSTATUS RPC, which is doing a lookup-by-name and should be able to bypass the by-FID sanity checks.  Similarly, the FID_SEQ_IGIF range should only be allowed for upgraded 1.8 filesystems, otherwise it would allow access to any objects in the filesystem.&lt;/p&gt;

&lt;p&gt;I haven&apos;t thought of a good way to retroactively determine if the filesystem was newly formatted with 2.x vs. upgraded from 1.8 yet.  One possibility is to set an OBD_COMPAT_IGIF flag in the last_rcvd file if the filesystem is upgraded from 1.8 (i.e. missing OBD_COMPAT_20) or if some lookup-by-name/OI Scrub finds an inode with an IGIF FID.  Filesystems without OBD_COMPAT_IGIF set would refuse lookups by IGIF FIDs.&lt;/p&gt;

&lt;p&gt;There would have to be some delay in enforcing this restriction, since existing upgraded filesystems would not have it set and it might accidentally block IGIF lookups for previously-upgraded filesystems.  Maybe the setting of OBD_COMPAT_IGIF could be added for 2.1.4/2.3/master, and enforcement only in master?&lt;/p&gt;

&lt;p&gt;Acceptable SEQ/FIDs for the OST:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;FID_SEQ_OST_MDT0 (for legacy OST objects)&lt;/li&gt;
	&lt;li&gt;FID_SEQ_LLOG (do we still allow/need this for 2.4 OSTs?)&lt;/li&gt;
	&lt;li&gt;FID_SEQ_ECHO (obdfilter-survey testing)&lt;/li&gt;
	&lt;li&gt;FID_SEQ_IDIF..FID_SEQ_IDIF_MAX (for legacy OST objects)&lt;/li&gt;
	&lt;li&gt;FID_SEQ_NORMAL (for FID-on-OST)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Unlike the MDT, there is no need to block legacy FID_SEQ_OST_MDT0/FID_SEQ_IDIF objects from clients, since they cannot be used to access objects via a different FID namespace.&lt;/p&gt;</comment>
                            <comment id="46775" author="adilger" created="Fri, 19 Oct 2012 12:17:28 +0000"  >&lt;p&gt;This patch should fix this problem for the MDS: &lt;a href=&quot;http://review.whamcloud.com/4255&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/4255&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="47703" author="tappro" created="Mon, 12 Nov 2012 18:31:25 +0000"  >&lt;p&gt;Fixed by patch for &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-1531&quot; title=&quot;Accessing .lustre/fid/[0x1:0x0:0x0] triggers LBUG in osd_compat_objid_lookup()&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-1531&quot;&gt;&lt;del&gt;LU-1531&lt;/del&gt;&lt;/a&gt;:&lt;br/&gt;
&lt;a href=&quot;http://review.whamcloud.com/4255&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/4255&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="14997">LU-1549</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="14908">LU-1518</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                            <subtask id="15000">LU-1552</subtask>
                    </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|hzv2yn:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3979</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>
                                                                                                                                                    <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>