<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:11:58 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-946] add lprocfs file on MDT to list open files in the filesystem</title>
                <link>https://jira.whamcloud.com/browse/LU-946</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Several customers have asked for the ability to list open files on the whole filesystem.  Currently this is only possible to do on the clients by running &quot;lsof&quot; but is impractical to do.&lt;/p&gt;

&lt;p&gt;This would likely be implemented by walking all of the client exports and then listing all of the objects in med_open_head as NID_FID pairs.  Userspace could then sort/print the open files as desired using &quot;lfs fid2path&quot;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="12729">LU-946</key>
            <summary>add lprocfs file on MDT to list open files in the filesystem</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</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="emoly.liu">Emoly Liu</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                            <label>patch</label>
                    </labels>
                <created>Tue, 20 Dec 2011 10:21:56 +0000</created>
                <updated>Fri, 21 Feb 2014 13:39:29 +0000</updated>
                            <resolved>Mon, 13 Jan 2014 01:38:22 +0000</resolved>
                                                    <fixVersion>Lustre 2.6.0</fixVersion>
                    <fixVersion>Lustre 2.5.1</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                            <comments>
                            <comment id="57020" author="adilger" created="Thu, 25 Apr 2013 10:13:17 +0000"  >&lt;p&gt;This would ideally be available on the MDS per-export in &lt;tt&gt;/proc/fs/lustre/mdt/$fsname-MDTnnnn/exports/$NID/open_files&lt;/tt&gt; with just a FID list.  Userspace could just do &lt;tt&gt;lctl get_param mdt.$fsname-MDTnnnn.exports.$NID.open_files&lt;/tt&gt; and pipe that to &lt;tt&gt;lfs fid2path&lt;/tt&gt; (with my patch in &lt;a href=&quot;http://review.whamcloud.com/6160&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/6160&lt;/a&gt; in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3223&quot; title=&quot;allow &amp;quot;lfs fid2path&amp;quot; to handle multiple FIDs on the command-line&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3223&quot;&gt;&lt;del&gt;LU-3223&lt;/del&gt;&lt;/a&gt; to handle multiple FIDs on the command-line).&lt;/p&gt;</comment>
                            <comment id="57618" author="gshilamkar" created="Fri, 3 May 2013 08:37:47 +0000"  >&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;I have started working on this ticket but don&apos;t have permissions to assign it to myself.&lt;/p&gt;

&lt;p&gt;Regards,&lt;br/&gt;
Girish&lt;/p&gt;</comment>
                            <comment id="57806" author="emoly.liu" created="Tue, 7 May 2013 05:44:17 +0000"  >&lt;p&gt;Girish, it says the user doesn&apos;t exist. Anyway, you can push your patch to gerrit and paste the link here.&lt;/p&gt;

&lt;p&gt;If you don&apos;t mind, I&apos;d like to assign to me and take care of the patch.&lt;/p&gt;
</comment>
                            <comment id="58553" author="gshilamkar" created="Wed, 15 May 2013 10:32:15 +0000"  >&lt;p&gt;Andreas,&lt;/p&gt;

&lt;p&gt;med_open_head is list of mdt_file_data objects. And struct mdt_file_data is an internal structure to mdt. So we cannot walk med_open_head from obdclass(lprocfs_status.c) using this linked list. We could have had a function in mdt to return lu_object for a given mdt_file_data object but that would make odbclass module dependent on mdt. (mdt is already used by obdclass)&lt;br/&gt;
So the only option I see is to export list of open lu_objects/md_objects, structs which are known by obdclass. Please advise.&lt;/p&gt;

&lt;p&gt;Other than this layering issue the patch is ready with a testcase.&lt;br/&gt;
Thanks,&lt;br/&gt;
Girish&lt;/p&gt;
</comment>
                            <comment id="58556" author="adilger" created="Wed, 15 May 2013 10:46:05 +0000"  >&lt;p&gt;Girish,&lt;br/&gt;
there is no requirement for the proc file handling to be in obdclass.  That is just for common routines shared among multiple modules.  Typically each module has its own &quot;mdt_lproc.c&quot; or similar, which has data specific to the module.  In this case, the open_file setup should go into the per-export directory &lt;tt&gt;/proc/fs/lustre/mdt/*/exports/open_files&lt;/tt&gt;, created under the mdt_export_stats_init() function.&lt;/p&gt;</comment>
                            <comment id="58840" author="gshilamkar" created="Sun, 19 May 2013 08:21:28 +0000"  >&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/6386&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/6386&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="74795" author="emoly.liu" created="Mon, 13 Jan 2014 01:38:22 +0000"  >&lt;p&gt;Patch landed for 2.6&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="18533">LU-3223</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="22622">LU-4429</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </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|hzvp0n:</customfieldvalue>

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