<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:15:18 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-15083] osp_last_used_init() returns -28</title>
                <link>https://jira.whamcloud.com/browse/LU-15083</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;I got the following error on MDT after mounting OST.&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
[ 408.221734] LustreError: 17651:0:(osp_dev.c:374:osp_last_used_init()) temp-OST0000-osc-MDT0000: Can not get ids -28 from old objid!
[ 408.222498] LustreError: 17651:0:(obd_config.c:774:class_setup()) setup temp-OST0000-osc-MDT0000 failed (-28)
[ 408.222533] LustreError: 17651:0:(obd_config.c:2001:class_config_llog_handler()) MGC123.123.123.123@tcp: cfg command failed: rc = -28
[ 408.223280] Lustre: cmd=cf003 0:temp-OST0000-osc-MDT0000 1:temp-OST0000_UUID 2:123.123.123.123@tcp
[ 408.223300] LustreError: 13754:0:(mgc_request.c:612:do_requeue()) failed processing log: -28
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

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

&lt;p&gt;It always occurs.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Lustre version: 2.14.55 (09e2e43241, git://git.whamcloud.com/fs/lustre-release.git)&lt;/p&gt;

&lt;p&gt;Linux version:&#160;Ubuntu 20.04 5.4.0-89 (49208326b3, git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal)&lt;/p&gt;

&lt;p&gt;I built both linux and lustre from source.&lt;/p&gt;

&lt;p&gt;Lustre was configured as:&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
./configure --with-linux=$KERNEL_SRC_PATH --with-o2ib=no
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;hr /&gt;
&lt;p&gt;What I have found from debugging is the following:&lt;/p&gt;

&lt;p&gt;-&#160;&lt;b&gt;osp_last_used_init()&lt;/b&gt; calls&#160;&lt;b&gt;osp_find_or_create_local_file()&lt;/b&gt;, which calls&#160;&lt;b&gt;ldiskfs_xattr_set()&lt;/b&gt; internally.&lt;/p&gt;

&lt;p&gt;&lt;del&gt;&#160;&lt;b&gt;ldiskfs_xattr_set()&lt;/b&gt; retries&#160;&lt;b&gt;ldiskfs_xattr_set_handle()&lt;/b&gt; (line 2511) many times but ended up failing because&#160;&lt;b&gt;ldiskfs_handle_has_enough_credits()&lt;/b&gt; (line 2344) returns 0 (handle&lt;/del&gt;&amp;gt;h_buffer_credits &amp;lt; credits).&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
&lt;span class=&quot;code-comment&quot;&gt;/* ldiskfs/xattr.c */&lt;/span&gt;

...

2300 &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;
2301 ldiskfs_xattr_set_handle(handle_t *handle, struct inode *inode, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; name_index,
2302                       &lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt; *name, &lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; void *value, size_t value_len,
2303                       &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; flags)
2304 {
2305         struct ldiskfs_xattr_info i = {
2306                 .name_index = name_index,
2307                 .name = name,
2308                 .value = value,
2309                 .value_len = value_len,
2310                 .in_inode = 0,
2311         };
2312         struct ldiskfs_xattr_ibody_find is = {
2313                 .s = { .not_found = -ENODATA, },
2314         };
2315         struct ldiskfs_xattr_block_find bs = {
2316                 .s = { .not_found = -ENODATA, },
2317         };
2318         &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; no_expand;
2319         &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; error;
2320
2321         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!name)
2322                 &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; -EINVAL;
2323         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (strlen(name) &amp;gt; 255)
2324                 &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; -ERANGE;
2325
2326         ldiskfs_write_lock_xattr(inode, &amp;amp;no_expand);
2327
2328         &lt;span class=&quot;code-comment&quot;&gt;/* Check journal credits under write lock. */&lt;/span&gt;
2329         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (ldiskfs_handle_valid(handle)) {
2330                 struct buffer_head *bh;
2331                 &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; credits;
2332
2333                 bh = ldiskfs_xattr_get_block(inode);
2334                 &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (IS_ERR(bh)) {
2335                         error = PTR_ERR(bh);
2336                         &lt;span class=&quot;code-keyword&quot;&gt;goto&lt;/span&gt; cleanup;
2337                 }
2338
2339                 credits = __ldiskfs_xattr_set_credits(inode-&amp;gt;i_sb, inode, bh,
2340                                                    value_len,
2341                                                    flags &amp;amp; XATTR_CREATE);
2342                 brelse(bh);
2343
2344                 &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!ldiskfs_handle_has_enough_credits(handle, credits)) {
2345                         error = -ENOSPC;
2346                         &lt;span class=&quot;code-keyword&quot;&gt;goto&lt;/span&gt; cleanup;
2347                 }
2348                 WARN_ON_ONCE(!(current-&amp;gt;flags &amp;amp; PF_MEMALLOC_NOFS));
2349         }

...

2486 &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;
2487 ldiskfs_xattr_set(struct inode *inode, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; name_index, &lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;char&lt;/span&gt; *name,
2488                &lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; void *value, size_t value_len, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; flags)
2489 {
2490         handle_t *handle;
2491         struct super_block *sb = inode-&amp;gt;i_sb;
2492         &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; error, retries = 0;
2493         &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; credits;
2494
2495         error = dquot_initialize(inode);
2496         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (error)
2497                 &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; error;
2498
2499 retry:
2500         error = ldiskfs_xattr_set_credits(inode, value_len, flags &amp;amp; XATTR_CREATE,
2501                                        &amp;amp;credits);
2502         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (error)
2503                 &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; error;
2504
2505         handle = ldiskfs_journal_start(inode, LDISKFS_HT_XATTR, credits);
2506         &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (IS_ERR(handle)) {
2507                 error = PTR_ERR(handle);
2508         } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
2509                 &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; error2;
2510
2511                 error = ldiskfs_xattr_set_handle(handle, inode, name_index, name,
2512                                               value, value_len, flags);
2513                 error2 = ldiskfs_journal_stop(handle);
2514                 &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (error == -ENOSPC &amp;amp;&amp;amp;
2515                     ldiskfs_should_retry_alloc(sb, &amp;amp;retries))
2516                         &lt;span class=&quot;code-keyword&quot;&gt;goto&lt;/span&gt; retry;
2517                 &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (error == 0)
2518                         error = error2;
2519         }
2520
2521         &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; error;
2522 }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment>Ubuntu 20.04 5.4.0-89, LDISK</environment>
        <key id="66588">LU-15083</key>
            <summary>osp_last_used_init() returns -28</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="1">Fixed</resolution>
                                        <assignee username="dongyang">Dongyang Li</assignee>
                                    <reporter username="hyunwoojhw">Hyunwoo Jung</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 Oct 2021 13:10:22 +0000</created>
                <updated>Thu, 16 Feb 2023 10:49:20 +0000</updated>
                            <resolved>Tue, 30 Nov 2021 13:47:11 +0000</resolved>
                                    <version>Lustre 2.14.0</version>
                                    <fixVersion>Lustre 2.15.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="315597" author="adilger" created="Thu, 14 Oct 2021 18:04:04 +0000"  >&lt;p&gt;Thank you for filing the bug.&lt;/p&gt;

&lt;p&gt;Are you using ldiskfs on the Ubuntu20 server, or only Ubuntu client?  Is this a newly-formatted test filesystem, or has it been used and only hits this problem after some time/crash/other?&lt;/p&gt;

&lt;p&gt;If this always happens on a new filesystem, it is possible that there is some bug in the ldiskfs patches for this Ubuntu kernel (not enough credits reserved for this filesystem transaction handle).  It should be noted that Ubuntu servers are not really being tested regularly, and the 2.14.55 tag is a development release so this should only be used for testing.&lt;/p&gt;</comment>
                            <comment id="315660" author="JIRAUSER16927" created="Fri, 15 Oct 2021 06:08:49 +0000"  >&lt;p&gt;I am using ldiskfs on Ubuntu20 server. Clients are also on Ubuntu20.&lt;br/&gt;
It is a newly-formatted test filesystem. This is my first time to setup Lustre.&lt;br/&gt;
I rebuilt Lustre of older version (2.14.0) and found it works.&lt;/p&gt;

&lt;p&gt;Thanks.&lt;/p&gt;</comment>
                            <comment id="318073" author="gerrit" created="Fri, 12 Nov 2021 12:37:12 +0000"  >&lt;p&gt;&quot;Li Dongyang &amp;lt;dongyangli@ddn.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/45546&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/45546&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15083&quot; title=&quot;osp_last_used_init() returns -28&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15083&quot;&gt;&lt;del&gt;LU-15083&lt;/del&gt;&lt;/a&gt; ldiskfs: disable xattr credits check&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 63afe25a2140b9cb001167671054fe2018e36ef1&lt;/p&gt;</comment>
                            <comment id="319464" author="gerrit" created="Tue, 30 Nov 2021 03:46:25 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/45546/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/45546/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15083&quot; title=&quot;osp_last_used_init() returns -28&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15083&quot;&gt;&lt;del&gt;LU-15083&lt;/del&gt;&lt;/a&gt; ldiskfs: disable xattr credits check&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 580a22145ec16b548f5bdafa3a066686a95799b3&lt;/p&gt;</comment>
                            <comment id="319538" author="pjones" created="Tue, 30 Nov 2021 13:47:11 +0000"  >&lt;p&gt;Landed for 2.15&lt;/p&gt;</comment>
                            <comment id="324617" author="yujian" created="Mon, 31 Jan 2022 18:08:00 +0000"  >&lt;p&gt;With the fix in this ticket, mounting a filesystem hit &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15231&quot; title=&quot;ASSERTION( obd-&amp;gt;obd_lu_dev-&amp;gt;ld_site == lod-&amp;gt;lod_dt_dev.dd_lu_dev.ld_site ) failed on mounting half-initilized MDS&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15231&quot;&gt;LU-15231&lt;/a&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="56629">LU-12652</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="67178">LU-15231</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="67132">LU-15208</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|i026wv:</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>