<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:12:37 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-7867] OI scrubber causing performance issues</title>
                <link>https://jira.whamcloud.com/browse/LU-7867</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;OI scrubber causing performance issues.&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;There are orphaned objects that are causing the OI scrubber to start.&lt;/li&gt;
	&lt;li&gt;Is there an online or offline way of running lfsck at the moment?&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="35290">LU-7867</key>
            <summary>OI scrubber causing performance issues</summary>
                <type id="9" iconUrl="https://jira.whamcloud.com/images/icons/issuetypes/undefined.png">Question/Request</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="yong.fan">nasf</assignee>
                                    <reporter username="dustb100">Dustin Leverman</reporter>
                        <labels>
                    </labels>
                <created>Sat, 12 Mar 2016 03:29:06 +0000</created>
                <updated>Wed, 15 Jun 2016 13:55:09 +0000</updated>
                            <resolved>Mon, 9 May 2016 05:56:23 +0000</resolved>
                                    <version>Lustre 2.5.5</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>9</watches>
                                                                            <comments>
                            <comment id="145309" author="yujian" created="Sat, 12 Mar 2016 03:38:44 +0000"  >&lt;p&gt;Hi Dustin,&lt;/p&gt;

&lt;p&gt;I checked the question with nasf who is the expert of lfsck and OI scrub. He had more questions:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;What is the orphan object, orphan MDT-object or orphan OST-object? Is it for the case of that the MDT-object has been unlinked but related OST-object has not been destroyed? If yes, that is the orphan OST-object, and can be repaired via layout LFSCK. Unfortunately, Lustre layout LFSCK for orphan OST-object is available only since Lustre-2.6.&lt;/li&gt;
	&lt;li&gt;How the OI scrub is triggered, manually or automatically? If the latter case, means there are some inconsistency detected during normal RPC handling. OI scrub/LFSCK is online tool. Means we allow the application to run on client during OI scrub/LFSCK scanning. But under such case, such as FID based RPC is trying to access some bad OI mapping, then the client will get -115 error and retry the RPC until related OI mapping is fixed. Such processing is invisible to the application, and looks like the application become very slow.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Could you please take a look if the second one is the case you hit? Thank you.&lt;/p&gt;
</comment>
                            <comment id="145310" author="adilger" created="Sat, 12 Mar 2016 04:11:47 +0000"  >&lt;p&gt;Please provide specific error messages from the console log, otherwise it is difficult to know what actual problem being hit. &lt;/p&gt;</comment>
                            <comment id="145403" author="dustb100" created="Mon, 14 Mar 2016 12:54:42 +0000"  >&lt;p&gt;Jian, &lt;br/&gt;
    This is an orphaned OST object, and the MDT object appears to have already been unlinked. Since we are running lustre-2.5.5+ we do not have the lfsck functionality we would need to fix it. &lt;/p&gt;

&lt;p&gt;The OI scrub is being triggered automatically with messages like these every 5 minutes or so: &lt;/p&gt;

&lt;p&gt;Mar 14 12:48:25 f1-oss1d8 kernel: &lt;span class=&quot;error&quot;&gt;&amp;#91;1379308.219915&amp;#93;&lt;/span&gt; Lustre: f1-OST00bf-osd: trigger OI scrub by RPC for &lt;span class=&quot;error&quot;&gt;&amp;#91;0x100000000:0x33d61e8:0x0&amp;#93;&lt;/span&gt;, rc = 0 &lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;&lt;br/&gt;
Mar 14 12:48:25 f1-oss1d8 kernel: &lt;span class=&quot;error&quot;&gt;&amp;#91;1379308.242266&amp;#93;&lt;/span&gt; LustreError: 117664:0:(ofd_obd.c:1096:ofd_destroy()) f1-OST00bf: error destroying object &lt;span class=&quot;error&quot;&gt;&amp;#91;0x100000000:0x33d61e8:0x0&amp;#93;&lt;/span&gt;: -115&lt;br/&gt;
Mar 14 12:48:26 f1-oss1d8 kernel: &lt;span class=&quot;error&quot;&gt;&amp;#91;1379309.219224&amp;#93;&lt;/span&gt; LustreError: 117664:0:(ofd_obd.c:1096:ofd_destroy()) f1-OST00bf: error destroying object &lt;span class=&quot;error&quot;&gt;&amp;#91;0x100000000:0x3304752:0x0&amp;#93;&lt;/span&gt;: -115&lt;/p&gt;

&lt;p&gt;We have had to fix this a few times before by manually removing those objects, however we were wondering if we could use lfsck to fix this problem so we don&apos;t keep running into it? In our version of lustre is either online or offline lfsck supported? &lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Dustin &lt;/p&gt;</comment>
                            <comment id="145411" author="dustb100" created="Mon, 14 Mar 2016 14:10:40 +0000"  >&lt;p&gt;To address the performance impact of having the OI scrubber start every 5 minutes, is it safe to disable the OI scrubber for that OST until we come up with a solution?&lt;/p&gt;

&lt;p&gt; lctl set_param osd-ldiskfs.f1-OST00bf.auto_scrub=0&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Dustin &lt;/p&gt;</comment>
                            <comment id="145432" author="yong.fan" created="Mon, 14 Mar 2016 16:16:14 +0000"  >&lt;p&gt;Disable auto_scrub (set it as 0) will cause related RPC handler to return -78 to the sponsor directly if detect insistent OI mapping. That can avoid the slow performance, but related application may fail out (because of -78 failure). According to logs you pasted, it is the destroying OST-object triggered the OI scrub, and the failure of destroying the OST-object caused orphan.&lt;/p&gt;

&lt;p&gt;In fact, I suspect that the OI mapping is valid, but it is some improper check that misguided the OI scrub. I will try to make patch to fix that.&lt;/p&gt;</comment>
                            <comment id="145521" author="gerrit" created="Tue, 15 Mar 2016 00:42:10 +0000"  >&lt;p&gt;Fan Yong (fan.yong@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/18912&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/18912&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7867&quot; title=&quot;OI scrubber causing performance issues&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7867&quot;&gt;&lt;del&gt;LU-7867&lt;/del&gt;&lt;/a&gt; osd-ldiskfs: compatible check for IDIF OI consistency&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_5_fe&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 4770e4f44b9efefeb1673d9f87d4813067b6e0c6&lt;/p&gt;</comment>
                            <comment id="145528" author="yong.fan" created="Tue, 15 Mar 2016 02:45:38 +0000"  >&lt;p&gt;Dustin,&lt;/p&gt;

&lt;p&gt;The patch 18912 will fix the issue of finding inconsistent OI mapping and trigger OI scrub. With that, you need NOT to disable auto_scrub, and the performance should be recovered. But for the orphan OST-objects that have existed already, this patch can help nothing. Since Lustre-2.5.5 does not support the new online layout LFSCK, you have to use the old lfsck (for detail, please check old Lustre manual &quot;27.2 lfsck&quot; section) to find out them. If you do NOT care about some orphan OST-objects (which waste some OST space, depends on the orphans&apos; size), then just apply this patch directly.&lt;/p&gt;</comment>
                            <comment id="145531" author="ezell" created="Tue, 15 Mar 2016 04:21:17 +0000"  >&lt;p&gt;Hi Nasf-&lt;/p&gt;

&lt;p&gt;Thanks for the patch.  I think I&apos;m missing something... This file system was formatted under Lustre 2.4 and upgraded to 2.5.  We have never run anything newer here*, so I would expect all of our object to be old-style IDIF (OST index set to 0).  As I understand it, the patch will now equate old-style and new-style IDIF objects to prevent the scrubber from starting due to this - this is good.  But where are the new-style objids coming from?  We have had ldiskfs issues on this OST before, might some version of e2fsck have &quot;fixed&quot; the LMA for us?&lt;/p&gt;

&lt;p&gt;Is it this confusion between old-style and new-style IDIFs &lt;em&gt;also&lt;/em&gt; causing the &quot;error destroying object&quot; with -115 message, or is that caused by something else?  I understand that this patch cannot recover objects that have already been orphaned, but I want to make sure we don&apos;t keep accumulating orphans.&lt;/p&gt;

&lt;p&gt;Thanks!&lt;/p&gt;

&lt;p&gt;*Note: The servers have only ever been 2.4.x or 2.5.x.  Clients have been 1.8.x, 2.4.x, 2.5.x, and 2.7.x.  It&apos;s possible that a test client may have used a 2.8 pre-release at some point.&lt;/p&gt;</comment>
                            <comment id="145534" author="yong.fan" created="Tue, 15 Mar 2016 04:47:37 +0000"  >&lt;p&gt;The IDIF (for the OST-object) stored in the LMA EA on disk is the old format, means the index is always 0, but the index for the given IDIF from upper layer for lookup the OST-object may be not zero. Currently, I cannot 100% sure that it is such difference caused your trouble, but it is a likely suspected point and once it is happen, it will cause your trouble. This patch can verify and prevent such case. The patch will not change any on-disk data, applying the patch is harmless for your system.&lt;/p&gt;

&lt;p&gt;On the other hand, the data on your disk keeps old format, nobody changed. When the OI scrub triggered in your system, it tried to update the IFID-in-LMA EA, but the new generated one was still zero indexed, the same as original one. That equals to nothing to be updated. That is why you may see that the OI scrub was triggered repeatedly by the same IDIF periodically.&lt;/p&gt;

&lt;p&gt;The &quot;error destroying object&quot; with -115 message was returned by the osd_fid_lookup() when locating the OST-object for destroying. Before the OI scrub completed, the OSD could not know which local inode was mapped to the given IDIF, so the destroying operation was blocked or failed. That is why the orphan OST-object generated. This patch will filter out the index difference and unnecessary prevent OI scrub, then avoid more OST-object orphans.&lt;/p&gt;</comment>
                            <comment id="145619" author="ezell" created="Tue, 15 Mar 2016 16:58:44 +0000"  >&lt;p&gt;Thanks for the update.  I noticed from your patch that there&apos;s already a CDEBUG for D_INODE in &lt;em&gt;osd_check_lma&lt;/em&gt; so I added &lt;em&gt;inode&lt;/em&gt; to the debug string and waited for this to trigger again.  I dumped the log and found the following:&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;00000010:00000002:5.0:1458059877.008993:0:21045:0:(ost_handler.c:2398:ost_handle()) destroy
00002000:00080000:5.0:1458059877.008998:0:21045:0:(ofd_obd.c:1075:ofd_destroy()) f1-OST00bf: Destroy object 0x0:54354408 count 1
00000004:00000002:5.0:1458059877.009023:0:21045:0:(osd_handler.c:491:osd_check_lma()) f1-OST00bf: FID [0x100000000:0x33d61e8:0x0] != self_fid [0x100000000:0x320e401:0x0]
00000004:02000400:5.0:1458059877.009110:0:21045:0:(osd_handler.c:589:osd_fid_lookup()) f1-OST00bf-osd: trigger OI scrub by RPC for [0x100000000:0x33d61e8:0x0], rc = 0 [1]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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;00000010:00000002:5.0:1458059878.032100:0:21052:0:(ost_handler.c:2398:ost_handle()) destroy
00002000:00080000:5.0:1458059878.032104:0:21052:0:(ofd_obd.c:1075:ofd_destroy()) f1-OST00bf: Destroy object 0x0:53495634 count 1
00000004:00000002:5.0:1458059878.032126:0:21052:0:(osd_handler.c:491:osd_check_lma()) f1-OST00bf: FID [0x100000000:0x3304752:0x0] != self_fid [0x100000000:0x320e400:0x0]
00002000:00020000:5.0:1458059878.032129:0:21052:0:(ofd_obd.c:1096:ofd_destroy()) f1-OST00bf: error destroying object [0x100000000:0x3304752:0x0]: -115
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Do those look like the same IDIF just with different indexes?  I don&apos;t know how that information is packed in there, but they don&apos;t look like they match to me.&lt;/p&gt;

&lt;p&gt;Here&apos;s some information about that first object:&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@f1-oss1d8 ~]# debugfs -c -R &apos;stat O/0/d8/54354408&apos; /dev/mapper/f1-ddn1d-l53
debugfs 1.42.13.wc4 (28-Nov-2015)
/dev/mapper/f1-ddn1d-l53: catastrophic mode - not reading inode or group bitmaps
Inode: 562889   Type: regular    Mode:  0666   Flags: 0x80000
Generation: 833716884    Version: 0x0000000e:00c7ec1c
User:   800   Group:   502   Size: 1048576
File ACL: 0    Directory ACL: 0
Links: 1   Blockcount: 2048
Fragment:  Address: 0    Number: 0    Size: 0
 ctime: 0x552a389a:00000000 -- Sun Apr 12 09:19:22 2015
 atime: 0x566c289a:c40af440 -- Sat Dec 12 14:00:58 2015
 mtime: 0x552a389a:00000000 -- Sun Apr 12 09:19:22 2015
crtime: 0x552a3831:79d980f4 -- Sun Apr 12 09:17:37 2015
Size of extra inode fields: 28
Extended attributes stored in inode body: 
invalid EA entry in inode
EXTENTS:
(0-254):17259-17513, (255):17514
[root@f1-oss1d8 ~]# rpm -qf /sbin/debugfs
e2fsprogs-1.42.13.wc4-7.el6.x86_64
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;What does &quot;invalid EA entry in inode&quot; mean?  Is this object damaged?&lt;/p&gt;</comment>
                            <comment id="145622" author="ezell" created="Tue, 15 Mar 2016 17:06:23 +0000"  >&lt;p&gt;Err...&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@f1-oss1d8 ~]# debugfs -c -R &apos;stat O/0/d8/54354408&apos; /dev/mapper/f1-ddn1d-l53
debugfs 1.42.13.wc4 (28-Nov-2015)
/dev/mapper/f1-ddn1d-l53: catastrophic mode - not reading inode or group bitmaps
Inode: 562889   Type: regular    Mode:  0666   Flags: 0x80000
Generation: 833716884    Version: 0x0000000e:00c7ec1c
User:   800   Group:   502   Size: 1048576
File ACL: 0    Directory ACL: 0
Links: 1   Blockcount: 2048
Fragment:  Address: 0    Number: 0    Size: 0
 ctime: 0x552a389a:00000000 -- Sun Apr 12 09:19:22 2015
 atime: 0x566c289a:c40af440 -- Sat Dec 12 14:00:58 2015
 mtime: 0x552a389a:00000000 -- Sun Apr 12 09:19:22 2015
crtime: 0x552a3831:79d980f4 -- Sun Apr 12 09:17:37 2015
Size of extra inode fields: 28
Extended attributes stored in inode body: 
invalid EA entry in inode
EXTENTS:
(0-254):17259-17513, (255):17514
[root@f1-oss1d8 ~]# debugfs -c -R &apos;stat O/0/d1/52487169&apos; /dev/mapper/f1-ddn1d-l53
debugfs 1.42.13.wc4 (28-Nov-2015)
/dev/mapper/f1-ddn1d-l53: catastrophic mode - not reading inode or group bitmaps
Inode: 562889   Type: regular    Mode:  0666   Flags: 0x80000
Generation: 833716884    Version: 0x0000000e:00c7ec1c
User:   800   Group:   502   Size: 1048576
File ACL: 0    Directory ACL: 0
Links: 1   Blockcount: 2048
Fragment:  Address: 0    Number: 0    Size: 0
 ctime: 0x552a389a:00000000 -- Sun Apr 12 09:19:22 2015
 atime: 0x566c289a:c40af440 -- Sat Dec 12 14:00:58 2015
 mtime: 0x552a389a:00000000 -- Sun Apr 12 09:19:22 2015
crtime: 0x552a3831:79d980f4 -- Sun Apr 12 09:17:37 2015
Size of extra inode fields: 28
Extended attributes stored in inode body: 
invalid EA entry in inode
EXTENTS:
(0-254):17259-17513, (255):17514
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Note both objects claim to be inode 562889 but the link count is 1.&lt;/p&gt;</comment>
                            <comment id="145637" author="adilger" created="Tue, 15 Mar 2016 17:52:49 +0000"  >&lt;p&gt;I was going to suggest to check object O/0/d0/52487168 for the same reason. &lt;/p&gt;

&lt;p&gt;At this point, I would recommend to take this OST offline and run &quot;e2fsck -fn&quot; to see if there is corruption. I suspect that there will be at least some shared blocks, as it appears that at least one inode table block has been written to the wrong location, or there is some corruption in the directory entry. It is also unfortunate that the xattr data is reporting as corrupted, since this could otherwise be used to determine which inodes are the right ones and which are being referenced incorrectly. This can at least partially be checked from the kernel logs. &lt;/p&gt;</comment>
                            <comment id="145640" author="adilger" created="Tue, 15 Mar 2016 17:55:06 +0000"  >&lt;p&gt;Depending on what kind of corruption is detected by e2fsck, it might be best to just let &quot;e2fsck -fy&quot; run and fix the problems, then ll_recover_lost_found_objs to recover anything left in lost+found. &lt;/p&gt;

&lt;p&gt;Has there been any corruption or other disk errors reported on this system?&lt;/p&gt;</comment>
                            <comment id="145665" author="dustb100" created="Tue, 15 Mar 2016 20:04:30 +0000"  >&lt;p&gt;Andreas, &lt;br/&gt;
        This LUN has had corruption issues in the past (last April to be exact). We did run an e2fsck on it until it ran clean, however that was using an older version of e2fsprogs. Perhaps the new version would find issues that the last version could not, and we can check that. It will take a week or two to schedule a downtime with the customer to perform maintenance. &lt;/p&gt;

&lt;p&gt;I don&apos;t know if this is telling or not but $(degugfs -c -R &apos;stats&apos; &amp;lt;LUN&amp;gt;) is telling us that the LUN is clean. Also, we did not open a Jira ticket on this last corruption issue, it was handled with DDN. &lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Dustin &lt;/p&gt;</comment>
                            <comment id="145719" author="yong.fan" created="Wed, 16 Mar 2016 06:52:39 +0000"  >&lt;blockquote&gt;
&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@f1-oss1d8 ~&amp;#93;&lt;/span&gt;# debugfs -c -R &apos;stat O/0/d8/54354408&apos; /dev/mapper/f1-ddn1d-l53&lt;br/&gt;
debugfs 1.42.13.wc4 (28-Nov-2015)&lt;br/&gt;
/dev/mapper/f1-ddn1d-l53: catastrophic mode - not reading inode or group bitmaps&lt;br/&gt;
Inode: 562889   Type: regular    Mode:  0666   Flags: 0x80000&lt;br/&gt;
Generation: 833716884    Version: 0x0000000e:00c7ec1c&lt;br/&gt;
User:   800   Group:   502   Size: 1048576&lt;br/&gt;
File ACL: 0    Directory ACL: 0&lt;br/&gt;
Links: 1   Blockcount: 2048&lt;br/&gt;
Fragment:  Address: 0    Number: 0    Size: 0&lt;br/&gt;
 ctime: 0x552a389a:00000000 &amp;#8211; Sun Apr 12 09:19:22 2015&lt;br/&gt;
 atime: 0x566c289a:c40af440 &amp;#8211; Sat Dec 12 14:00:58 2015&lt;br/&gt;
 mtime: 0x552a389a:00000000 &amp;#8211; Sun Apr 12 09:19:22 2015&lt;br/&gt;
crtime: 0x552a3831:79d980f4 &amp;#8211; Sun Apr 12 09:17:37 2015&lt;br/&gt;
Size of extra inode fields: 28&lt;br/&gt;
Extended attributes stored in inode body: &lt;br/&gt;
invalid EA entry in inode&lt;br/&gt;
EXTENTS:&lt;br/&gt;
(0-254):17259-17513, (255):17514&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;That means the OI mapping for FID &lt;span class=&quot;error&quot;&gt;&amp;#91;0x100000000:0x33d61e8:0x0&amp;#93;&lt;/span&gt; is mapped to the inode 562889 with the name entry &quot;/O/0/d8/54354408&quot;, but such name entry is wrong. The inode is referenced by the name entry &quot;/O/0/d1/52487169&quot;, that has been verified via the FID-in-LMA. The info of &quot;invalid EA entry in inode&quot; does not means the inode corruption, because the OSD could read LMA EA. I would suggest you to update the e2fsprogs, that may be helpful, and if we can get the PFID EA from the inode 562889, then we can know whether related MDT-object is still there or not.&lt;/p&gt;

&lt;p&gt;Lustre OST-object is always single referenced, so the unrecognised mapping entry &quot;/O/0/d8/54354408&quot; is wrong. I am not sure how the corruption was generated, but your site is not the first one to hit such trouble. Anyway, run e2fsck to fix the disk level corruption is the first step.&lt;/p&gt;</comment>
                            <comment id="145776" author="ezell" created="Wed, 16 Mar 2016 14:56:08 +0000"  >&lt;p&gt;The check that is causing debugfs to mark the EA data as invalid is&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;(!ea_inode &amp;amp;&amp;amp; value + entry-&amp;gt;e_value_size &amp;gt;= end)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;because for LMA, entry-&amp;gt;e_value_size = 24 and value + entry-&amp;gt;e_value_size = end.  I ran debugfs under gdb and manually set entry-&amp;gt;e_value_size = 23.  This resulted in the following output:&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;Inode: 562889   Type: regular    Mode:  0666   Flags: 0x80000
Generation: 833716884    Version: 0x0000000e:00c7ec1c
User:   800   Group:   502   Size: 1048576
File ACL: 0    Directory ACL: 0
Links: 1   Blockcount: 2048
Fragment:  Address: 0    Number: 0    Size: 0
 ctime: 0x552a389a:00000000 -- Sun Apr 12 09:19:22 2015
 atime: 0x566c289a:c40af440 -- Sat Dec 12 14:00:58 2015
 mtime: 0x552a389a:00000000 -- Sun Apr 12 09:19:22 2015
crtime: 0x552a3831:79d980f4 -- Sun Apr 12 09:17:37 2015
Size of extra inode fields: 28
Extended attributes stored in inode body: 
  lma = &quot;08 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 e4 20 03 00 00 00 &quot; (23)
  fid = &quot;f8 95 00 22 29 03 00 02 00 00 00 00 02 00 00 00 &quot; (16)
  fid: parent=[0x2000329220095f8:0x0:0x0] stripe=2
EXTENTS:
(0-254):17259-17513, (255):17514
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I don&apos;t think that formatting for the parent fid is correct, and feeding it directly into fid2path results in invalid argument.  I think the sequence provided is actually the sequence+objid (is this a bug? should this print a &apos;valid&apos; fid?) so I tried:&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;# lfs fid2path /lustre/f1 0x200032922:0x95f8:0x0
fid2path: error on FID 0x200032922:0x95f8:0x0: No such file or directory
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This is expected, since the RPC that causes this OI lookup is trying to destroy the object anyway.  My guess is that the MDS has deleted its inode and it added all the objects to the llog for removal.  llog processing sent an unlink RPC to the OST, but due to this damaged object returned -115.  I&apos;m not familiar with llog processing, but I would hazard to guess that it retries the unlink (since we are seeing this RPC every ~600 seconds).&lt;/p&gt;

&lt;p&gt;So I guess the options at this point are:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Run the newer e2fsck, hope it finds and fixes or unlinks these problematic objects&lt;/li&gt;
	&lt;li&gt;Just unlink these objects, since that&apos;s what the MDS is trying to do anyway&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Since this has happened before (see &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7378&quot; title=&quot;Error destroying object with RC115&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7378&quot;&gt;&lt;del&gt;LU-7378&lt;/del&gt;&lt;/a&gt;) we are worried that this might keep happening.  Is there any way to scan the objects and determine if any more are in this state?&lt;/p&gt;</comment>
                            <comment id="145929" author="yong.fan" created="Thu, 17 Mar 2016 13:00:09 +0000"  >&lt;p&gt;The output of debugfs seems wrong, because the OSD got the self FID as &lt;span class=&quot;error&quot;&gt;&amp;#91;0x100000000:0x320e401:0x0&amp;#93;&lt;/span&gt;, but the debugfs output is:  lma = &quot;08 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 e4 20 03 00 00 00 &quot; (23). So the value offset is wrong.&lt;/p&gt;

&lt;p&gt;Which version e2fsprogs are you using? Is it possible to try newer e2fsprogs?&lt;br/&gt;
Before resolve the debugfs issue, please NOT remove these OST-objects manually, because we are not sure whether they are really the targets to be destroyed.&lt;/p&gt;</comment>
                            <comment id="145933" author="ezell" created="Thu, 17 Mar 2016 13:14:06 +0000"  >&lt;p&gt;Note from my previous comment that I manually set the value length to 23 to avoid the &apos;invalid EA&apos; message&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;I ran debugfs under gdb and manually set entry-&amp;gt;e_value_size = 23.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;We are using the latest version available from &lt;a href=&quot;https://downloads.hpdd.intel.com/public/e2fsprogs/latest/el6/RPMS/x86_64/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Intel&lt;/a&gt;: &lt;a href=&quot;https://downloads.hpdd.intel.com/public/e2fsprogs/latest/el6/RPMS/x86_64/e2fsprogs-1.42.13.wc4-7.el6.x86_64.rpm&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;e2fsprogs-1.42.13.wc4-7.el6.x86_64.rpm&lt;/a&gt;&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@f1-oss1d8 ~]# rpm -qi e2fsprogs
Name        : e2fsprogs                    Relocations: (not relocatable)
Version     : 1.42.13.wc4                       Vendor: (none)
Release     : 7.el6                         Build Date: Fri Dec 11 19:51:16 2015
Install Date: Wed Feb 24 17:44:21 2016         Build Host: onyx-8-sde1-el6-x8664.onyx.hpdd.intel.com
Group       : System Environment/Base       Source RPM: e2fsprogs-1.42.13.wc4-7.el6.src.rpm
Size        : 3170704                          License: GPLv2
Signature   : (none)
URL         : https://downloads.hpdd.intel.com/public/e2fsprogs/
Summary     : Utilities for managing ext2, ext3, and ext4 filesystems
Description :
The e2fsprogs package contains a number of utilities for creating,
checking, modifying, and correcting any inconsistencies in second,
third and fourth extended (ext2/ext3/ext4) filesystems. E2fsprogs
contains e2fsck (used to repair filesystem inconsistencies after an
unclean shutdown), mke2fs (used to initialize a partition to contain
an empty ext2 filesystem), debugfs (used to examine the internal
structure of a filesystem, to manually repair a corrupted
filesystem, or to create test cases for e2fsck), tune2fs (used to
modify filesystem parameters), and most of the other core ext2fs
filesystem utilities.

You should install the e2fsprogs package if you need to manage the
performance of an ext2, ext3, or ext4 filesystem.
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="146046" author="gerrit" created="Fri, 18 Mar 2016 01:09:01 +0000"  >&lt;p&gt;Fan Yong (fan.yong@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/18999&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/18999&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7867&quot; title=&quot;OI scrubber causing performance issues&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7867&quot;&gt;&lt;del&gt;LU-7867&lt;/del&gt;&lt;/a&gt; debugfs: locate EA value correctly&lt;br/&gt;
Project: tools/e2fsprogs&lt;br/&gt;
Branch: master-lustre&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 4f64aa8135d0865fba88c3ee49981362ec0cb994&lt;/p&gt;</comment>
                            <comment id="146047" author="yong.fan" created="Fri, 18 Mar 2016 01:11:29 +0000"  >&lt;p&gt;Matt,&lt;/p&gt;

&lt;p&gt;Would you please to apply above patch on your e2fsprogs that fixed the debugfs issue, and please run the patched debugfs on your system.&lt;/p&gt;

&lt;p&gt;Thanks!&lt;/p&gt;</comment>
                            <comment id="146072" author="adilger" created="Fri, 18 Mar 2016 07:17:11 +0000"  >&lt;p&gt;Sorry, committed this comment too quickly.&lt;/p&gt;

&lt;p&gt;Something strange is going on here.  I&apos;m just checking my local MDT and OST filesystems with debugfs 1.42.12.wc1 and it is printing the xattrs values properly.  Checking with debugfs 1.42.13.wc4 appears to have the same problem, looking into it more closely.&lt;/p&gt;</comment>
                            <comment id="146076" author="adilger" created="Fri, 18 Mar 2016 09:13:04 +0000"  >&lt;p&gt;Updated patch &lt;a href=&quot;http://review.whamcloud.com/18999&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/18999&lt;/a&gt; should now resolve the problem introduced in the upstream code.&lt;/p&gt;</comment>
                            <comment id="146143" author="ezell" created="Fri, 18 Mar 2016 17:26:52 +0000"  >&lt;p&gt;I used the build from Jenkins and it now correctly shows the EAs for /O/0/d8/54354408:&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;  lma = &quot;08 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 e4 20 03 00 00 00 00 &quot; (24)
  lma: fid=[0x100000000:0x320e401:0x0] compat=8 incompat=0
  fid = &quot;f8 95 00 22 29 03 00 02 00 00 00 00 02 00 00 00 &quot; (16)
  fid: parent=[0x2000329220095f8:0x0:0x0] stripe=2
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="146173" author="ezell" created="Fri, 18 Mar 2016 19:01:18 +0000"  >&lt;p&gt;Andreas - is the parent fid being printed correctly?  I ran a quick test on a non-corrupted OST:&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;# lfs getstripe test
test
lmm_stripe_count:   4
lmm_stripe_size:    1048576
lmm_pattern:        1
lmm_layout_gen:     0
lmm_stripe_offset:  123
        obdidx           objid           objid           group
           123          120572        0x1d6fc                0
           124          120522        0x1d6ca                0
           125          120541        0x1d6dd                0
           126          120607        0x1d71f                0
# lfs path2fid test
[0x200000410:0x2254:0x0]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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;# debugfs -c -R &apos;stat O/0/d28/120572&apos; /dev/mapper/f1-ddn1a-l24
...
Extended attributes stored in inode body: 
  lma = &quot;00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 fc d6 01 00 00 00 00 00 &quot; (24)
  lma: fid=[0x100000000:0x1d6fc:0x0] compat=0 incompat=0
  fid = &quot;54 22 00 10 04 00 00 02 00 00 00 00 00 00 00 00 &quot; (16)
  fid: parent=[0x200000410002254:0x0:0x0] stripe=0
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Should I open a separate ticket for that?&lt;/p&gt;</comment>
                            <comment id="146239" author="adilger" created="Sat, 19 Mar 2016 02:14:40 +0000"  >&lt;p&gt;No, the parent doesn&apos;t look correct. It should exactly match the output from &lt;tt&gt;lfs fid2path&lt;/tt&gt;, but it looks offset by 3 bytes for some reason.   We can add the fix into the same patch, no need for a new ticket. &lt;/p&gt;</comment>
                            <comment id="146285" author="yong.fan" created="Mon, 21 Mar 2016 03:35:38 +0000"  >&lt;p&gt;Matt,&lt;/p&gt;

&lt;p&gt;Is the &quot;test&quot; an existing file (updated from old device) or new created one? If it is the latter case, how do you generate it? and would you please to retest test with -1 level debug collected on the client and related OST?&lt;/p&gt;

&lt;p&gt;Your system is Lustre-2.5.5 based (both client and server), right? any additional patches on that?&lt;/p&gt;

&lt;p&gt;(BTW, I have tried Lustre-2.5.5 in my local VM environment, but cannot reproduce your trouble - strange PFID EA. So I need more logs from you.)&lt;/p&gt;

&lt;p&gt;Thanks!&lt;/p&gt;</comment>
                            <comment id="146308" author="ezell" created="Mon, 21 Mar 2016 13:26:42 +0000"  >&lt;p&gt;For this file system, we have a mixture of clients - most are 2.5, but we also have some 1.8 and 2.7.  I just ran some tests, and it seems that new files created under 2.5 or 2.7 are OK.  But the file I created on the 1.8 client shows the strange PFID EA.&lt;/p&gt;

&lt;p&gt;The 1.8 clients are going away soon, so no need to debug that client, but we do have a ton of files on disk with the strange PFID EA.  My main concern is that a future lfsck run (under 2.8 servers, eventually) might mark these files as damaged and/or orphaned.&lt;/p&gt;

&lt;p&gt;I&apos;ll run some tests with debugging later today and upload relevant logs.  Thanks.&lt;/p&gt;</comment>
                            <comment id="146311" author="yong.fan" created="Mon, 21 Mar 2016 13:42:51 +0000"  >&lt;p&gt;It is the client to send the PFID information to the OST when write/setattr. According to your description, the 1.8 client may sent &quot;ostid&quot; formatted PFID to the OST, then caused the strange PFID EA. Usually, as long as the OST-object is NOT real orphan, then after upgrading your system to Lustre-2.6 or newer, the layout LFSCK will handle it as unmatched MDT-OST objects pairs, and will correct the PFID EA with the right MDT-object&apos;s FID. &lt;/p&gt;</comment>
                            <comment id="146385" author="ezell" created="Mon, 21 Mar 2016 19:48:25 +0000"  >&lt;p&gt;I think the strange PFID EA is coming from &lt;em&gt;fid_flatten&lt;/em&gt;.  It takes the FID and does&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;ino = (seq &amp;lt;&amp;lt; 24) + ((seq &amp;gt;&amp;gt; 24) &amp;amp; 0xffffff0000ULL) + fid_oid(fid);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;to make the 128-bit FID fit in a 64-bit inode.  I didn&apos;t specifically see this in the log, but I believe this is what the client is setting as PFID.  Since the 1.8 clients are going away, it&apos;s not worth looking into it further.  We&apos;ll make sure to test LFSCK in 2.8 against objects created under 1.8 before upgrading the server.&lt;/p&gt;

&lt;p&gt;So, back to the original issue at hand.  I guess we need to take a downtime to run e2fsck.  There could be two outcomes:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;e2fsck identifies these objects as damaged and repairs or unlinks them&lt;/li&gt;
	&lt;li&gt;It doesn&apos;t notice the issue and runs cleanly&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;If situation #2 happens, should we manually unlink them?  Then, how do we ensure there aren&apos;t more damaged objects on this OST?&lt;/p&gt;</comment>
                            <comment id="146614" author="adilger" created="Wed, 23 Mar 2016 14:45:06 +0000"  >&lt;p&gt;I suspect that e2fsck will just consider these files as hard linked, so you will find them by looking for regular files under &lt;tt&gt;O/0/&lt;/tt&gt; with nlink=2.&lt;/p&gt;</comment>
                            <comment id="147207" author="gerrit" created="Tue, 29 Mar 2016 16:10:16 +0000"  >&lt;p&gt;Andreas Dilger (andreas.dilger@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/18999/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/18999/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7867&quot; title=&quot;OI scrubber causing performance issues&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7867&quot;&gt;&lt;del&gt;LU-7867&lt;/del&gt;&lt;/a&gt; debugfs: fix check for out-of-bound xattr value&lt;br/&gt;
Project: tools/e2fsprogs&lt;br/&gt;
Branch: master-lustre&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 595b51179eaafdc1c50ab8348cb83d9429aa2bfa&lt;/p&gt;</comment>
                            <comment id="148540" author="yong.fan" created="Tue, 12 Apr 2016 03:01:13 +0000"  >&lt;p&gt;Any further information about the issue? Have we ever run e2fsck as discussed above?&lt;/p&gt;</comment>
                            <comment id="148662" author="gerrit" created="Tue, 12 Apr 2016 21:23:39 +0000"  >&lt;p&gt;Andreas Dilger (andreas.dilger@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/19493&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/19493&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7867&quot; title=&quot;OI scrubber causing performance issues&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7867&quot;&gt;&lt;del&gt;LU-7867&lt;/del&gt;&lt;/a&gt; e2fsprogs: update build version to 1.42.13.wc5&lt;br/&gt;
Project: tools/e2fsprogs&lt;br/&gt;
Branch: master-lustre&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: fae5f9fa7b3bb6bf134f0560b163276f9f6187a3&lt;/p&gt;</comment>
                            <comment id="148721" author="dustb100" created="Wed, 13 Apr 2016 11:34:56 +0000"  >&lt;p&gt;We are in a holding pattern on this until the customer allows us to take an outage. It will probably be another 5-6 weeks before we get the green light. I think it is okay to close this ticket. &lt;/p&gt;

&lt;p&gt;Our plan is to run the e2fsck on the LUN, if that doesn&apos;t fix the issue we will wipe out the 2 OST objects by hand and will lfsck when we update to lustre-2.8 servers. &lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Dustin &lt;/p&gt;</comment>
                            <comment id="148748" author="yong.fan" created="Wed, 13 Apr 2016 15:46:14 +0000"  >&lt;p&gt;Thanks Dustin for the explanation. Then we will close the ticket after landing Andreas&apos; latest patch.&lt;/p&gt;</comment>
                            <comment id="150703" author="gerrit" created="Mon, 2 May 2016 16:01:10 +0000"  >&lt;p&gt;Andreas Dilger (andreas.dilger@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/19493/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/19493/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7867&quot; title=&quot;OI scrubber causing performance issues&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7867&quot;&gt;&lt;del&gt;LU-7867&lt;/del&gt;&lt;/a&gt; e2fsprogs: update build version to 1.42.13.wc5&lt;br/&gt;
Project: tools/e2fsprogs&lt;br/&gt;
Branch: master-lustre&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 00c372887fff6d4a9baae075c3fc1523c47d8ad4&lt;/p&gt;</comment>
                            <comment id="151443" author="yong.fan" created="Mon, 9 May 2016 05:56:23 +0000"  >&lt;p&gt;Related patches have been landed.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="35658">LU-7933</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="32985">LU-7378</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|hzy49b:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>