<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:05:31 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-7045] NOT enough transaction credits for osp_write_local_file()</title>
                <link>https://jira.whamcloud.com/browse/LU-7045</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Test Lustre master branch on RHEL 7.1 client and server, conf-sanity test 81 hung and syslog on MDS showed that:&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;Jun 10 16:28:25 shadow-15vm8 kernel: ------------[ cut here ]------------
Jun 10 16:28:25 shadow-15vm8 kernel: WARNING: at /var/lib/jenkins/workspace/lustre-master/arch/x86_64/build_type/server/distro/el7/ib_stack/inkernel/BUILD/BUILD/lustre-2.7.54/ldiskfs/ext4_jbd2.c:260 __ldiskfs_handle_dirty_metadata+0x1c2/0x220 [ldiskfs]()
Jun 10 16:28:25 shadow-15vm8 kernel: Modules linked in: osp(OF) mdd(OF) lod(OF) mdt(OF) lfsck(OF) mgs(OF) mgc(OF) osd_ldiskfs(OF) lquota(OF) fid(OF) fld(OF) ksocklnd(OF) ptlrpc(OF) obdclass(OF) lnet(OF) libcfs(OF) ldiskfs(OF) sha512_generic dm_mod nfsv3 nfs_acl rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd fscache xprtrdma sunrpc ib_isert iscsi_target_mod ib_iser libiscsi scsi_transport_iscsi ib_srpt target_core_mod ib_srp scsi_transport_srp scsi_tgt ib_ipoib rdma_ucm ib_ucm ib_uverbs ib_umad rdma_cm ib_cm iw_cm ib_sa ib_mad ib_core ib_addr ppdev pcspkr serio_raw parport_pc virtio_balloon i2c_piix4 parport ext4 mbcache jbd2 ata_generic pata_acpi virtio_blk cirrus syscopyarea sysfillrect sysimgblt drm_kms_helper ttm 8139too virtio_pci 8139cp virtio_ring virtio mii drm ata_piix libata i2c_core floppy [last unloaded: libcfs]
Jun 10 16:28:25 shadow-15vm8 kernel: 
Jun 10 16:28:25 shadow-15vm8 kernel: CPU: 1 PID: 18882 Comm: llog_process_th Tainted: GF       W  O--------------   3.10.0-229.4.2.el7_lustre.g1fee634.x86_64 #1
Jun 10 16:28:25 shadow-15vm8 kernel: Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2007
Jun 10 16:28:25 shadow-15vm8 kernel: 0000000000000000 000000005e4d00bc ffff88006d6a77f0 ffffffff816050da
Jun 10 16:28:25 shadow-15vm8 kernel: ffff88006d6a7828 ffffffff8106e34b ffff88000083fc98 ffff88007b5877e0
Jun 10 16:28:25 shadow-15vm8 kernel: ffff88005c362708 ffffffffa062745c 0000000000000325 ffff88006d6a7838
Jun 10 16:28:25 shadow-15vm8 kernel: Call Trace:
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffff816050da&amp;gt;] dump_stack+0x19/0x1b
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffff8106e34b&amp;gt;] warn_slowpath_common+0x6b/0xb0
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffff8106e49a&amp;gt;] warn_slowpath_null+0x1a/0x20
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa05d26b2&amp;gt;] __ldiskfs_handle_dirty_metadata+0x1c2/0x220 [ldiskfs]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa05e30c1&amp;gt;] ldiskfs_getblk+0x131/0x200 [ldiskfs]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa05e31b7&amp;gt;] ldiskfs_bread+0x27/0xc0 [ldiskfs]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa0bca919&amp;gt;] osd_ldiskfs_write_record+0x169/0x350 [osd_ldiskfs]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa0bcabdf&amp;gt;] osd_write+0xdf/0x200 [osd_ldiskfs]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa0765399&amp;gt;] dt_record_write+0x39/0x120 [obdclass]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa0eed261&amp;gt;] osp_write_local_file.isra.16+0x284/0x30c [osp]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa0eed7ca&amp;gt;] osp_last_used_init+0x1e7/0xaa6 [osp]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa0ecef84&amp;gt;] osp_init0.isra.17+0x1b44/0x2060 [osp]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa0ecf549&amp;gt;] osp_device_alloc+0xa9/0x1a0 [osp]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa074b6c4&amp;gt;] obd_setup+0x114/0x2a0 [obdclass]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa074f430&amp;gt;] class_setup+0x2a0/0x820 [obdclass]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa0753b0c&amp;gt;] class_process_config+0x224c/0x2e50 [obdclass]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa0571967&amp;gt;] ? libcfs_debug_msg+0x57/0x80 [libcfs]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa0754f6f&amp;gt;] class_config_llog_handler+0x85f/0x16e0 [obdclass]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa071945a&amp;gt;] llog_process_thread+0x7aa/0xe90 [obdclass]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa071a4f0&amp;gt;] ? llog_backup+0x500/0x500 [obdclass]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffffa071a53c&amp;gt;] llog_process_thread_daemonize+0x4c/0x80 [obdclass]
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffff8109739f&amp;gt;] kthread+0xcf/0xe0
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffff810972d0&amp;gt;] ? kthread_create_on_node+0x140/0x140
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffff81614f7c&amp;gt;] ret_from_fork+0x7c/0xb0
Jun 10 16:28:25 shadow-15vm8 kernel: [&amp;lt;ffffffff810972d0&amp;gt;] ? kthread_create_on_node+0x140/0x140
Jun 10 16:28:25 shadow-15vm8 kernel: ---[ end trace ddd376db706c5663 ]---
Jun 10 16:28:25 shadow-15vm8 kernel: LDISKFS-fs: ldiskfs_getblk:805: aborting transaction: error 28 in __ldiskfs_handle_dirty_metadata
Jun 10 16:28:25 shadow-15vm8 kernel: LDISKFS-fs error (device dm-0): ldiskfs_getblk:805: inode #132: block 16827: comm llog_process_th: journal_dirty_metadata failed: handle type 0 started at line 967, credits 6/0, errcode -28
Jun 10 16:28:25 shadow-15vm8 kernel: Aborting journal on device dm-0-8.
Jun 10 16:28:25 shadow-15vm8 kernel: LDISKFS-fs (dm-0): Remounting filesystem read-only
Jun 10 16:28:25 shadow-15vm8 kernel: LustreError: 18882:0:(osd_io.c:1645:osd_ldiskfs_write_record()) dm-0: error reading offset 84152 (block 20): rc = -28
Jun 10 16:28:25 shadow-15vm8 kernel: LDISKFS-fs error (device dm-0) in osd_trans_stop:1052: error 28
Jun 10 16:28:25 shadow-15vm8 kernel: LustreError: 18458:0:(osd_handler.c:829:osd_trans_commit_cb()) transaction @0xffff8800700b43c0 commit error: 2
Jun 10 16:28:25 shadow-15vm8 kernel: LustreError: 18882:0:(osd_handler.c:1055:osd_trans_stop()) lustre-MDT0000-osd: failed to stop transaction: rc = -28
Jun 10 16:28:25 shadow-15vm8 kernel: LustreError: 18882:0:(osp_dev.c:283:osp_init_last_objid()) lustre-OST2917-osc-MDT0000: can&apos;t initialize lov_objid: rc = -28
Jun 10 16:28:25 shadow-15vm8 kernel: LustreError: 18882:0:(osp_dev.c:369:osp_last_used_init()) lustre-OST2917-osc-MDT0000: Can not get ids -28 from old objid!
Jun 10 16:28:25 shadow-15vm8 kernel: LustreError: 18882:0:(obd_config.c:558:class_setup()) setup lustre-OST2917-osc-MDT0000 failed (-28)
Jun 10 16:28:25 shadow-15vm8 kernel: LustreError: 18882:0:(obd_config.c:1601:class_config_llog_handler()) MGC10.1.4.179@tcp: cfg command failed: rc = -28
Jun 10 16:28:25 shadow-15vm8 kernel: Lustre:    cmd=cf003 0:lustre-OST2917-osc-MDT0000  1:lustre-OST2917_UUID  2:10.1.4.178@tcp  

Jun 10 16:28:25 shadow-15vm8 kernel: LustreError: 18477:0:(mgc_request.c:527:do_requeue()) failed processing log: -28
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The Maloo instances:&lt;br/&gt;
&lt;a href=&quot;https://testing.hpdd.intel.com/sub_tests/ebb78d16-1044-11e5-8fc4-5254006e85c2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://testing.hpdd.intel.com/sub_tests/ebb78d16-1044-11e5-8fc4-5254006e85c2&lt;/a&gt;&lt;/p&gt;</description>
                <environment>RHEL 7.1 client and server</environment>
        <key id="31714">LU-7045</key>
            <summary>NOT enough transaction credits for osp_write_local_file()</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.whamcloud.com/images/icons/priorities/critical.svg">Critical</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="yong.fan">nasf</assignee>
                                    <reporter username="yong.fan">nasf</reporter>
                        <labels>
                    </labels>
                <created>Wed, 26 Aug 2015 11:30:10 +0000</created>
                <updated>Wed, 14 Oct 2015 14:19:49 +0000</updated>
                            <resolved>Wed, 14 Oct 2015 14:19:49 +0000</resolved>
                                    <version>Lustre 2.8.0</version>
                                    <fixVersion>Lustre 2.8.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>10</watches>
                                                                            <comments>
                            <comment id="126615" author="yong.fan" created="Tue, 8 Sep 2015 09:48:23 +0000"  >&lt;p&gt;Here are some failure instances:&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;LDISKFS-fs error (device dm-0): ldiskfs_getblk:805: inode #132: block 16827: comm llog_process_th: journal_dirty_metadata failed: handle type 0 started at line 967, credits 6/0, errcode -28
LDISKFS-fs error (device dm-0): ldiskfs_getblk:810: inode #123: block 17157: comm llog_process_th: journal_dirty_metadata failed: handle type 0 started at line 1083, credits 6/0, errcode -28
LDISKFS-fs error (device dm-0): ldiskfs_getblk:810: inode #123: block 17148: comm llog_process_th: journal_dirty_metadata failed: handle type 0 started at line 1083, credits 6/0, errcode -28
LDISKFS-fs error (device dm-0): ldiskfs_getblk:810: inode #133: block 16800: comm llog_process_th: journal_dirty_metadata failed: handle type 0 started at line 1083, credits 6/0, errcode -28
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The directly reason for the failure is that when the the ldiskfs_bread() wanted to allocate new block for osp_write_local_file(), it found that all the declared 6 credits have been exhausted.&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-keyword&quot;&gt;static&lt;/span&gt; ssize_t osd_declare_write(&lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; struct lu_env *env, struct dt_object *dt,
                                 &lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; struct lu_buf *buf, loff_t _pos,
                                 struct thandle *handle)
{
...
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (osd_extents_enabled(sb, inode)) {
                /*
                 * many concurrent threads may grow tree by the time
                 * our transaction starts. so, consider 2 is a min depth
                 * &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; every level we may need to allocate a &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; block
                 * and take some entries from the old one. so, 3 blocks
                 * to allocate (bitmap, gd, itself) + old block - 4 per
                 * level.
                 */
                depth = inode != NULL ? ext_depth(inode) : 0;
                depth = max(depth, 1) + 1;
                credits = depth;
                /* &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; not append, then split may need to modify
                 * existing blocks moving entries into the &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; ones */
                &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (_pos == -1)
                        credits += depth;
                &lt;span class=&quot;code-comment&quot;&gt;/* blocks to store data: bitmap,gd,itself */&lt;/span&gt;
                credits += blocks * 3;
        } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
                credits = osd_calc_bkmap_credits(sb, inode, size, _pos, blocks);
        }
        /* &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; inode is created as part of the transaction,
         * then it&apos;s counted already by the creation method */
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (inode != NULL)
                credits++;
...
}

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Generally, for OSP on the MDT, we will NOT enable &quot;extents&quot; feature, so the logic path should be: osd_declare_write() =&amp;gt; osd_calc_bkmap_credits(). According to the block# (to be modified), we can know the write offset, and then we can know how the osd_declare_write() will prepare the transaction credits: it should be (1 + 2) * 3 + 1 = 10. But according to the failure log, the declared credits is 6, such value was calculated via the logic path with &quot;extents&quot; feature enable! That is conflict with our former conclusion for the OSP on the MDT. So I suspect that the &quot;extents&quot; feature has been enabled by wrong for some unknown reason. I will make a patch to verify that.&lt;/p&gt;</comment>
                            <comment id="126618" author="bzzz" created="Tue, 8 Sep 2015 10:37:29 +0000"  >&lt;p&gt;whether extents feature is enabled on MDT or not shouldn&apos;t make credits calculation wrong. this logic is per-inode for the reason.&lt;/p&gt;</comment>
                            <comment id="126619" author="yong.fan" created="Tue, 8 Sep 2015 10:48:59 +0000"  >&lt;p&gt;If the &quot;extents&quot; is disabled, then the credits for osp_write_local_file() at the block 16xxx (or 17xxx) should be 10, otherwise, the credits will be 6. According to the error message, it is 6, so the &quot;extents&quot; feature has been enabled when declare the credits. But on the MDT, it should NOT.&lt;/p&gt;

&lt;p&gt;What I suspect is that: from the inode view, the &quot;extents&quot; is NOT enabled, so when allocate the block, it used traditional triple-indirect blocks mechanism; but from the super block view, it is enabled, so when declare the credits, it used &quot;extents&quot; mode. Such difference will cause the credits trouble. Currently, I cannot find which code will cause such confused logic, but I will make patch to verify whether such case exists or not.&lt;/p&gt;</comment>
                            <comment id="126621" author="bzzz" created="Tue, 8 Sep 2015 11:04:17 +0000"  >&lt;p&gt;extents is per-inode and once inode is allocated osd_extents_enabled() uses that specific inode to learn the exact method:&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-keyword&quot;&gt;if&lt;/span&gt; (inode != NULL) {
		&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (LDISKFS_I(inode)-&amp;gt;i_flags &amp;amp; LDISKFS_EXTENTS_FL)
			&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; 1;
	} &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (LDISKFS_HAS_INCOMPAT_FEATURE(sb,
				LDISKFS_FEATURE_INCOMPAT_EXTENTS)) {
		&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; 1;
	}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="126623" author="yong.fan" created="Tue, 8 Sep 2015 11:09:33 +0000"  >&lt;p&gt;But we do not know whether the &quot;inode&quot; is NULL or not when declare. It can be NULL.&lt;/p&gt;</comment>
                            <comment id="126624" author="bzzz" created="Tue, 8 Sep 2015 11:20:57 +0000"  >&lt;p&gt;ldiskfs_new_inode():&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;	if (LDISKFS_HAS_INCOMPAT_FEATURE(sb, LDISKFS_FEATURE_INCOMPAT_EXTENTS)) {&lt;br/&gt;
		/* set extent flag only for directory, file and normal symlink*/&lt;br/&gt;
		if (S_ISDIR(mode) || S_ISREG(mode) || S_ISLNK(mode)) {&lt;br/&gt;
			ldiskfs_set_inode_flag(inode, LDISKFS_INODE_EXTENTS);&lt;/p&gt;&lt;/blockquote&gt;</comment>
                            <comment id="126625" author="yong.fan" created="Tue, 8 Sep 2015 11:26:44 +0000"  >&lt;p&gt;I am also confused considering the ldiskfs_new_inode(). But if &quot;extents&quot; was not enabled, how to explain the declared credits is &quot;6&quot;, not &quot;10&quot;?&lt;/p&gt;</comment>
                            <comment id="126628" author="bzzz" created="Tue, 8 Sep 2015 12:19:33 +0000"  >&lt;p&gt;I&apos;d rather think it was osd_calc_bkmap_credits() returning (1 + 2), then osd_declare_write() adding 1, so 4 and the remaining 2 came from osd_declare_inode_qid()&lt;/p&gt;</comment>
                            <comment id="126742" author="yujian" created="Wed, 9 Sep 2015 01:46:02 +0000"  >&lt;p&gt;Hi Nasf,&lt;/p&gt;

&lt;p&gt;Could you please create a patch for master branch? Thank you.&lt;/p&gt;</comment>
                            <comment id="126743" author="gerrit" created="Wed, 9 Sep 2015 02:06:27 +0000"  >&lt;p&gt;Fan Yong (fan.yong@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/16330&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/16330&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7045&quot; title=&quot;NOT enough transaction credits for osp_write_local_file()&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7045&quot;&gt;&lt;del&gt;LU-7045&lt;/del&gt;&lt;/a&gt; osd: enough credits for single indirect block write&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 95e2c1d58959af73dd6c08357e398f5593d7d4aa&lt;/p&gt;</comment>
                            <comment id="126901" author="yong.fan" created="Thu, 10 Sep 2015 12:55:58 +0000"  >&lt;p&gt;Debug patch shows that when the issue happened, the &quot;extents&quot; feature is disabled on the MDT. So the block allocation follows the traditional triple indirect blocks mechanism. The patch &lt;a href=&quot;http://review.whamcloud.com/16330&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/16330&lt;/a&gt; should have fixed the issue.&lt;/p&gt;</comment>
                            <comment id="126919" author="bzzz" created="Thu, 10 Sep 2015 15:28:27 +0000"  >&lt;p&gt;triple indirect? the patch changes single-indirect logic only.&lt;/p&gt;</comment>
                            <comment id="126922" author="yong.fan" created="Thu, 10 Sep 2015 15:36:35 +0000"  >&lt;p&gt;I mean that the non-extents block allocation method. In our case, the patch fixes the improper logic that was used for optimising single indirect block.&lt;/p&gt;</comment>
                            <comment id="130330" author="gerrit" created="Wed, 14 Oct 2015 04:34:02 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/16330/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/16330/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7045&quot; title=&quot;NOT enough transaction credits for osp_write_local_file()&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7045&quot;&gt;&lt;del&gt;LU-7045&lt;/del&gt;&lt;/a&gt; osd: enough credits for single indirect block write&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 85c6c099d83b19480dd4160de57e7ffac5b312af&lt;/p&gt;</comment>
                            <comment id="130369" author="jgmitter" created="Wed, 14 Oct 2015 14:19:49 +0000"  >&lt;p&gt;Landed for 2.8&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10120">
                    <name>Blocker</name>
                                            <outwardlinks description="is blocking">
                                        <issuelink>
            <issuekey id="31067">LU-6843</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                                        </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|hzxldz:</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>