<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:18:01 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-15404] kernel panic and filesystem corruption in setxattr due to journal transaction restart</title>
                <link>https://jira.whamcloud.com/browse/LU-15404</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;During recent testing, we have found a repeatable kernel panic and ldiskfs corruption.&lt;/p&gt;

&lt;p&gt;The kernel panics with the following stack trace:&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;
[41021.608188] LNet: 18792:0:(o2iblnd_cb.c:3372:kiblnd_check_conns()) Timed out tx &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; 10.12.0.1@o2ib4000: 0 seconds
[41023.501466] ------------[ cut here ]------------
[41023.506369] kernel BUG at fs/jbd2/transaction.c:1476!
[41023.511714] invalid opcode: 0000 [#1] SMP NOPTI
[41023.516549] CPU: 18 PID: 304955 Comm: mdt03_009 Kdump: loaded Tainted: G OE --------- - - 4.18.0-305.10.2.x6.0.24.x86_64 #1
[41023.537576] RIP: 0010:jbd2_journal_dirty_metadata+0x1fb/0x250 [jbd2]
[41023.544198] Code: f3 90 48 8b 03 a9 00 00 80 00 75 f4 e9 b3 fe ff ff 44 8b 45 0c 41 83 f8 01 74 8c e9 ec 94 00 00 4c 39 65 30 0f 84 68 fe ff ff &amp;lt;0f&amp;gt; 0b 4d 8b 4a 70 4c 8d 73 02 4d 39 cc 0f 84 33 ff ff ff e9 53 95
[41023.563722] RSP: 0018:ffffb106eae8f5d8 EFLAGS: 00010207
[41023.569412] RAX: 000000000062c029 RBX: ffff997e385c99c0 RCX: 000000000000000
[41023.576940] RDX: ffff998c322432a0 RSI: ffff997e385c99c0 RDI: ffff998c322432a0
[41023.584556] RBP: ffff997f643bc960 R08: ffff997e385c99c0 R09: 0000000000000000
[41023.592073] R10: ffff998c2d496800 R11: 0000000000000100 R12: ffff998b65522300
[41023.599709] R13: 0000000000000000 R14: ffffffffc1a64350 R15: 0000000000001514
[41023.607327] FS: 0000000000000000(0000) GS:ffff998e7f080000(0000) knlGS:0000000000000000
[41023.615913] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[41023.622237] CR2: 00007ff9d42640dc CR3: 0000000f00210004 CR4: 00000000003706e0
[41023.629848] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[41023.637566] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

[41023.645130] Call Trace:
[41023.648010] __ldiskfs_handle_dirty_metadata+0x51/0x190 [ldiskfs]
[41023.654687] ldiskfs_do_update_inode+0x49a/0x7f0 [ldiskfs]
[41023.660734] ldiskfs_mark_iloc_dirty+0x32/0x80 [ldiskfs]
[41023.666635] ldiskfs_xattr_set_handle+0x381/0x580 [ldiskfs]
[41023.672840] ldiskfs_xattr_set+0xd0/0x160 [ldiskfs]
[41023.678168] __vfs_setxattr+0x66/0x80
[41023.682392] osd_xattr_set+0x709/0x10a0 [osd_ldiskfs]
[41023.688059] ? lod_gen_component_ea+0x2c2/0x9e0 [lod]
[41023.693704] lod_sub_xattr_set+0x248/0x4d0 [lod]
[41023.698900] lod_generate_and_set_lovea+0x262/0x310 [lod]
[41023.704879] lod_striped_create+0x433/0x590 [lod]
[41023.710083] lod_layout_change+0x192/0x270 [lod]
[41023.715333] mdd_layout_change+0x13f7/0x1980 [mdd]
[41023.720809] mdt_layout_change+0x31c/0x4b0 [mdt]
[41023.726082] mdt_intent_layout+0x6c8/0x990 [mdt]
[41023.731241] ? mdt_intent_getxattr+0x320/0x320 [mdt]
[41023.736903] mdt_intent_opc+0x12c/0xbf0 [mdt]
[41023.742067] mdt_intent_policy+0x207/0x3a0 [mdt]
[41023.747281] ldlm_lock_enqueue+0x4e4/0xa80 [ptlrpc]
[41023.752854] ldlm_handle_enqueue0+0x634/0x1760 [ptlrpc]
[41023.758771] tgt_enqueue+0xa4/0x210 [ptlrpc]
[41023.763752] tgt_request_handle+0xc93/0x1a00 [ptlrpc]
[41023.769516] ? ptlrpc_nrs_req_get_nolock0+0xfb/0x1f0 [ptlrpc]
[41023.775901] ptlrpc_server_handle_request+0x323/0xbd0 [ptlrpc]
[41023.782512] ptlrpc_main+0xc06/0x1550 [ptlrpc]
[41023.787683] ? ptlrpc_wait_event+0x500/0x500 [ptlrpc]
[41023.793276] kthread+0x116/0x130
[41023.797041] ? kthread_flush_work_fn+0x10/0x10
[41023.802049] ret_from_fork+0x1f/0x40
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The corresponding line of code would map to:&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;
                J_ASSERT_JH(jh, jh-&amp;gt;b_transaction == transaction ||
                                jh-&amp;gt;b_next_transaction == transaction);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;More precisely, jh is associated with an actively committing transaction in its disk writing phase (i.e. t_updates already dropped to zero).&lt;/p&gt;

&lt;p&gt;After a bit of tracing, we&apos;ve found that the transaction is restarting when changing a large EA to another large EA, which in RHEL8-based ldiskfs code causes a new EA inode to be allocated and the old inode to be freed. The truncate part of the old inode release sometimes fails to extend current transaction and has to restart it:&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;
mdt03_024-198115 [012] 45670.650452: kernel_stack:         &amp;lt;stack trace&amp;gt;
=&amp;gt; trace_event_raw_event_jbd2_handle_start_class (ffffffffc0c7e60c)
=&amp;gt; jbd2__journal_restart (ffffffffc0c75b5c)
=&amp;gt; ldiskfs_datasem_ensure_credits (ffffffffc1ac3431)
=&amp;gt; ldiskfs_ext_rm_leaf (ffffffffc1ac44e8)
=&amp;gt; ldiskfs_ext_remove_space (ffffffffc1ac8240)
=&amp;gt; ldiskfs_ext_truncate (ffffffffc1ac953a)
=&amp;gt; ldiskfs_truncate (ffffffffc1adbdcb)
=&amp;gt; ldiskfs_evict_inode (ffffffffc1adcc71)
=&amp;gt; evict (ffffffff84f37202)
=&amp;gt; ldiskfs_xattr_set_entry (ffffffffc1abcf1e)
=&amp;gt; ldiskfs_xattr_ibody_set (ffffffffc1abd5be)
=&amp;gt; ldiskfs_xattr_set_handle (ffffffffc1abf9e4)
=&amp;gt; ldiskfs_xattr_set (ffffffffc1abfd70)
=&amp;gt; __vfs_setxattr (ffffffff84f431b6)
=&amp;gt; osd_xattr_set (ffffffffc1b7891d)
=&amp;gt; lod_sub_xattr_set (ffffffffc17da152)
=&amp;gt; lod_generate_and_set_lovea (ffffffffc17c7d8c)
=&amp;gt; lod_striped_create (ffffffffc17c81d0)
=&amp;gt; lod_layout_change (ffffffffc17c839b)
=&amp;gt; mdd_layout_change (ffffffffc1850f7d)
=&amp;gt; mdt_layout_change (ffffffffc18aeaf1)
=&amp;gt; mdt_intent_layout (ffffffffc18b5e30)
=&amp;gt; mdt_intent_opc (ffffffffc18ac778)
=&amp;gt; mdt_intent_policy (ffffffffc18b3ba6)
=&amp;gt; ldlm_lock_enqueue (ffffffffc138ffff)
=&amp;gt; ldlm_handle_enqueue0 (ffffffffc13b811f)
=&amp;gt; tgt_enqueue (ffffffffc1441b14)
=&amp;gt; tgt_request_handle (ffffffffc14465cd)
=&amp;gt; ptlrpc_server_handle_request (ffffffffc13ecaea)
=&amp;gt; ptlrpc_main (ffffffffc13f132a)
=&amp;gt; kthread (ffffffff84d043a6)
=&amp;gt; ret_from_fork (ffffffff8560023f)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;One problematic part here is that transaction restart enforces current transaction commit so the incomplete transaction will likely commit before the kernel panics. It will cause ldiskfs corruption after remount. The reason why the kernel panic is that we restart this transaction somewhere in between of ldiskfs_get_write_access() and ldiskfs_mark_dirty_metadata() so the inode bh sticks in the old transaction:&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;
ldiskfs_xattr_set_handle(handle_t *handle, 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, &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)
...
        error = ldiskfs_reserve_inode_write(handle, inode, &amp;amp;is.iloc);
...
                error = ldiskfs_xattr_ibody_set(handle, inode, &amp;amp;i, &amp;amp;is);
...
                error = ldiskfs_mark_iloc_dirty(handle, inode, &amp;amp;is.iloc);
...
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;We don&apos;t have a fix yet and haven&apos;t yet decided how to fix this. E.g. moving final iput for the old EA inode out of transaction may be problematic with osd-ldiskfs/ldiskfs layering.&lt;/p&gt;

&lt;p&gt;The bug seems to be almost completely coming from upstream. However, credits calculation may be different in ext4 and osd-ldiskfs and the bug may not necessarily reproduce with ext4 alone.&lt;/p&gt;</description>
                <environment></environment>
        <key id="67776">LU-15404</key>
            <summary>kernel panic and filesystem corruption in setxattr due to journal transaction restart</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.whamcloud.com/images/icons/priorities/blocker.svg">Blocker</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="panda">Andrew Perepechko</assignee>
                                    <reporter username="panda">Andrew Perepechko</reporter>
                        <labels>
                            <label>LTS12</label>
                    </labels>
                <created>Sat, 1 Jan 2022 09:56:35 +0000</created>
                <updated>Fri, 24 Nov 2023 07:35:45 +0000</updated>
                            <resolved>Mon, 7 Feb 2022 14:58:45 +0000</resolved>
                                    <version>Lustre 2.15.0</version>
                                    <fixVersion>Lustre 2.16.0</fixVersion>
                    <fixVersion>Lustre 2.15.0</fixVersion>
                    <fixVersion>Lustre 2.15.3</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>12</watches>
                                                                            <comments>
                            <comment id="321721" author="adilger" created="Sun, 2 Jan 2022 19:13:27 +0000"  >&lt;p&gt;There is a mechanism to truncate/free the xattr inode outside of the main transaction to avoid similar problems. That normally is used during inode unlink, but could also be used here. &lt;/p&gt;</comment>
                            <comment id="322346" author="panda" created="Tue, 11 Jan 2022 17:13:05 +0000"  >&lt;p&gt;The crash/corruption can be reproduced with RHEL8/ext4, no Lustre involved:&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;
dd &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt;=/dev/zero of=/tmp/ldiskfs bs=1M count=100
mkfs.ext4 -O ea_inode /tmp/ldiskfs -J size=16 -I 512

mkdir -p /tmp/ldiskfs_m
mount -t ext4 /tmp/ldiskfs /tmp/ldiskfs_m -o loop,commit=600,no_mbcache
touch /tmp/ldiskfs_m/file{1..1024}

V=$(&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; i in `seq 60000`; &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; echo -n x ; done)
V1=&lt;span class=&quot;code-quote&quot;&gt;&quot;1$V&quot;&lt;/span&gt;
V2=&lt;span class=&quot;code-quote&quot;&gt;&quot;2$V&quot;&lt;/span&gt;

&lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;; &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt;
        setfattr -n user.xattr -v $V /tmp/ldiskfs_m/file{1..1024}
        setfattr -n user.xattr -v $V1 /tmp/ldiskfs_m/file{1..1024} &amp;amp;
        setfattr -n user.xattr -v $V2 /tmp/ldiskfs_m/file{1024..1} &amp;amp;
        wait
done

umount /tmp/ldiskfs_m
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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;
[  583.890993] loop0: detected capacity change from 0 to 104857600
[  583.960218] EXT4-fs (loop0): mounted filesystem with ordered data mode. Opts: commit=600,no_mbcache
[  596.812091] WARNING: CPU: 0 PID: 1799 at fs/ext4/ext4_jbd2.c:286 __ext4_handle_dirty_metadata+0xfe/0x190 [ext4]
[  596.813571] Modules linked in: loop netconsole rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd grace fscache nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nf_tables_set nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip_set kmodlve(O) ext4 mbcache jbd2 nf_tables nfnetlink vmwgfx ttm drm_kms_helper intel_rapl_msr intel_rapl_common syscopyarea sysfillrect sysimgblt fb_sys_fops drm crct10dif_pclmul crc32_pclmul ghash_clmulni_intel i2c_piix4 pcspkr video sunrpc xfs libcrc32c sr_mod sd_mod cdrom t10_pi sg ata_generic ahci libahci ata_piix libata e1000 crc32c_intel serio_raw
[  596.816151] CPU: 0 PID: 1799 Comm: setfattr Kdump: loaded Tainted: G           O     ---------r-  - 4.18.0-348.lve.el8.x86_64 #1
[  596.816952] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
[  596.817381] RIP: 0010:__ext4_handle_dirty_metadata+0xfe/0x190 [ext4]
[  596.817820] Code: c0 4c 89 ef 41 bc fb ff ff ff e8 4d ae 04 00 eb 92 3e 80 0b 01 4d 85 ed 75 a3 48 89 df 45 31 e4 e8 b7 c4 f5 ed e9 79 ff ff ff &amp;lt;0f&amp;gt; 0b 48 c7 c2 80 b2 86 c0 45 89 e0 48 89 e9 44 89 fe 4c 89 f7 e8
[  596.819164] RSP: 0018:ffffa57681fbfaa0 EFLAGS: 00010286
[  596.819619] RAX: ffff8c75c5ace000 RBX: ffff8c75def68f70 RCX: 0000000000000000
[  596.820096] RDX: ffff8c75df895a80 RSI: ffff8c75def68f70 RDI: ffff8c75df895a80
[  596.820569] RBP: ffff8c75df895a80 R08: ffff8c75def68f70 R09: 000000000000017c
[  596.821066] R10: ffff8c75c5ace000 R11: 0000000000000000 R12: 00000000ffffff8b
[  596.821547] R13: 0000000000000000 R14: ffffffffc086c080 R15: 0000000000001513
[  596.822040] FS:  00007fc9aa28b740(0000) GS:ffff8c75fec00000(0000) knlGS:0000000000000000
[  596.822514] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  596.822992] CR2: 000056391a5fc0a8 CR3: 000000001dfa8000 CR4: 00000000000506f0
[  596.823468] Call Trace:
[  596.823966]  ext4_do_update_inode+0x495/0x7e0 [ext4]
[  596.824450]  ext4_mark_iloc_dirty+0x32/0x80 [ext4]
[  596.824940]  ext4_xattr_set_handle+0x3b4/0x5b0 [ext4]
[  596.825427]  ext4_xattr_set+0xd0/0x160 [ext4]
[  596.825917]  __vfs_setxattr+0x66/0x80
[  596.826404]  __vfs_setxattr_noperm+0x67/0x1a0
[  596.826889]  vfs_setxattr+0x8f/0x160
[  596.827385]  setxattr+0x11f/0x180
[  596.827884]  ? filename_lookup.part.57+0xe0/0x170
[  596.828368]  ? 0xffffffffc29a90c8
[  596.828846]  path_setxattr+0xbe/0xe0
[  596.829300]  __x64_sys_setxattr+0x27/0x30
[  596.829762]  do_syscall_64+0x5b/0x1a0
[  596.830198]  entry_SYSCALL_64_after_hwframe+0x65/0xca
[  596.830604] RIP: 0033:0x7fc9a9b93bee
[  596.831000] Code: 48 8b 0d 9d 42 2c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 49 89 ca b8 bc 00 00 00 0f 05 &amp;lt;48&amp;gt; 3d 01 f0 ff ff 73 01 c3 48 8b 0d 6a 42 2c 00 f7 d8 64 89 01 48
[  596.832186] RSP: 002b:00007ffda6d36628 EFLAGS: 00000246 ORIG_RAX: 00000000000000bc
[  596.832573] RAX: ffffffffffffffda RBX: 000055c783ce7460 RCX: 00007fc9a9b93bee
[  596.832960] RDX: 000055c783ce7460 RSI: 00007ffda6d3a7ee RDI: 00007ffda6d49b33
[  596.833332] RBP: 00007ffda6d49b33 R08: 0000000000000000 R09: 0000000000000003
[  596.833748] R10: 000000000000ea61 R11: 0000000000000246 R12: 00007ffda6d3a7ee
[  596.834121] R13: 00007ffda6d36750 R14: 0000000000000000 R15: 0000000000000000
[  596.834496] ---[ end trace d7885920de5cb84f ]---
[  596.834922] EXT4-fs: ext4_do_update_inode:5395: aborting transaction: Corrupt filesystem in __ext4_handle_dirty_metadata
[  596.835728] EXT4: jbd2_journal_dirty_metadata failed: handle type 10 started at line 2481, credits 9/6, errcode -117
[  596.835731] EXT4-fs error (device loop0) in ext4_do_update_inode:5411: Corrupt filesystem
[  596.988994] EXT4-fs error (device loop0) in ext4_xattr_set:2489: Corrupt filesystem
[  601.332819] ------------[ cut here ]------------
[  601.333997] kernel BUG at fs/jbd2/transaction.c:1476!
[  601.335146] invalid opcode: 0000 [#1] SMP NOPTI
[  601.336161] CPU: 0 PID: 1800 Comm: setfattr Kdump: loaded Tainted: G        W  O     ---------r-  - 4.18.0-348.lve.el8.x86_64 #1
[  601.336980] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
[  601.337391] RIP: 0010:jbd2_journal_dirty_metadata+0x1fb/0x250 [jbd2]
[  601.337814] Code: f3 90 48 8b 03 a9 00 00 80 00 75 f4 e9 b3 fe ff ff 44 8b 45 0c 41 83 f8 01 74 8c e9 ec 94 00 00 4c 39 65 30 0f 84 68 fe ff ff &amp;lt;0f&amp;gt; 0b 4d 8b 4a 70 4c 8d 73 02 4d 39 cc 0f 84 33 ff ff ff e9 53 95
[  601.339102] RSP: 0018:ffffa57681fafa70 EFLAGS: 00010207
[  601.339546] RAX: 000000000062c029 RBX: ffff8c75df0913a8 RCX: 0000000000000000
[  601.340014] RDX: ffff8c75df895508 RSI: ffff8c75df0913a8 RDI: ffff8c75df895508
[  601.340480] RBP: ffff8c75df33c8e8 R08: ffff8c75df0913a8 R09: 000000000000017c
[  601.340952] R10: ffff8c75c5ace000 R11: 0000000000000000 R12: ffff8c75df896400
[  601.341417] R13: 0000000000000000 R14: ffffffffc086c080 R15: 0000000000001513
[  601.341894] FS:  00007fbb98090740(0000) GS:ffff8c75fec00000(0000) knlGS:0000000000000000
[  601.342379] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  601.342899] CR2: 000055cb052b80a8 CR3: 000000001bfcc000 CR4: 00000000000506f0
[  601.343408] Call Trace:
[  601.343942]  __ext4_handle_dirty_metadata+0x51/0x190 [ext4]
[  601.344425]  ext4_do_update_inode+0x495/0x7e0 [ext4]
[  601.344916]  ext4_mark_iloc_dirty+0x32/0x80 [ext4]
[  601.345389]  ext4_xattr_set_handle+0x3b4/0x5b0 [ext4]
[  601.345875]  ext4_xattr_set+0xd0/0x160 [ext4]
[  601.346364]  __vfs_setxattr+0x66/0x80
[  601.346842]  __vfs_setxattr_noperm+0x67/0x1a0
[  601.347295]  vfs_setxattr+0x8f/0x160
[  601.347742]  setxattr+0x11f/0x180
[  601.348186]  ? filename_lookup.part.57+0xe0/0x170
[  601.348616]  ? 0xffffffffc29a90c8
[  601.349030]  path_setxattr+0xbe/0xe0
[  601.349423]  __x64_sys_setxattr+0x27/0x30
[  601.349825]  do_syscall_64+0x5b/0x1a0
[  601.350200]  entry_SYSCALL_64_after_hwframe+0x65/0xca
[  601.350577] RIP: 0033:0x7fbb97998bee&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=adilger&quot; class=&quot;user-hover&quot; rel=&quot;adilger&quot;&gt;adilger&lt;/a&gt;, thank you for the advise. Yes, we considered this solution though it may be a bit ugly as we need to pass the inode through the whole ldiskfs/osd callstack. We cannot iput inside ldiskfs since the transaction handle is released in osd. Other solutions such as calculating the correct number of credits can be even more complicated and error-prone, though.&lt;/p&gt;</comment>
                            <comment id="323361" author="adilger" created="Thu, 20 Jan 2022 19:38:08 +0000"  >&lt;p&gt;In discussion with Cory on the LWG call, one straight-forward option is to increase the transaction credits by &lt;tt&gt;EXT4_XATTR_SIZE_MAX=64KB&lt;/tt&gt; so that there will be enough credits to also delete the old xattr inode.&lt;/p&gt;

&lt;p&gt;We don&apos;t want to increase this for &lt;b&gt;every&lt;/b&gt; xattr, since that would bloat the credits for creating files, but it is probably OK to do this for explicit setxattr RPCs, and only if the incoming xattr is large.  It is common to increase the size of xattrs, but very unlikely to decrease the size of xattrs, so this would be enough.&lt;/p&gt;

&lt;p&gt;The other alternative is to push the xattr inode to the orphan list (which will not take any extra credits), and then have a separate work queue to unlink the inode in the background.  If the inode is in the orphan list it will be handled at mount time in case of a crash.  This could be done entirely inside ldiskfs, so no need to push it up to osd-ldiskfs.&lt;/p&gt;</comment>
                            <comment id="324087" author="pjones" created="Thu, 27 Jan 2022 00:13:52 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=spitzcor&quot; class=&quot;user-hover&quot; rel=&quot;spitzcor&quot;&gt;spitzcor&lt;/a&gt; when do you expect a patch to be pushed for this issue?&lt;/p&gt;</comment>
                            <comment id="324153" author="spitzcor" created="Thu, 27 Jan 2022 17:00:35 +0000"  >&lt;p&gt;Soon; should be this week.  Panda has a quick fix a la the proposed credit++ approach, and a proposed real fix  with a delayed iput for the old EA inode moved out of the transaction.  I think he should push up both and we can keep our options open for 2.15.0.&lt;/p&gt;</comment>
                            <comment id="324294" author="gerrit" created="Fri, 28 Jan 2022 12:43:55 +0000"  >&lt;p&gt;&quot;Andrew Perepechko &amp;lt;andrew.perepechko@hpe.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/46358&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/46358&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15404&quot; title=&quot;kernel panic and filesystem corruption in setxattr due to journal transaction restart&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15404&quot;&gt;&lt;del&gt;LU-15404&lt;/del&gt;&lt;/a&gt; ldiskfs: truncate during setxattr leads to kernel panic&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 1a6856c8b9d038ac4a6ec0b3857bd11a5f46d583&lt;/p&gt;</comment>
                            <comment id="324327" author="simmonsja" created="Fri, 28 Jan 2022 18:09:04 +0000"  >&lt;p&gt;Is this a RHEL8 only problem?&lt;/p&gt;</comment>
                            <comment id="324338" author="adilger" created="Fri, 28 Jan 2022 19:25:13 +0000"  >&lt;p&gt;I believe yes, it only affects RHEL8 and later kernels that have the upstream xattr_inode feature, not RHEL7 or earlier that have the CFS/WC version of that feature. &lt;/p&gt;</comment>
                            <comment id="324489" author="adilger" created="Sun, 30 Jan 2022 19:40:40 +0000"  >&lt;p&gt;Andrew, could you please also submit your patch to the linux-ext4 mailing list so that it can hopefully be accepted there and maybe also maintenance kernels. &lt;/p&gt;</comment>
                            <comment id="324557" author="panda" created="Mon, 31 Jan 2022 08:33:28 +0000"  >&lt;p&gt;Andreas, I&apos;m afraid that the LKML guys will prefer to pass the inode to ext4_xattr_set() and iput there after transaction handle release, which won&apos;t work very well for us since our transaction starts and ends elsewhere and nice integration with the existing osd truncate list adds even more complexity since we operate with osd objects. Anyway, I&apos;ll ask Artem, who has reported this bug to LKML, to send the patch so we can at least push the discussion about possible solutions further.&lt;/p&gt;</comment>
                            <comment id="325406" author="gerrit" created="Mon, 7 Feb 2022 04:45:50 +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/46358/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/46358/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15404&quot; title=&quot;kernel panic and filesystem corruption in setxattr due to journal transaction restart&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15404&quot;&gt;&lt;del&gt;LU-15404&lt;/del&gt;&lt;/a&gt; ldiskfs: truncate during setxattr leads to kernel panic&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: e239a14001b62d96c186ae2c9f58402f73e63dcc&lt;/p&gt;</comment>
                            <comment id="325433" author="panda" created="Mon, 7 Feb 2022 13:30:04 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=artem_blagodarenko&quot; class=&quot;user-hover&quot; rel=&quot;artem_blagodarenko&quot;&gt;artem_blagodarenko&lt;/a&gt;, were you able to send the patch upstream? Thank you.&lt;/p&gt;</comment>
                            <comment id="325450" author="pjones" created="Mon, 7 Feb 2022 14:58:45 +0000"  >&lt;p&gt;Landed for 2.15&lt;/p&gt;</comment>
                            <comment id="325627" author="gerrit" created="Tue, 8 Feb 2022 19:13:57 +0000"  >&lt;p&gt;&quot;James Simmons &amp;lt;jsimmons@infradead.org&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/46480&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/46480&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15404&quot; title=&quot;kernel panic and filesystem corruption in setxattr due to journal transaction restart&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15404&quot;&gt;&lt;del&gt;LU-15404&lt;/del&gt;&lt;/a&gt; ldiskfs: port truncate fix to Ubuntu 20 HWE&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: b57d7fccd92a9867f00e6641d81661cfbb245c48&lt;/p&gt;</comment>
                            <comment id="327393" author="artem_blagodarenko" created="Fri, 25 Feb 2022 12:15:55 +0000"  >&lt;p&gt;&amp;gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=artem_blagodarenko&quot; class=&quot;user-hover&quot; rel=&quot;artem_blagodarenko&quot;&gt;artem_blagodarenko&lt;/a&gt;, were you able to send the patch upstream? Thank you.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=panda&quot; class=&quot;user-hover&quot; rel=&quot;panda&quot;&gt;panda&lt;/a&gt; &#160;&lt;a href=&quot;https://marc.info/?l=linux-ext4&amp;amp;m=164578706102904&amp;amp;w=2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://marc.info/?l=linux-ext4&amp;amp;m=164578706102904&amp;amp;w=2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="330606" author="artem_blagodarenko" created="Wed, 30 Mar 2022 11:11:13 +0000"  >&lt;p&gt;&#160;&lt;br/&gt;
The patch has been applied to the ext4&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;
Applied, thanks! &#160; 
[1/1] ext4: truncate during setxattr leads to kernel panic commit: c7cded845fc192cc35a1ca37c0cd957ee35abdf8&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="330636" author="panda" created="Wed, 30 Mar 2022 16:28:22 +0000"  >&lt;blockquote&gt;&lt;p&gt;&#160;The patch has been applied to the ext4&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;It seems there&apos;s a&#160; deadlock possible when ext4 unmount races with some p9 fs operation.&lt;/p&gt;</comment>
                            <comment id="336322" author="gerrit" created="Mon, 30 May 2022 18:43:41 +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/46480/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/46480/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15404&quot; title=&quot;kernel panic and filesystem corruption in setxattr due to journal transaction restart&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15404&quot;&gt;&lt;del&gt;LU-15404&lt;/del&gt;&lt;/a&gt; ldiskfs: port truncate fix to Ubuntu 20 HWE&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 968a050f94c21aa48de9a5d9c034a4216e18aa46&lt;/p&gt;</comment>
                            <comment id="365842" author="bzzz" created="Tue, 14 Mar 2023 07:22:01 +0000"  >&lt;p&gt;I &lt;b&gt;tend&lt;/b&gt; to think this patch causes specific issue at umount:&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;
PID: 18     TASK: ffff8f2f07dc44c0  CPU: 1   COMMAND: &lt;span class=&quot;code-quote&quot;&gt;&quot;kworker/1:0&quot;&lt;/span&gt;
 #0 [ffff8f2f07dcbb30] __schedule at ffffffff965a232d
    /tmp/kernel/kernel/sched/core.c: 3109
 #1 [ffff8f2f07dcbbb8] schedule at ffffffff965a2748
    /tmp/kernel/./arch/x86/include/asm/preempt.h: 84
 #2 [ffff8f2f07dcbbc8] schedule_timeout at ffffffff965a7559
    /tmp/kernel/kernel/time/timer.c: 1840
 #3 [ffff8f2f07dcbc98] wait_for_common at ffffffff965a3081
    /tmp/kernel/kernel/sched/completion.c: 86
 #4 [ffff8f2f07dcbce8] flush_workqueue at ffffffff960cdf9f
    /tmp/kernel/kernel/workqueue.c: 2828
 #5 [ffff8f2f07dcbdb8] ldiskfs_put_super at ffffffffc0b32a7e [ldiskfs]
    /home/lustre/master-mine/ldiskfs/&lt;span class=&quot;code-keyword&quot;&gt;super&lt;/span&gt;.c: 1028
 #6 [ffff8f2f07dcbdf0] generic_shutdown_super at ffffffff961d17cf
    /tmp/kernel/./include/linux/compiler.h: 276
 #7 [ffff8f2f07dcbe08] kill_block_super at ffffffff961d1a9c
    /tmp/kernel/fs/&lt;span class=&quot;code-keyword&quot;&gt;super&lt;/span&gt;.c: 1443
 #8 [ffff8f2f07dcbe20] deactivate_locked_super at ffffffff961d1e74
    /tmp/kernel/fs/&lt;span class=&quot;code-keyword&quot;&gt;super&lt;/span&gt;.c: 340
 #9 [ffff8f2f07dcbe38] cleanup_mnt at ffffffff961f0fc6
    /tmp/kernel/fs/namespace.c: 115
#10 [ffff8f2f07dcbe48] delayed_mntput at ffffffff961f1021
    /tmp/kernel/fs/namespace.c: 1156
#11 [ffff8f2f07dcbe58] process_one_work at ffffffff960cf8cf
    /tmp/kernel/kernel/workqueue.c: 2266
#12 [ffff8f2f07dcbed0] worker_thread at ffffffff960cfae5
    /tmp/kernel/./include/linux/compiler.h: 276
#13 [ffff8f2f07dcbf10] kthread at ffffffff960d5199
    /tmp/kernel/kernel/kthread.c: 340
#14 [ffff8f2f07dcbf50] ret_from_fork at ffffffff9660019f
    /tmp/kernel/arch/x86/entry/entry_64.S: 325
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;i.e. in worker thread (processing workqueues) ldiskfs_put_super() calls to flush_workqueue() to finish itself?&lt;/p&gt;</comment>
                            <comment id="365889" author="adilger" created="Tue, 14 Mar 2023 15:44:26 +0000"  >&lt;p&gt;Alex, it looks like the workqueue is flushed prior to unmount, but possibly iput of internal inodes during unmount are delayed again?  Probably need a check to avoid adding new inodes to queue once unmount has started?&lt;/p&gt;</comment>
                            <comment id="365960" author="panda" created="Wed, 15 Mar 2023 05:10:14 +0000"  >&lt;p&gt;I don&apos;t think the umount thread waits for itself. However, this patch was made to use specific ext4 workqueues to avoid deadlocks on global workqueues when upstreaming. I believe, Artem was the last one who looked into upstreaming this patch and may have its latest version.&lt;/p&gt;</comment>
                            <comment id="366000" author="bzzz" created="Wed, 15 Mar 2023 13:42:26 +0000"  >&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-keyword&quot;&gt;static&lt;/span&gt; void ldiskfs_put_super(struct super_block *sb)
{
        struct ldiskfs_sb_info *sbi = LDISKFS_SB(sb);
        struct ldiskfs_super_block *es = sbi-&amp;gt;s_es;
        struct buffer_head **group_desc;
        struct flex_groups **flex_groups;
        &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; aborted = 0;
        &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; i, err;

        flush_scheduled_work();

...

&lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; inline void flush_scheduled_work(void)
{
        flush_workqueue(system_wq);
.....

void flush_workqueue(struct workqueue_struct *wq)
{
...
        wait_for_completion(&amp;amp;this_flusher.done);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I tend to think that calling flush_workqueue() from the context of kworker is not good.&lt;/p&gt;</comment>
                            <comment id="366029" author="bzzz" created="Wed, 15 Mar 2023 17:14:45 +0000"  >&lt;p&gt;attaching full trace for the case, please have a look.&lt;/p&gt;</comment>
                            <comment id="366070" author="adilger" created="Thu, 16 Mar 2023 00:24:22 +0000"  >&lt;p&gt;Alex, do you what was holding the filesystem reference for &lt;tt&gt;delayed_mntput&lt;/tt&gt; in the kworker thread?  &lt;/p&gt;

&lt;p&gt;I&apos;m wondering if we need to put the &lt;tt&gt;flush_scheduled_work()&lt;/tt&gt; call in some &quot;pre cleanup&quot; superblock method for newer kernels, rather than having it in &lt;tt&gt;ldiskfs_put_super()&lt;/tt&gt;?&lt;/p&gt;

&lt;p&gt;The most recent version of this patch that Artem pushed to Linux-ext4 is at:&lt;br/&gt;
&lt;a href=&quot;https://patchwork.ozlabs.org/project/linux-ext4/patch/20220711145735.53676-1-artem.blagodarenko@gmail.com/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://patchwork.ozlabs.org/project/linux-ext4/patch/20220711145735.53676-1-artem.blagodarenko@gmail.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This used a dedicated per-filesystem work queue that was used rather than the global work queue. That potentially avoids long waits or deadlocks during unmount when multiple filesystems are adding inodes to a single queue and then they all need to wait for the entire queue to empty, as pointed out here:&lt;br/&gt;
&lt;a href=&quot;https://lore.kernel.org/all/385ce718-f965-4005-56b6-34922c4533b8@I-love.SAKURA.ne.jp/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://lore.kernel.org/all/385ce718-f965-4005-56b6-34922c4533b8@I-love.SAKURA.ne.jp/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="366651" author="gerrit" created="Tue, 21 Mar 2023 12:37:33 +0000"  >&lt;p&gt;&quot;Andrew Perepechko &amp;lt;andrew.perepechko@hpe.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/50354&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50354&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15404&quot; title=&quot;kernel panic and filesystem corruption in setxattr due to journal transaction restart&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15404&quot;&gt;&lt;del&gt;LU-15404&lt;/del&gt;&lt;/a&gt; ldiskfs: use per-filesystem workqueues to avoid deadlocks&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: ec3a8efce2a3328a89c9e0ef7eb0a3719f31290b&lt;/p&gt;</comment>
                            <comment id="366712" author="bzzz" created="Tue, 21 Mar 2023 17:52:14 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=adilger&quot; class=&quot;user-hover&quot; rel=&quot;adilger&quot;&gt;adilger&lt;/a&gt; sorry, was busy with another tickets.&lt;br/&gt;
&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=panda&quot; class=&quot;user-hover&quot; rel=&quot;panda&quot;&gt;panda&lt;/a&gt; thanks! will test your patch quickly and report back.&lt;/p&gt;</comment>
                            <comment id="368358" author="gerrit" created="Tue, 4 Apr 2023 14:32:59 +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/c/fs/lustre-release/+/50354/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50354/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15404&quot; title=&quot;kernel panic and filesystem corruption in setxattr due to journal transaction restart&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15404&quot;&gt;&lt;del&gt;LU-15404&lt;/del&gt;&lt;/a&gt; ldiskfs: use per-filesystem workqueues to avoid deadlocks&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 616fa9b581798e1b66e4d36113c29531ad7e41a0&lt;/p&gt;</comment>
                            <comment id="368899" author="gerrit" created="Mon, 10 Apr 2023 11:51:08 +0000"  >&lt;p&gt;&quot;Xing Huang &amp;lt;hxing@ddn.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/50586&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50586&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15404&quot; title=&quot;kernel panic and filesystem corruption in setxattr due to journal transaction restart&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15404&quot;&gt;&lt;del&gt;LU-15404&lt;/del&gt;&lt;/a&gt; ldiskfs: use per-filesystem workqueues to avoid deadlocks&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_15&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: f8b66bbe831c3f5fcf06b3ad22a5449fa004ff74&lt;/p&gt;</comment>
                            <comment id="370963" author="gerrit" created="Sat, 29 Apr 2023 01:29:08 +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/c/fs/lustre-release/+/50586/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50586/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15404&quot; title=&quot;kernel panic and filesystem corruption in setxattr due to journal transaction restart&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15404&quot;&gt;&lt;del&gt;LU-15404&lt;/del&gt;&lt;/a&gt; ldiskfs: use per-filesystem workqueues to avoid deadlocks&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_15&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 9ab613631b5833ba7e7a578fdb9819ebc593ab3c&lt;/p&gt;</comment>
                            <comment id="375595" author="gerrit" created="Thu, 15 Jun 2023 19:38:11 +0000"  >&lt;p&gt;&quot;Andreas Dilger &amp;lt;adilger@whamcloud.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/51335&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/51335&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15404&quot; title=&quot;kernel panic and filesystem corruption in setxattr due to journal transaction restart&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15404&quot;&gt;&lt;del&gt;LU-15404&lt;/del&gt;&lt;/a&gt; ldiskfs: fix truncate during setxattr for el7.9&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 9595ef28e16eeb110844c952e6a58079ded40500&lt;/p&gt;</comment>
                            <comment id="376797" author="gerrit" created="Wed, 28 Jun 2023 21:45:47 +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/c/fs/lustre-release/+/51335/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/51335/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15404&quot; title=&quot;kernel panic and filesystem corruption in setxattr due to journal transaction restart&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15404&quot;&gt;&lt;del&gt;LU-15404&lt;/del&gt;&lt;/a&gt; ldiskfs: fix truncate during setxattr for el7.9&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 471ce3d95651ca06209a76973cae3bbdb5b6aa2f&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="67195">LU-15238</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="79153">LU-17312</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="71291">LU-16032</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="67484">LU-15333</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="77092">LU-16973</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="48435" name="bt-all.txt" size="150350" author="bzzz" created="Wed, 15 Mar 2023 17:14:59 +0000"/>
                    </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|i02dhz:</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>