<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:04: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-6918] Deadlock on transaction with iget()/clear_inode()</title>
                <link>https://jira.whamcloud.com/browse/LU-6918</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Thread 1:&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;schedule
start_this_handle
jbd2_journal_start
ldiskfs_journal_start_sb
ldiskfs_dquot_drop
vfs_dq_drop
clear_inode
dispose_list
shrink_icache_memory
shrink_slab
zone_reclaim
get_page_from_freelist
__alloc_pages_nodemask
alloc_pages_vma
do_huge_pmd_anonymous_page
handle_mm_fault
__do_page_fault
do_page_fault
page_fault
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Thread2:&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;__wait_on_freeing_inode
find_inode_fast
ifind_fast
iget_locked
ldiskfs_iget
osd_iget
osd_index_ea_delete
out_obj_index_delete
out_tx_index_delete_exec
out_tx_end
out_handle
tgt_request_handle
ptlrpc_main
kthread
kernel_thread
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="31252">LU-6918</key>
            <summary>Deadlock on transaction with iget()/clear_inode()</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="wc-triage">WC Triage</assignee>
                                    <reporter username="askulysh">Andriy Skulysh</reporter>
                        <labels>
                    </labels>
                <created>Tue, 28 Jul 2015 07:18:40 +0000</created>
                <updated>Tue, 19 Dec 2017 14:30:17 +0000</updated>
                            <resolved>Tue, 19 Dec 2017 14:30:17 +0000</resolved>
                                    <version>Lustre 2.8.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="122381" author="askulysh" created="Tue, 28 Jul 2015 07:27:41 +0000"  >&lt;p&gt;iget() waits for cleared I_FREEING flag, but clear_inode()/ldiskfs_dquot_drop() wants to start transaction at first and clears the flag after that.&lt;/p&gt;

&lt;p&gt;This behavior is common for most of target code. It takes transaction at first, after that locates  an object by means of iget(). &lt;br/&gt;
Possible solution would be to pin inode before starting transaction in tgt code.&lt;/p&gt;</comment>
                            <comment id="122393" author="bzzz" created="Tue, 28 Jul 2015 11:25:50 +0000"  >&lt;p&gt;no, we shouldn&apos;t do this in the target code because the target has no idea of agent inodes and it can&apos;t address that inode given an agent inode has no FID assigned. I think the only solution is to postpone inode destroy. this can be done in different ways. the most trivial is to have a list of inode numbers in memory. this can lead to an orphan, but given the number of agent inodes is very small, they don&apos;t occupy much space and at some point they will be discovered by LFSCK - probably good enough. if not, then we can do something similar to ext4_orphan_add()..&lt;/p&gt;</comment>
                            <comment id="123481" author="adilger" created="Thu, 6 Aug 2015 17:14:06 +0000"  >&lt;p&gt;Andriy, how easily can this deadlock be hit, and what is the workload to trigger it?&lt;/p&gt;</comment>
                            <comment id="123946" author="askulysh" created="Wed, 12 Aug 2015 14:18:12 +0000"  >&lt;p&gt;We have several reports from different sites. It isn&apos;t easily reproducible.&lt;/p&gt;</comment>
                            <comment id="123949" author="bzzz" created="Wed, 12 Aug 2015 14:44:04 +0000"  >&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/#/c/15924/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/15924/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="216719" author="pjones" created="Tue, 19 Dec 2017 14:30:17 +0000"  >&lt;p&gt;Duplicate of &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6969&quot; title=&quot;osd_internal.h:1090:osd_trans_exec_check()) LBUG for osd_index_ea_delete()&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6969&quot;&gt;&lt;del&gt;LU-6969&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="31392">LU-6969</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|hzxj6v:</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>