<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:08:21 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-14277] any create blocked due any OST fail</title>
                <link>https://jira.whamcloud.com/browse/LU-14277</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;multiple MDT threads blocked by one declare_create call due OST fail.&lt;br/&gt;
rwsem_down_write_failed&lt;br/&gt;
call_rwsem_down_write_failed&lt;br/&gt;
lod_qos_prep_create&lt;br/&gt;
lod_declare_striped_object&lt;br/&gt;
lod_declare_object_create&lt;br/&gt;
mdd_declare_object_create_internal&lt;br/&gt;
mdd_declare_create&lt;br/&gt;
mdd_create&lt;br/&gt;
mdo_create&lt;br/&gt;
mdt_reint_open&lt;br/&gt;
mdt_reint_rec&lt;br/&gt;
mdt_reint_internal&lt;br/&gt;
mdt_intent_reint&lt;br/&gt;
mdt_intent_policy&lt;br/&gt;
ldlm_lock_enqueue&lt;br/&gt;
ldlm_handle_enqueue0&lt;br/&gt;
tgt_enqueue&lt;br/&gt;
tgt_request_handle&lt;br/&gt;
ptlrpc_main&lt;br/&gt;
kthread&lt;br/&gt;
vs&lt;br/&gt;
osp_precreate_reserve&lt;br/&gt;
osp_declare_object_create&lt;br/&gt;
lod_qos_declare_object_on&lt;br/&gt;
lod_alloc_rr.clone.2&lt;br/&gt;
lod_qos_prep_create&lt;br/&gt;
lod_declare_striped_object&lt;br/&gt;
lod_declare_object_create&lt;br/&gt;
mdd_declare_object_create_internal&lt;br/&gt;
mdd_declare_create&lt;br/&gt;
mdd_create&lt;br/&gt;
mdo_create&lt;br/&gt;
mdt_reint_open&lt;br/&gt;
mdt_reint_rec&lt;br/&gt;
mdt_reint_internal&lt;br/&gt;
mdt_intent_reint&lt;br/&gt;
mdt_intent_policy&lt;br/&gt;
ldlm_lock_enqueue&lt;br/&gt;
ldlm_handle_enqueue0&lt;br/&gt;
tgt_enqueue&lt;br/&gt;
tgt_request_handle&lt;br/&gt;
ptlrpc_main&lt;br/&gt;
kthread&lt;br/&gt;
kernel_thread&lt;/p&gt;</description>
                <environment></environment>
        <key id="62153">LU-14277</key>
            <summary>any create blocked due any OST fail</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="shadow">Alexey Lyashkov</assignee>
                                    <reporter username="shadow">Alexey Lyashkov</reporter>
                        <labels>
                    </labels>
                <created>Wed, 23 Dec 2020 13:51:29 +0000</created>
                <updated>Mon, 12 Jun 2023 23:52:32 +0000</updated>
                            <resolved>Wed, 26 Jan 2022 14:37:52 +0000</resolved>
                                                    <fixVersion>Lustre 2.15.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="288292" author="bzzz" created="Wed, 23 Dec 2020 13:53:13 +0000"  >&lt;p&gt;I think this is a dup of &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13073&quot; title=&quot;Multiple MDS deadlocks (in lod_qos_prep_create) after OSS crash&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13073&quot;&gt;&lt;del&gt;LU-13073&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="288297" author="shadow" created="Wed, 23 Dec 2020 14:46:20 +0000"  >&lt;p&gt;It probably. But my fix much much simple - just revert some code landed with LOV -&amp;gt; LOD transmission.&lt;br/&gt;
Let&apos;s looks to it.&lt;/p&gt;</comment>
                            <comment id="288300" author="shadow" created="Wed, 23 Dec 2020 15:06:54 +0000"  >&lt;p&gt;one more bug introduced by last changes in replace LQ_DIRTY with bitfield.&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;c1d0a355a6a (Lai Siyao          2019-08-05 02:08:02 +0800  327)         up_write(&amp;amp;ltd-&amp;gt;ltd_qos.lq_rw_sem);
c7f2e70a27e (Alex Zhuravlev     2012-09-20 15:56:31 +0400  328)
c7f2e70a27e (Alex Zhuravlev     2012-09-20 15:56:31 +0400  329)         if (placed != real_count) {
c7f2e70a27e (Alex Zhuravlev     2012-09-20 15:56:31 +0400  330)                 /* This should never happen */
c1d0a355a6a (Lai Siyao          2019-08-05 02:08:02 +0800  331)                 LCONSOLE_ERROR_MSG(0x14e, &quot;Failed to place all tgts in the &quot;
c7f2e70a27e (Alex Zhuravlev     2012-09-20 15:56:31 +0400  332)                                    &quot;round-robin list (%d of %d).\n&quot;,
c7f2e70a27e (Alex Zhuravlev     2012-09-20 15:56:31 +0400  333)                                    placed, real_count);
c7f2e70a27e (Alex Zhuravlev     2012-09-20 15:56:31 +0400  334)                 for (i = 0; i &amp;lt; lqr-&amp;gt;lqr_pool.op_count; i++) {
c1d0a355a6a (Lai Siyao          2019-08-05 02:08:02 +0800  335)                         LCONSOLE(D_WARNING, &quot;rr #%d tgt idx=%d\n&quot;, i,
c7f2e70a27e (Alex Zhuravlev     2012-09-20 15:56:31 +0400  336)                                  lqr-&amp;gt;lqr_pool.op_array[i]);
c7f2e70a27e (Alex Zhuravlev     2012-09-20 15:56:31 +0400  337)                 }
c7f2e70a27e (Alex Zhuravlev     2012-09-20 15:56:31 +0400  338)                 lqr-&amp;gt;lqr_dirty = 1; 
c7f2e70a27e (Alex Zhuravlev     2012-09-20 15:56:31 +0400  339)                 RETURN(-EAGAIN);

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;lqr_dirty was without lock held.&lt;/p&gt;</comment>
                            <comment id="288344" author="adilger" created="Wed, 23 Dec 2020 23:33:57 +0000"  >&lt;blockquote&gt;
&lt;p&gt;But my fix much much simple - just revert some code landed with LOV -&amp;gt; LOD transmission.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Why not push that patch under &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13073&quot; title=&quot;Multiple MDS deadlocks (in lod_qos_prep_create) after OSS crash&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13073&quot;&gt;&lt;del&gt;LU-13073&lt;/del&gt;&lt;/a&gt;?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;lqr_dirty was without lock held.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;That &lt;tt&gt;lqr_dirty = 1&lt;/tt&gt; is in a &quot;should never happen&quot; code path with a very clear error message that is not being seen here, so it doesn&apos;t seem to be related to this problem.&lt;/p&gt;</comment>
                            <comment id="288345" author="adilger" created="Wed, 23 Dec 2020 23:45:59 +0000"  >&lt;blockquote&gt;
&lt;p&gt;one more bug introduced by last changes in replace LQ_DIRTY with bitfield.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I don&apos;t see any patch like that...  There no reference to &quot;&lt;tt&gt;LQ_DIRTY&lt;/tt&gt;&quot; in any of the patches in Git.  The very first patch introducing &lt;tt&gt;lqr_dirty&lt;/tt&gt; (replacing &lt;tt&gt;lq_dirty_rr&lt;/tt&gt;) is using a bitfield, and it has been a bitfield since that time, even though the code was moved around to different files a few times:&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;commit 665e36b780faa2144cecccd29a0d8a8196a76903
Author:     Nathan Rutman &amp;lt;nathan@clusterfs.com&amp;gt;
AuthorDate: Mon Sep 15 23:25:34 2008 +0000

    b=14836
    i=nathan
    i=adilger
    OST pools on HEAD, comprehensive patch including 17054:19007;
    16935:18918,19012,19089,19128; 16978:18872

:
:
+/* Round-robin allocator data */
+struct lov_qos_rr {
+        __u32               lqr_start_idx;   /* start index of new inode */
+        __u32               lqr_offset_idx;  /* aliasing for start_idx  */
+        int                 lqr_start_count; /* reseed counter */
+        struct ost_pool     lqr_pool;        /* round-robin optimized list */
+        unsigned long       lqr_dirty:1;     /* recalc round-robin list */
+};
+
+/* Stripe placement optimization */
 struct lov_qos {
         struct list_head    lq_oss_list;    /* list of OSSs that targets use */
         struct rw_semaphore lq_rw_sem;
         __u32               lq_active_oss_count;
-        __u32              *lq_rr_array;    /* round-robin optimized list */
-        unsigned int        lq_rr_size;     /* rr array size */
         unsigned int        lq_prio_free;   /* priority for free space */
+        struct lov_qos_rr   lq_rr;          /* round robin qos data */
         unsigned long       lq_dirty:1,     /* recalc qos data */
-                            lq_dirty_rr:1,  /* recalc round-robin list */
                             lq_same_space:1,/* the ost&apos;s all have approx.
                                                the same space avail */
                             lq_reset:1;     /* zero current penalties */
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The patch that introduced &lt;tt&gt;lq_dirty_rr&lt;/tt&gt; was also using a bitfield:&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;commit 113303973ec9f8484eb2355a1a6ef3c4c7fd6a56
Author:     Nathan Rutman &amp;lt;nathan@clusterfs.com&amp;gt;
AuthorDate: Sat Feb 10 06:33:41 2007 +0000

    land b1_5 onto HEAD

:
:
+struct lov_qos {
+        struct list_head    lq_oss_list;    /* list of OSSs that targets use */
+        struct rw_semaphore lq_rw_sem;
+        __u32               lq_active_oss_count;
+        __u32              *lq_rr_array;    /* round-robin optimized list */
+        unsigned int        lq_rr_size;     /* rr array size */
+        unsigned int        lq_prio_free;   /* priority for free space */
+        unsigned int        lq_dirty:1,     /* recalc qos data */
+                            lq_dirty_rr:1,  /* recalc round-robin list */
+                            lq_same_space:1,/* the ost&apos;s all have approx.
+                                               the same space avail */
+                            lq_reset:1;     /* zero current penalties */
+};
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I&apos;m happy to see a simpler fix and look forward to seeing your patch.&lt;/p&gt;</comment>
                            <comment id="288384" author="shadow" created="Thu, 24 Dec 2020 10:38:41 +0000"  >&lt;p&gt;Andreas, lets open a lustre 2.0..2.4 code. Before an LOD was introduced.&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;[root@lustre lov]# grep _DIRTY *
lov_obd.c:	cfs_set_bit(LQ_DIRTY, &amp;amp;lov-&amp;gt;lov_qos.lq_flags);
lov_qos.c:	cfs_set_bit(LQ_DIRTY, &amp;amp;lov-&amp;gt;lov_qos.lq_flags);
lov_qos.c:	cfs_set_bit(LQ_DIRTY, &amp;amp;lov-&amp;gt;lov_qos.lq_flags);
lov_qos.c:        if (!cfs_test_bit(LQ_DIRTY, &amp;amp;lov-&amp;gt;lov_qos.lq_flags))
lov_qos.c:        cfs_clear_bit(LQ_DIRTY, &amp;amp;lov-&amp;gt;lov_qos.lq_flags);
lov_qos.c:        if (!cfs_test_bit(LQ_DIRTY, &amp;amp;lov-&amp;gt;lov_qos.lq_flags) &amp;amp;&amp;amp;
lov_qos.c:        if (cfs_test_bit(LQ_DIRTY, &amp;amp;lov-&amp;gt;lov_qos.lq_flags))
lov_qos.c:        cfs_set_bit(LQ_DIRTY, &amp;amp;lov-&amp;gt;lov_qos.lq_flags);
lproc_lov.c:	cfs_set_bit(LQ_DIRTY, &amp;amp;lov-&amp;gt;lov_qos.lq_flags);
lproc_lov.c:	cfs_set_bit(LQ_DIRTY, &amp;amp;lov-&amp;gt;lov_qos.lq_flags);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;But i talk about LQ_SF_PROGRESS bit.&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;void qos_statfs_update(struct obd_device *obd, __u64 max_age, int wait)
{
        struct lov_obd         *lov = &amp;amp;obd-&amp;gt;u.lov;
        struct obd_info        *oinfo;
        int                     rc = 0;
        struct ptlrpc_request_set *set = NULL;
        ENTRY;

        if (cfs_time_beforeq_64(max_age, obd-&amp;gt;obd_osfs_age))
                /* statfs data are quite recent, don&apos;t need to refresh it */
                RETURN_EXIT;

        /* Check if statfs already in progress */
        if (cfs_test_and_set_bit(LQ_SF_PROGRESS, &amp;amp;lov-&amp;gt;lov_qos.lq_flags))
                GOTO(out, rc = 0);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;LQ_SF_PROGRESS was gone in LOV -&amp;gt; LOD transmission, but LQ_DIRTY still exist in 2.7..2.12.&lt;br/&gt;
And gone with QOS move from lod to the lu_qos.&lt;/p&gt;

&lt;p&gt;for 2.12 code this code is safe.&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;
--- a/lustre/lod/lod_internal.h
+++ b/lustre/lod/lod_internal.h
@@ -83,7 +83,7 @@ &lt;span class=&quot;code-keyword&quot;&gt;enum&lt;/span&gt; lq_flag {
        LQ_SAME_SPACE   = 1, /* the ost&apos;s all have approx.
                                 the same space avail */
        LQ_RESET        = 2, &lt;span class=&quot;code-comment&quot;&gt;/* zero current penalties */&lt;/span&gt;
-
+       LQ_SF_PROGRESS  = 3  &lt;span class=&quot;code-comment&quot;&gt;/* statfs op in progress */&lt;/span&gt;
 };

 struct lod_qos {
diff --git a/lustre/lod/lod_qos.c b/lustre/lod/lod_qos.c
index 1c377422b1..be0c10f0e8 100644
--- a/lustre/lod/lod_qos.c
+++ b/lustre/lod/lod_qos.c
@@ -291,11 +291,11 @@ void lod_qos_statfs_update(&lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; struct lu_env *env, struct lod_device *lod)
                &lt;span class=&quot;code-comment&quot;&gt;/* statfs data are quite recent, don&apos;t need to refresh it */&lt;/span&gt;
                RETURN_EXIT;

-       down_write(&amp;amp;lod-&amp;gt;lod_qos.lq_rw_sem);
-
-       &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (obd-&amp;gt;obd_osfs_age &amp;gt; max_age)
-               &lt;span class=&quot;code-keyword&quot;&gt;goto&lt;/span&gt; out;
+       &lt;span class=&quot;code-comment&quot;&gt;/* Check &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; statfs already in progress */&lt;/span&gt;
+       &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (test_and_set_bit(LQ_SF_PROGRESS, &amp;amp;lod-&amp;gt;lod_qos.lq_flags))
+               RETURN_EXIT;

+       down_read(&amp;amp;osts-&amp;gt;op_rw_sem);
        &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; (i = 0; i &amp;lt; osts-&amp;gt;op_count; i++) {
                idx = osts-&amp;gt;op_array[i];
                avail = OST_TGT(lod,idx)-&amp;gt;ltd_statfs.os_bavail;
@@ -306,10 +306,12 @@ void lod_qos_statfs_update(&lt;span class=&quot;code-keyword&quot;&gt;const&lt;/span&gt; struct lu_env *env, struct lod_device *lod)
                        &lt;span class=&quot;code-comment&quot;&gt;/* recalculate weigths */&lt;/span&gt;
                        set_bit(LQ_DIRTY, &amp;amp;lod-&amp;gt;lod_qos.lq_flags);
        }
+       up_read(&amp;amp;osts-&amp;gt;op_rw_sem);
+
        obd-&amp;gt;obd_osfs_age = ktime_get_seconds();

-out:
-       up_write(&amp;amp;lod-&amp;gt;lod_qos.lq_rw_sem);
+       clear_bit(LQ_SF_PROGRESS, &amp;amp;lod-&amp;gt;lod_qos.lq_flags);
+
        EXIT;
 }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;read semaphore is good  protection from the global pool modification and set dirty bit is good atomic operation.&lt;br/&gt;
But for current master i stick with porting. Because i want a revert so much code to have working it fine.&lt;/p&gt;</comment>
                            <comment id="288386" author="shadow" created="Thu, 24 Dec 2020 11:18:46 +0000"  >&lt;p&gt;Hm.. it looks this patch just don&apos;t accepted by WC in past :-/&lt;br/&gt;
&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7853&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.whamcloud.com/browse/LU-7853&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="288387" author="zam" created="Thu, 24 Dec 2020 11:18:48 +0000"  >&lt;p&gt;there was an attempt to convert those bitfields to atomic bits : &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7853&quot; title=&quot;Fixes bitfield in lod qos code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7853&quot;&gt;&lt;del&gt;LU-7853&lt;/del&gt;&lt;/a&gt; , needs to be updated after lod_qos  code reorganization.&lt;/p&gt;</comment>
                            <comment id="288406" author="adilger" created="Thu, 24 Dec 2020 18:43:41 +0000"  >&lt;blockquote&gt;
&lt;p&gt;Hm.. it looks this patch just don&apos;t accepted by WC in past :-/&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The original version of &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7853&quot; title=&quot;Fixes bitfield in lod qos code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7853&quot;&gt;&lt;del&gt;LU-7853&lt;/del&gt;&lt;/a&gt; didn&apos;t give any reason why the patch was needed, so I asked for an explanation and eventually got one. Then the patch was failing testing repeatedly until it was fixed. I&apos;ve reviewed that patch many times, and approved it. The last version finished testing the day before another batch of patches were landed by Oleg, but it didn&apos;t get refreshed since that time. &lt;/p&gt;

&lt;p&gt;I don&apos;t think that equals &quot;don&apos;t accepted by WC&quot;. Everyone has to follow the same process for landing patches. I have lots of patches that I would like landed, but I know the work is mine to update them and to get them past testing before they can land. &lt;/p&gt;</comment>
                            <comment id="288407" author="bzzz" created="Thu, 24 Dec 2020 19:13:21 +0000"  >&lt;p&gt;I think the rule is very simple: patch accepted - you&apos;re lucky, grab a cake; not yet accepted - press rebase.&lt;/p&gt;</comment>
                            <comment id="288408" author="shadow" created="Thu, 24 Dec 2020 19:22:50 +0000"  >&lt;p&gt;Andreas, this patch is needs because of large number points where unprotected set used.&lt;br/&gt;
If any parallel set to same &apos;long&apos; will used this will be lost one of modifications due read-modify-set operation.&lt;br/&gt;
set_bit is prevent such bugs.&lt;br/&gt;
Anyway, Thanks Zam to the explanation why i seen this patch on any own tree for any 2.x based and it looks time to rebase and fix last issues with him. Like lqr_dirty and lq_dirty is same semantic but it one of them don&apos;t set sometimes (like with add target to pool).&lt;/p&gt;

&lt;p&gt;Alex, sorry about reverting notice.&lt;/p&gt;
</comment>
                            <comment id="288409" author="bzzz" created="Thu, 24 Dec 2020 19:30:50 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/ViewProfile.jspa?name=shadow&quot; class=&quot;user-hover&quot; rel=&quot;shadow&quot;&gt;shadow&lt;/a&gt;I&apos;m fine, I&apos;m just trying to say that the list of the patches (ready to land!) can be very long and sometimes it takes months to get through - because of priorities, luck, etc. I do have patches hanging around with +2 for months, but basically master can&apos;t accept too many in short time, it&apos;s just a way to keep it more-less stable. the good thing is that rebase button simplifies efforts to maintain patch uptodate (not guaranteed, of course). and a good test demonstrating the issue helps, obviously.&lt;/p&gt;</comment>
                            <comment id="288410" author="shadow" created="Thu, 24 Dec 2020 20:27:55 +0000"  >&lt;p&gt;Ok. i will pickup an &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7853&quot; title=&quot;Fixes bitfield in lod qos code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7853&quot;&gt;&lt;del&gt;LU-7853&lt;/del&gt;&lt;/a&gt; rebase it, and fix an problem with qos_rr lqr dirty. It looks it need to be covered to bit flag also.&lt;/p&gt;</comment>
                            <comment id="321316" author="spitzcor" created="Tue, 21 Dec 2021 18:23:17 +0000"  >&lt;p&gt;&lt;a href=&quot;https://review.whamcloud.com/#/c/41497/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/#/c/41497/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="323932" author="gerrit" created="Wed, 26 Jan 2022 05:12:15 +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/41497/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/41497/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14277&quot; title=&quot;any create blocked due any OST fail&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14277&quot;&gt;&lt;del&gt;LU-14277&lt;/del&gt;&lt;/a&gt; lod: statfs should not block a create&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 6cdb08a0c598b20a4b0ce27f7fe4763b0ada3118&lt;/p&gt;</comment>
                            <comment id="324014" author="pjones" created="Wed, 26 Jan 2022 14:37:52 +0000"  >&lt;p&gt;Landed for 2.15&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="57632">LU-13073</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="35183">LU-7853</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="67722">LU-15393</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                                        </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|i01i5r:</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>