<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:58:09 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-6202] clean up ioctl handling</title>
                <link>https://jira.whamcloud.com/browse/LU-6202</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;There are a large number of ioctl cleanups that are needed for Lustre.  A start is in &lt;a href=&quot;http://review.whamcloud.com/10139&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/10139&lt;/a&gt; but there is more that could be done.  The biggest offender is anything using &lt;tt&gt;struct libcfs_ioctl_data&lt;/tt&gt;, which is a horrible structure that passes pointers from userspace to the kernel.  Anything using that struct is a candidate for cleanup.&lt;/p&gt;

&lt;p&gt;The complexity is that Lustre ioctls are done in /dev/lnet or /dev/obd and may address any device in the stack (LNDs, OBD devices, etc).  At a minimum, the libcfs_ioctl_data should be cleaned up to be a properly packed structure without internal pointers, but better would be proper ioctl structures that do not try to be all things to all users.&lt;/p&gt;

&lt;p&gt;It seems unlikely that we need to keep the lctl device configuration interface anymore (attach, detach, setup, cleanup, dump_cfg, etc), so all userspace commands/structures related to that could be removed.&lt;/p&gt;

&lt;p&gt;Some code (e.g. &lt;tt&gt;jt_obd_dump_log()&lt;/tt&gt;) is obsolete due to liblustre removal and could also be removed outright.&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;llapi_get_version()&lt;/tt&gt; can read the version from &lt;tt&gt;/proc/fs/lustre/version&lt;/tt&gt; via &lt;tt&gt;llapi_get_param()&lt;/tt&gt; or similar, instead of using an ioctl.&lt;/p&gt;

&lt;p&gt;There is probably more, and possibly this needs to be split into several bugs, but at least it is a starting point for such cleanups.&lt;/p&gt;</description>
                <environment></environment>
        <key id="28520">LU-6202</key>
            <summary>clean up ioctl handling</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="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="simmonsja">James A Simmons</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                            <label>medium</label>
                    </labels>
                <created>Tue, 3 Feb 2015 07:45:08 +0000</created>
                <updated>Thu, 10 Sep 2020 14:09:43 +0000</updated>
                                                            <fixVersion>Upstream</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="193110" author="simmonsja" created="Sat, 22 Apr 2017 17:14:36 +0000"  >&lt;p&gt;The review by Andreas for the patch to make lustre_ioctl.h a proper UAPI pointed out several IOCTLs that are obsolete. I&apos;m placing the list here so its not lost. Besides the cleanup in lustre_ioctl.h the utilites and kernel code have to scanned to make sure we don&apos;t have source code left overs.&lt;/p&gt;


&lt;p&gt;There are a bunch of ioctl definitions that could be removed completely, rather than continuing to shuffle them around.&lt;/p&gt;

&lt;p&gt;I suspect there are even some un-commented ioctls that could be removed, but that is more work to check.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://review.whamcloud.com/#/c/24568/15/lustre/include/uapi/linux/lustre_ioctl.h&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;lustre/include/uapi/linux/lustre_ioctl.h&lt;/a&gt;&lt;br/&gt;
Line &lt;a href=&quot;https://review.whamcloud.com/#/c/24568/15/lustre/include/uapi/linux/lustre_ioctl.h@141&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;141&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;All of these IOC_LDLM_* ioctls are obsolete since 1.5 and can be removed.&lt;/p&gt;

&lt;p&gt;Line &lt;a href=&quot;https://review.whamcloud.com/#/c/24568/15/lustre/include/uapi/linux/lustre_ioctl.h@157&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;157&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;Hasn&apos;t been used since pre-1.0, should just be deleted. Same for OBD_IOC_FORMAT, OBD_IOC_PARTITION, OBD_IOC_COPY, OBD_IOC_MIGR, OBD_IOC_PUNCH, and OBD_IOC_MODULE_DEBUG&lt;/p&gt;

&lt;p&gt;Line &lt;a href=&quot;https://review.whamcloud.com/#/c/24568/15/lustre/include/uapi/linux/lustre_ioctl.h@176&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;176&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;Can just be removed, per above.&lt;/p&gt;

&lt;p&gt;Line &lt;a href=&quot;https://review.whamcloud.com/#/c/24568/15/lustre/include/uapi/linux/lustre_ioctl.h@180&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;180&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;Obsolete since 1.5, can be removed.&lt;/p&gt;

&lt;p&gt;Line &lt;a href=&quot;https://review.whamcloud.com/#/c/24568/15/lustre/include/uapi/linux/lustre_ioctl.h@182&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;182&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;Has never been used.&lt;/p&gt;

&lt;p&gt;Line &lt;a href=&quot;https://review.whamcloud.com/#/c/24568/15/lustre/include/uapi/linux/lustre_ioctl.h@183&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;183&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;Obsolete since before 1.4.&lt;/p&gt;

&lt;p&gt;Line &lt;a href=&quot;https://review.whamcloud.com/#/c/24568/15/lustre/include/uapi/linux/lustre_ioctl.h@184&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;184&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;Just removed in 2.10, keep this one.&lt;/p&gt;

&lt;p&gt;Line &lt;a href=&quot;https://review.whamcloud.com/#/c/24568/15/lustre/include/uapi/linux/lustre_ioctl.h@199&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;199&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;Obsolete since 1.5, along with OBD_IOC_ENDRECORD, OBD_IOC_PARSE, and OBD_IOC_DORECORD.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="234363" author="gerrit" created="Thu, 4 Oct 2018 15:48:42 +0000"  >&lt;p&gt;James Simmons (uja.ornl@yahoo.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/33284&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33284&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6202&quot; title=&quot;clean up ioctl handling&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6202&quot;&gt;LU-6202&lt;/a&gt; libcfs: replace libcfs_register_ioctl with a blocking notifier_chain&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: eded4e93a52aead577a26e11ec3a05961d07428f&lt;/p&gt;</comment>
                            <comment id="234365" author="simmonsja" created="Thu, 4 Oct 2018 15:53:39 +0000"  >&lt;p&gt;This first patch moves libcfs_register_ioctl to the blocking notifier_chain the kernel uses. From their we can move the obd_iocontrol() handling to this as well. The benefit of this approach is that we can register ioctls of the backend filesystem with the blocking notifier_chain to meet the &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-137&quot; title=&quot;ioctl passthrough mechanism for Lustre OST/MDT mountpoints&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-137&quot;&gt;&lt;del&gt;LU-137&lt;/del&gt;&lt;/a&gt; work.&lt;/p&gt;</comment>
                            <comment id="234679" author="gerrit" created="Wed, 10 Oct 2018 01:50:52 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/33284/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33284/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6202&quot; title=&quot;clean up ioctl handling&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6202&quot;&gt;LU-6202&lt;/a&gt; libcfs: replace libcfs_register_ioctl with a blocking notifier_chain&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: fba98579efc4fe3bb69309041b60d7723475b5e2&lt;/p&gt;</comment>
                            <comment id="237273" author="gerrit" created="Tue, 20 Nov 2018 21:45:20 +0000"  >&lt;p&gt;Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/33691&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33691&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6202&quot; title=&quot;clean up ioctl handling&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6202&quot;&gt;LU-6202&lt;/a&gt; misc: delete OBD_IOC_PING_TARGT ioctl&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: b7f0d6d02f839f3c4757b2048ea7fe226f568c73&lt;/p&gt;</comment>
                            <comment id="237274" author="gerrit" created="Tue, 20 Nov 2018 21:45:21 +0000"  >&lt;p&gt;Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/33692&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33692&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6202&quot; title=&quot;clean up ioctl handling&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6202&quot;&gt;LU-6202&lt;/a&gt; misc: remove LIBCFS_IOC_DEBUG_MASK ioctl&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: e1bc122bfa88b06f873ed2ff5a4cedef308a9660&lt;/p&gt;</comment>
                            <comment id="237275" author="gerrit" created="Tue, 20 Nov 2018 21:45:22 +0000"  >&lt;p&gt;Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/33693&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33693&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6202&quot; title=&quot;clean up ioctl handling&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6202&quot;&gt;LU-6202&lt;/a&gt; utils: remove obsolete l_ioctl2() wrapper&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 941ba3ecb03ffcede12527961a59548cf9f8ec36&lt;/p&gt;</comment>
                            <comment id="237277" author="gerrit" created="Tue, 20 Nov 2018 21:51:39 +0000"  >&lt;p&gt;Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/33695&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33695&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6202&quot; title=&quot;clean up ioctl handling&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6202&quot;&gt;LU-6202&lt;/a&gt; utils: allow device_list for non-root users&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: dc2798a989f809f55757aae40d85950aa70afd1b&lt;/p&gt;</comment>
                            <comment id="245001" author="gerrit" created="Mon, 1 Apr 2019 07:23:47 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/33691/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33691/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6202&quot; title=&quot;clean up ioctl handling&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6202&quot;&gt;LU-6202&lt;/a&gt; misc: delete OBD_IOC_PING_TARGET ioctl&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: d17d6ef74e522a4b57f2824161788a69f32bd5e7&lt;/p&gt;</comment>
                            <comment id="245002" author="gerrit" created="Mon, 1 Apr 2019 07:23:52 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/33692/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33692/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6202&quot; title=&quot;clean up ioctl handling&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6202&quot;&gt;LU-6202&lt;/a&gt; misc: remove LIBCFS_IOC_DEBUG_MASK ioctl&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 70f932c7bfc590c03309bd2a83db20dd6ef5a8d4&lt;/p&gt;</comment>
                            <comment id="252230" author="gerrit" created="Tue, 30 Jul 2019 06:08:09 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/33693/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33693/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6202&quot; title=&quot;clean up ioctl handling&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6202&quot;&gt;LU-6202&lt;/a&gt; utils: remove obsolete l_ioctl2() wrapper&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: b3f3486723084f14493b3866803274576ed9e269&lt;/p&gt;</comment>
                            <comment id="253948" author="adilger" created="Fri, 30 Aug 2019 16:01:47 +0000"  >&lt;p&gt;James Simmons (jsimmons@infradead.org) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/35993&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/35993&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6202&quot; title=&quot;clean up ioctl handling&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6202&quot;&gt;LU-6202&lt;/a&gt; obd: separate client and server specific fields from struct obd_device&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: a00b3db4147dbf95433c3b7c1bc0ebe5329b63d8&lt;/p&gt;</comment>
                            <comment id="267234" author="gerrit" created="Thu, 9 Apr 2020 06:27:54 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/35993/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/35993/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6202&quot; title=&quot;clean up ioctl handling&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6202&quot;&gt;LU-6202&lt;/a&gt; obd: replace OBD_IOC_NO_TRANSNO with sysfs file&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 6706bfa81998c999012909e4cfcd1d3dbc347075&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="43859">LU-9128</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="27763">LU-5969</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="29243">LU-6401</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="10459">LU-137</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="46759">LU-9680</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="57711">LU-13107</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|hzx5hr:</customfieldvalue>

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