<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:48:41 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-11988] Some lctl *_param values only readable by root</title>
                <link>https://jira.whamcloud.com/browse/LU-11988</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Some lustre stats that used to be in /proc now reside in debugfs.&#160; This seems all for the better, but it looks like the lctl &lt;span class=&quot;error&quot;&gt;&amp;#91;get|set|list&amp;#93;&lt;/span&gt;_param commands were not updated to look for the values in the new location.&#160; Since the lctl *_param functions are meant to make these kinds of moves transparent to users, we think it is important to have lctl look in debugfs as well.&lt;/p&gt;

&lt;p&gt;For example, in going from 2.10 to 2.12, we noticed that &apos;llite.*.stats&apos; seem to have disappeared (but really are just hiding in debugfs):&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;$ lctl get_param &apos;llite.*.stats&apos;
error: get_param: param_path &apos;llite/*/stats&apos;: No such file or directory
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="54948">LU-11988</key>
            <summary>Some lctl *_param values only readable by root</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</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="pfarrell">Patrick Farrell</assignee>
                                    <reporter username="morrone">Christopher Morrone</reporter>
                        <labels>
                            <label>llnl</label>
                    </labels>
                <created>Thu, 21 Feb 2019 21:38:00 +0000</created>
                <updated>Mon, 25 Feb 2019 18:24:41 +0000</updated>
                            <resolved>Mon, 25 Feb 2019 18:24:41 +0000</resolved>
                                    <version>Lustre 2.12.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="242481" author="pfarrell" created="Thu, 21 Feb 2019 21:55:19 +0000"  >&lt;p&gt;Hmm, it does look there, and has since well before 2.12.&#160; lctl finds the llite stats just fine on my node here, and it&apos;s definitely in debugfs.&lt;/p&gt;

&lt;p&gt;Let&apos;s check a few things.&lt;/p&gt;

&lt;p&gt;cat /proc/version&lt;/p&gt;

&lt;p&gt;mount -t lustre&lt;br/&gt;
lctl --version&lt;/p&gt;

&lt;p&gt;Verify the file is really there in debugfs - maybe debugfs isn&apos;t mounted or Lustre isn&apos;t mounted or something else is weird...?&lt;/p&gt;

&lt;p&gt;Show the exact path in debugfs, in case something odd is up with that...?&lt;/p&gt;

&lt;p&gt;Then, strace -v your lctl get_param command, and let&apos;s see if we learn anything else.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;BTW, this is the patch that added it:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-5030&quot; title=&quot;&amp;quot;lctl {get,set}_param&amp;quot; should also check in /sys/fs/{lnet,lustre}&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-5030&quot;&gt;&lt;del&gt;LU-5030&lt;/del&gt;&lt;/a&gt; libcfs: create cfs_get_paths() function&lt;/p&gt;

&lt;p&gt;With the move of the upstream client to sysfs the&lt;br/&gt;
 lustre and lnet utilites no long should directly&lt;br/&gt;
 access the proc file system. To avoid this a new&lt;br/&gt;
 function is created to support both the traditional&lt;br/&gt;
 procfs lustre/lnet parameters as well as the new&lt;br/&gt;
 sysfs lustre/lnet parameters as well. Besides the&lt;br/&gt;
 creation of these functions the LNet utilites are&lt;br/&gt;
 converted to use these new functions.&lt;/p&gt;

&lt;p&gt;Change-Id: I78788f41955073e1e48126103ef2aec13d64812b&lt;br/&gt;
 Signed-off-by: Dmitry Eremin &amp;lt;dmitry.eremin@intel.com&amp;gt;&lt;br/&gt;
 Signed-off-by: James Simmons &amp;lt;uja.ornl@yahoo.com&amp;gt;&lt;br/&gt;
 Signed-off-by: Wang Chao &amp;lt;chao.ornl@gmail.com&amp;gt;&lt;br/&gt;
 Reviewed-on: &lt;a href=&quot;http://review.whamcloud.com/17459&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/17459&lt;/a&gt;&lt;br/&gt;
 Tested-by: Jenkins&lt;br/&gt;
 Tested-by: Maloo &amp;lt;hpdd-maloo@intel.com&amp;gt;&lt;br/&gt;
 Reviewed-by: Andreas Dilger &amp;lt;andreas.dilger@intel.com&amp;gt;&lt;br/&gt;
 Reviewed-by: Ryan Haasken &amp;lt;haasken@cray.com&amp;gt;&lt;br/&gt;
 Reviewed-by: Emoly Liu &amp;lt;emoly.liu@intel.com&amp;gt;&lt;/p&gt;</comment>
                            <comment id="242482" author="pfarrell" created="Thu, 21 Feb 2019 21:56:48 +0000"  >&lt;p&gt;We do assume a mount point for debugfs:&lt;/p&gt;
{/sys/\{fs,kernel/debug}
&lt;p&gt;/{lnet,lustre}/,&lt;br/&gt;
ie, /sys/kernel/debug/&lt;/p&gt;</comment>
                            <comment id="242484" author="simmonsja" created="Thu, 21 Feb 2019 22:08:40 +0000"  >&lt;p&gt;Are you attempting to run as a non-root user? By default debugfs only allows root access.&lt;/p&gt;</comment>
                            <comment id="242489" author="morrone" created="Thu, 21 Feb 2019 23:09:44 +0000"  >&lt;p&gt;Doh!&#160; Yeah, it is just a permissions problem, my bad.&lt;/p&gt;

&lt;p&gt;What is the approach to address this from Lustre folks so far?&#160; I assume that debugfs is probably root-only access for a reason, but there are things in there that we want to allow non-root processes to access.&#160;&lt;/p&gt;

&lt;p&gt;Also, if lctl had returned a permissions error rather than a not-found error, that might have made it more obvious what I was looking for.&lt;/p&gt;</comment>
                            <comment id="242671" author="simmonsja" created="Mon, 25 Feb 2019 14:45:54 +0000"  >&lt;p&gt;To let you know I&apos;m work on a solution to resolve this (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11850&quot; title=&quot;Relocating /proc/fs/lustre/ost to /sys/kernel/debug/lustre/ost prevents non-root access&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11850&quot;&gt;LU-11850&lt;/a&gt;). Its up to Peter if its okay to backport to 2.12 LTS.&lt;/p&gt;</comment>
                            <comment id="242721" author="morrone" created="Mon, 25 Feb 2019 18:24:41 +0000"  >&lt;p&gt;Resolving as duplicate of &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11850&quot; title=&quot;Relocating /proc/fs/lustre/ost to /sys/kernel/debug/lustre/ost prevents non-root access&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11850&quot;&gt;LU-11850&lt;/a&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="54493">LU-11850</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="54493">LU-11850</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|i00c1b:</customfieldvalue>

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