<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:53:24 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-12530] udev add/change rule loads zfs module on clients</title>
                <link>https://jira.whamcloud.com/browse/LU-12530</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Lustre loads the zfs module whenever a block device is added or changed, if Lustre was built against zfs.  It unintentionally does this on clients as well as servers.&lt;/p&gt;

&lt;p&gt;Commit 0d11a314787bc795797a016262e9bcfe86e2193e for &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11563&quot; title=&quot;99-lustre.rules on clients tries to execute non-existent /usr/sbin/l_tunedisk&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11563&quot;&gt;&lt;del&gt;LU-11563&lt;/del&gt;&lt;/a&gt; added a udev rule,&lt;br/&gt;
lustre/conf/99-lustre-server.rules&lt;/p&gt;

&lt;p&gt;When a block device is added or changed:&lt;br/&gt;
udev -&amp;gt; l_tunedisk&lt;br/&gt;
l_tunedisk -&amp;gt; mount_utils.c:osd_init()&lt;br/&gt;
osd_init() &lt;del&gt;&amp;gt; backfs_ops[]&lt;/del&gt;&amp;gt;init() AKA zfs_init()&lt;br/&gt;
zfs_init() -&amp;gt; &quot;/sbin/modprobe -q zfs&quot;&lt;/p&gt;

&lt;p&gt;This occurs if the Lustre rpms installed are a full build of Lustre, instead of just a client build.&lt;/p&gt;</description>
                <environment></environment>
        <key id="56305">LU-12530</key>
            <summary>udev add/change rule loads zfs module on clients</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="1">Fixed</resolution>
                                        <assignee username="utopiabound">Nathaniel Clark</assignee>
                                    <reporter username="ofaaland">Olaf Faaland</reporter>
                        <labels>
                    </labels>
                <created>Tue, 9 Jul 2019 23:48:03 +0000</created>
                <updated>Tue, 14 Jul 2020 20:12:04 +0000</updated>
                            <resolved>Tue, 12 Nov 2019 06:37:50 +0000</resolved>
                                    <version>Lustre 2.10.5</version>
                    <version>Lustre 2.12.2</version>
                                    <fixVersion>Lustre 2.14.0</fixVersion>
                    <fixVersion>Lustre 2.12.4</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="250928" author="ofaaland" created="Tue, 9 Jul 2019 23:54:21 +0000"  >&lt;p&gt;For our tracking, our local ticket is TOSS-4559&lt;/p&gt;</comment>
                            <comment id="250929" author="pjones" created="Wed, 10 Jul 2019 00:16:15 +0000"  >&lt;p&gt;Nathaniel&lt;/p&gt;

&lt;p&gt;Can you please assist with this one?&lt;/p&gt;

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

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="250930" author="simmonsja" created="Wed, 10 Jul 2019 01:00:05 +0000"  >&lt;p&gt;You have ZFS installed on your clients? Interesting setup &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="250932" author="ofaaland" created="Wed, 10 Jul 2019 01:55:14 +0000"  >&lt;p&gt;&amp;gt; You have ZFS installed on your clients? Interesting setup&lt;/p&gt;

&lt;p&gt;Yep, it&apos;s the kitchen sink approach.  But of course we don&apos;t intend to actually load the kernel module &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;.&lt;/p&gt;</comment>
                            <comment id="250996" author="utopiabound" created="Thu, 11 Jul 2019 11:51:04 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=ofaaland&quot; class=&quot;user-hover&quot; rel=&quot;ofaaland&quot;&gt;ofaaland&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;Are you using lustre-client or lustre rpms on your clients?&#160; If you are using the lustre rpms, then yes, the modules will be loaded when a disk add is triggered in udev via that rule.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://review.whamcloud.com/33466/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33466/&lt;/a&gt; split out that udev rule to be server only so it should only affect your clients if they are using lustre instead of lustre-client.&lt;/p&gt;</comment>
                            <comment id="251735" author="ofaaland" created="Sat, 20 Jul 2019 00:04:25 +0000"  >&lt;p&gt;Nathaniel,&lt;/p&gt;

&lt;p&gt;Correct, It&apos;s lustre that is installed, not lustre-client, and yes I&apos;m aware of that commit - see the Description &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;.  I&apos;d read the ticket about the kernel crashes due to differing device tunables, and I understand why the rule was created.  But there are the reasons I think this is incorrect behavior.  Maybe I&apos;m mistaken.&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;The &quot;lustre&quot; rpm has both server and client bits.  It&apos;s not just server bits, and therefore not an indication, by itself, that the system on which it&apos;s installed is a lustre server - just that it might be.&lt;/li&gt;
	&lt;li&gt;The rule seems overly broad.  For example, blkid can tell us if the device is ldiskfs or zfs; if neither then no point in running tunedisk().  Can we use that?&lt;/li&gt;
	&lt;li&gt;zfs_tune_lustre() doesn&apos;t do anything anyway, so no benefit to loading the zfs kernel module for that&lt;/li&gt;
	&lt;li&gt;From what I read this seems to be working around a kernel bug, which exists only in some kernels and isn&apos;t specific to Lustre - so it seems like the wrong place for the fix.  I guess some Lustre users are stuck (ie their distro didn&apos;t fix the issue or they can&apos;t upgrade, etc.) but then I think this should be available to them but not enabled by default.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;What do you think?&lt;/p&gt;
</comment>
                            <comment id="251925" author="utopiabound" created="Wed, 24 Jul 2019 12:29:22 +0000"  >&lt;p&gt;&amp;gt; 2. The rule seems overly broad.&lt;/p&gt;

&lt;p&gt;I agree the rule is probably overly broad, and we can use udev itself to limit it more than it is now.&lt;/p&gt;

&lt;p&gt;&amp;gt; 3. zfs_tune_lustre() doesn&apos;t do anything&lt;/p&gt;

&lt;p&gt;But it might someday...&lt;/p&gt;

&lt;p&gt;&amp;gt; 4. From what I read this seems to be working around a kernel bug&lt;/p&gt;

&lt;p&gt;It&apos;s not so much a kernel bug as kernel behavior.&#160; There&apos;s a possible fix for this issue in device-mapper-multipath, but only in fairly recent releases (maybe only el7.6?) (the &lt;tt&gt;max_sectors_kb&lt;/tt&gt; setting, but even that needs to be tuned per device, and I&apos;m not positive it picks up the case that &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11563&quot; title=&quot;99-lustre.rules on clients tries to execute non-existent /usr/sbin/l_tunedisk&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11563&quot;&gt;&lt;del&gt;LU-11563&lt;/del&gt;&lt;/a&gt; is fixing, I only assume it does).&lt;/p&gt;

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

&lt;p&gt;Yes, I think making the udev rule more narrowly tailored would be a good thing.&lt;/p&gt;</comment>
                            <comment id="257099" author="ofaaland" created="Fri, 25 Oct 2019 19:02:52 +0000"  >&lt;p&gt;&amp;gt;&amp;gt; 3. zfs_tune_lustre() doesn&apos;t do anything&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; But it might someday...&lt;/p&gt;

&lt;p&gt;That&apos;s fair, but it shouldn&apos;t do anything with the block devices in the pool in any case.  If tunables need to be set at that level, that should be handled within ZFS so that non-lustre ZFS users get the benefit as well.  ZFS already has to deal properly with block devices appearing and disappearing.  For example, ZFS currently sets the elevator to &quot;noop&quot; for the block devices in the pool.&lt;/p&gt;

&lt;p&gt;zpool and dataset properties are persistent, so they don&apos;t need this treatment.  One could also set module parameters upon module load, but this isn&apos;t the place for that.&lt;/p&gt;

&lt;p&gt;So I think this rule should match on &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;ENV{ID_FS_TYPE}==&quot;ext4&quot;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;in addition to the ACTION and SUBSYSTEM already specified.  That doesn&apos;t actually solve my problem, but I think it&apos;s a step in the right direction.&lt;/p&gt;</comment>
                            <comment id="257107" author="ofaaland" created="Fri, 25 Oct 2019 20:25:09 +0000"  >&lt;p&gt;I don&apos;t see another udev property that would help distinguish ext4-formatted devices from ldiskfs-formatted devices, but if you know of one that would be even better.&lt;/p&gt;</comment>
                            <comment id="257179" author="utopiabound" created="Mon, 28 Oct 2019 12:36:12 +0000"  >&lt;p&gt;For ldiskfs type, I think, the closest you can get is checking the FS_LABEL, that it matches one  of these:&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;MGS
*-MDT*
*-OST*
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt; If it doesn&apos;t match one of those, then it definitely isn&apos;t ldiskfs.&lt;/p&gt;</comment>
                            <comment id="257183" author="simmonsja" created="Mon, 28 Oct 2019 13:10:33 +0000"  >&lt;p&gt;One day ext4 will be what is ldiskfs today. So Nathaniel approach is the best idea.&lt;/p&gt;</comment>
                            <comment id="257225" author="gerrit" created="Mon, 28 Oct 2019 20:44:57 +0000"  >&lt;p&gt;Olaf Faaland-LLNL (faaland1@llnl.gov) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/36599&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/36599&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12530&quot; title=&quot;udev add/change rule loads zfs module on clients&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12530&quot;&gt;&lt;del&gt;LU-12530&lt;/del&gt;&lt;/a&gt; utils: narrow l_tunedisk udev rule&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: daa0f160640a6a3e5581e1f10ad33047a8a44ae6&lt;/p&gt;</comment>
                            <comment id="257360" author="ofaaland" created="Wed, 30 Oct 2019 23:08:18 +0000"  >&lt;p&gt;After this lands, please consider backporting to b2_12.  Thanks.&lt;/p&gt;</comment>
                            <comment id="258121" author="gerrit" created="Tue, 12 Nov 2019 04:06:58 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/36599/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/36599/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12530&quot; title=&quot;udev add/change rule loads zfs module on clients&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12530&quot;&gt;&lt;del&gt;LU-12530&lt;/del&gt;&lt;/a&gt; utils: narrow l_tunedisk udev rule&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 7b2cb54858daa60d560fd6374c4ecba552a10d27&lt;/p&gt;</comment>
                            <comment id="258136" author="pjones" created="Tue, 12 Nov 2019 06:37:50 +0000"  >&lt;p&gt;Landed for 2.14&lt;/p&gt;</comment>
                            <comment id="258459" author="gerrit" created="Mon, 18 Nov 2019 15:54:04 +0000"  >&lt;p&gt;Minh Diep (mdiep@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/36776&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/36776&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12530&quot; title=&quot;udev add/change rule loads zfs module on clients&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12530&quot;&gt;&lt;del&gt;LU-12530&lt;/del&gt;&lt;/a&gt; utils: narrow l_tunedisk udev rule&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: f5f3f9388aa9fa2c8eb7f2e83b3eb1912afea1fd&lt;/p&gt;</comment>
                            <comment id="259204" author="gerrit" created="Thu, 5 Dec 2019 14:57:03 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/36776/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/36776/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12530&quot; title=&quot;udev add/change rule loads zfs module on clients&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12530&quot;&gt;&lt;del&gt;LU-12530&lt;/del&gt;&lt;/a&gt; utils: narrow l_tunedisk udev rule&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_12&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: e365cf2b001af7ca0883d293b7c148bcaa8e1c61&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="46284">LU-9551</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="54204">LU-11736</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="50516">LU-10599</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|i00jf3:</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>