<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:41:12 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-11130] cross-target rename creates invalid symlink inodes</title>
                <link>https://jira.whamcloud.com/browse/LU-11130</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;cross-rename for symlinks creates an empty local agent inodes with i_size = 0 . e2fsck complains about them :&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;Symlink /REMOTE_PARENT_DIR/0x30004e816:0x17942:0x0/12 (inode #97469960) is invalid.
Clear? no
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The issue can be easily reproduced:&lt;/p&gt;

&lt;p&gt;1. start DNE system:&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@vm1 tests]# MDSCOUNT=4 REFORMAT=no sh llmount.sh
Stopping clients: vm1.localdomain /mnt/lustre (opts:-f)
Stopping clients: vm1.localdomain /mnt/lustre2 (opts:-f)
Loading modules from /home/zam/git/lustre-wc-rel/lustre/tests/..
detected 2 online CPUs by sysfs
Force libcfs to create 2 CPU partitions
../libcfs/libcfs/libcfs options: &apos;cpu_npartitions=2&apos;
gss/krb5 is not supported
quota/lquota options: &apos;hash_lqs_cur_bits=3&apos;
Formatting mgs, mds, osts
Format mds1: /tmp/lustre-mdt1
Format mds2: /tmp/lustre-mdt2
Format mds3: /tmp/lustre-mdt3
Format mds4: /tmp/lustre-mdt4
Format ost1: /tmp/lustre-ost1
Format ost2: /tmp/lustre-ost2
Checking servers environments
Checking clients vm1.localdomain environments
Loading modules from /home/zam/git/lustre-wc-rel/lustre/tests/..
detected 2 online CPUs by sysfs
Force libcfs to create 2 CPU partitions
gss/krb5 is not supported
Setup mgs, mdt, osts
Starting mds1:   -o loop /tmp/lustre-mdt1 /mnt/lustre-mds1
Commit the device label on /tmp/lustre-mdt1
Started lustre-MDT0000
Starting mds2:   -o loop /tmp/lustre-mdt2 /mnt/lustre-mds2
Commit the device label on /tmp/lustre-mdt2
Started lustre-MDT0001
Starting mds3:   -o loop /tmp/lustre-mdt3 /mnt/lustre-mds3
Commit the device label on /tmp/lustre-mdt3
Started lustre-MDT0002
Starting mds4:   -o loop /tmp/lustre-mdt4 /mnt/lustre-mds4
Commit the device label on /tmp/lustre-mdt4
Started lustre-MDT0003
Starting ost1:   -o loop /tmp/lustre-ost1 /mnt/lustre-ost1
Commit the device label on /tmp/lustre-ost1
Started lustre-OST0000
Starting ost2:   -o loop /tmp/lustre-ost2 /mnt/lustre-ost2
Commit the device label on /tmp/lustre-ost2
Started lustre-OST0001
Starting client: vm1.localdomain:  -o user_xattr,flock vm1.localdomain@tcp:/lustre /mnt/lustre
UUID                   1K-blocks        Used   Available Use% Mounted on
lustre-MDT0000_UUID       125368        1956      112176   2% /mnt/lustre[MDT:0]
lustre-MDT0001_UUID       125368        1760      112372   2% /mnt/lustre[MDT:1]
lustre-MDT0002_UUID       125368        1764      112368   2% /mnt/lustre[MDT:2]
lustre-MDT0003_UUID       125368        1768      112364   2% /mnt/lustre[MDT:3]
lustre-OST0000_UUID       325368       13924      284284   5% /mnt/lustre[OST:0]
lustre-OST0001_UUID       325368       13380      284828   4% /mnt/lustre[OST:1]

filesystem_summary:       650736       27304      569112   5% /mnt/lustre

Using TIMEOUT=20
seting jobstats to procname_uid
Setting lustre.sys.jobid_var from disable to procname_uid
Waiting 90 secs for update
Updated after 4s: wanted &apos;procname_uid&apos; got &apos;procname_uid&apos;
disable quota as required
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;2. create directories on other MDTs:&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@vm1 tests]# for x in 1 2 3; do lfs mkdir -i $x /mnt/lustre/mdt$x-dir; done
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;3. create a symlink on MDT0:&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@vm1 tests]# ln -s &quot;foo&quot; /mnt/lustre/bar-symlink
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;4. move the symlink to mdt1:&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@vm1 tests]# mv /mnt/lustre/foo /mnt/lustre/mdt1-dir/
mv: cannot stat &#8216;/mnt/lustre/foo&#8217;: No such file or directory
[root@vm1 tests]# mv /mnt/lustre/bar-symlink /mnt/lustre/mdt1-dir/
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;5. check that the fs images are updated with MDT objects. Please note there are two mdt objects for &quot;bar-symlink&quot; , on on MDT0 and one on MDT1 . Both objects are of symlink type, but only one (on MDT0) has symlink body and Link EA.&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@vm1 tests]# sync
[root@vm1 tests]# debugfs /tmp/lustre-mdt2
debugfs 1.42.13.wc6 (05-Feb-2017)
debugfs:  ls REMOTE_PARENT_DIR
 25001  (12) .    2  (12) ..    25039  (4072) 0x240000404:0x1:0x0
debugfs:  ls &amp;lt;25039&amp;gt;
 25039  (12) .    25001  (28) ..    149  (4056) bar-symlink
debugfs:  stat &amp;lt;149&amp;gt;
Inode: 149   Type: symlink    Mode:  0000   Flags: 0x0
Generation: 1006356438    Version: 0x00000000:00000000
User:     0   Group:     0   Project:     0   Size: 0
File ACL: 0    Directory ACL: 0
Links: 1   Blockcount: 0
Fragment:  Address: 0    Number: 0    Size: 0
 ctime: 0x5b3aad37:85bc158c -- Tue Jul  3 01:54:47 2018
 atime: 0x5b3aad37:85bc158c -- Tue Jul  3 01:54:47 2018
 mtime: 0x5b3aad37:85bc158c -- Tue Jul  3 01:54:47 2018
crtime: 0x5b3aad37:85bc158c -- Tue Jul  3 01:54:47 2018
Size of extra inode fields: 32
Extended attributes stored in inode body:
  lma = &quot;00 00 00 00 02 00 00 00 04 04 00 00 02 00 00 00 01 00 00 00 00 00 00 00 &quot; (24)
  lma: fid=[0x200000404:0x1:0x0] compat=0 incompat=2
Fast_link_dest:
debugfs:  [root@vm1 tests]# debugfs /tmp/lustre-mdt1
debugfs 1.42.13.wc6 (05-Feb-2017)
debugfs:  ls ROOT
 25043  (12) .    2  (12) ..    25044  (36) .lustre    25049  (36) mdt1-dir
 25050  (36) mdt2-dir    25051  (3964) mdt3-dir
debugfs:  ls REMOTE_PARENT_DIR
 25001  (12) .    2  (12) ..    165  (4072) 0x200000404:0x1:0x0
debugfs:  ls &amp;lt;165&amp;gt;

&amp;lt;165&amp;gt;: Ext2 inode is not a directory
debugfs:  stat &amp;lt;165&amp;gt;
Inode: 165   Type: symlink    Mode:  0777   Flags: 0x0
Generation: 2421202347    Version: 0x00000001:00000010
User:     0   Group:     0   Project:     0   Size: 3
File ACL: 0    Directory ACL: 0
Links: 1   Blockcount: 0
Fragment:  Address: 0    Number: 0    Size: 0
 ctime: 0x5b3aad37:00000000 -- Tue Jul  3 01:54:47 2018
 atime: 0x5b3aad21:4f6ef7f0 -- Tue Jul  3 01:54:25 2018
 mtime: 0x5b3aad21:4f6ef7f0 -- Tue Jul  3 01:54:25 2018
crtime: 0x5b3aad21:4f6ef7f0 -- Tue Jul  3 01:54:25 2018
Size of extra inode fields: 32
Extended attributes stored in inode body:
  lma = &quot;00 00 00 00 04 00 00 00 04 04 00 00 02 00 00 00 01 00 00 00 00 00 00 00 &quot; (24)
  lma: fid=[0x200000404:0x1:0x0] compat=0 incompat=4
  selinux = &quot;unconfined_u:object_r:unlabeled_t:s0\000&quot; (37)
  link = &quot;df f1 ea 11 01 00 00 00 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1d 00 00 00 02 40 00 04 04 00 00 00 01 00 00 00 00 62 61 72 2d 73 79 6d
 6c 69 6e 6b &quot; (53)
Fast_link_dest: foo
debugfs:  
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;e2fsck on the images. Fsck complains about invalid symlink object on MDT1 (which does not contain symlink body).&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@vm1 tests]# e2fsck -fn /tmp/lustre-mdt1
e2fsck 1.42.13.wc6 (05-Feb-2017)
Warning!  /tmp/lustre-mdt1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (33293, counted=32838).
Fix? no

Free inodes count wrong (99987, counted=99718).
Fix? no

lustre-MDT0000: 13/100000 files (46.2% non-contiguous), 29207/62500 blocks
[root@vm1 tests]# e2fsck -fn /tmp/lustre-mdt2
e2fsck 1.42.13.wc6 (05-Feb-2017)
Warning!  /tmp/lustre-mdt2 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Symlink /REMOTE_PARENT_DIR/0x240000404:0x1:0x0/bar-symlink (inode #149) is invalid.
Clear? no

Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (33293, counted=32924).
Fix? no

Free inodes count wrong (99987, counted=99745).
Fix? no


lustre-MDT0001: ********** WARNING: Filesystem still has errors **********

lustre-MDT0001: 13/100000 files (7.7% non-contiguous), 29207/62500 blocks
[root@vm1 tests]#
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="52665">LU-11130</key>
            <summary>cross-target rename creates invalid symlink inodes</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="zam">Alexander Zarochentsev</assignee>
                                    <reporter username="zam">Alexander Zarochentsev</reporter>
                        <labels>
                            <label>dne</label>
                    </labels>
                <created>Mon, 9 Jul 2018 07:33:11 +0000</created>
                <updated>Thu, 16 Jan 2020 23:19:52 +0000</updated>
                            <resolved>Tue, 13 Nov 2018 11:06:41 +0000</resolved>
                                    <version>Lustre 2.12.0</version>
                                    <fixVersion>Lustre 2.12.0</fixVersion>
                    <fixVersion>Lustre 2.10.7</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="230052" author="gerrit" created="Mon, 9 Jul 2018 07:41:26 +0000"  >&lt;p&gt;Alexander Zarochentsev (c17826@cray.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/32797&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32797&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11130&quot; title=&quot;cross-target rename creates invalid symlink inodes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11130&quot;&gt;&lt;del&gt;LU-11130&lt;/del&gt;&lt;/a&gt; osd-ldiskfs: create non-empty local agent symlinks&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: ed36f34c458df066326ef5c6b735174233441365&lt;/p&gt;</comment>
                            <comment id="236485" author="adilger" created="Tue, 6 Nov 2018 20:12:50 +0000"  >&lt;p&gt;I created &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11631&quot; title=&quot;symlink migration should not create remote inodes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11631&quot;&gt;&lt;del&gt;LU-11631&lt;/del&gt;&lt;/a&gt; to track the improvement where rename will just move the whole symlink instead of leaving an agent inode behind.&lt;/p&gt;</comment>
                            <comment id="236886" author="gerrit" created="Tue, 13 Nov 2018 06:14:21 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/32797/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32797/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11130&quot; title=&quot;cross-target rename creates invalid symlink inodes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11130&quot;&gt;&lt;del&gt;LU-11130&lt;/del&gt;&lt;/a&gt; osd-ldiskfs: create non-empty local agent symlinks&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: c3a836364892cacbc4737645893b094971c6ec49&lt;/p&gt;</comment>
                            <comment id="236915" author="pjones" created="Tue, 13 Nov 2018 11:06:41 +0000"  >&lt;p&gt;Landed for 2.12&lt;/p&gt;</comment>
                            <comment id="239490" author="gerrit" created="Mon, 7 Jan 2019 20:44:06 +0000"  >&lt;p&gt;Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/33973&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33973&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11130&quot; title=&quot;cross-target rename creates invalid symlink inodes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11130&quot;&gt;&lt;del&gt;LU-11130&lt;/del&gt;&lt;/a&gt; osd-ldiskfs: create non-empty local agent symlinks&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_10&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: bc3809f679caa6d5dc166cc78f706af344dd55fc&lt;/p&gt;</comment>
                            <comment id="243207" author="gerrit" created="Sat, 2 Mar 2019 01:31:04 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/33973/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/33973/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11130&quot; title=&quot;cross-target rename creates invalid symlink inodes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11130&quot;&gt;&lt;del&gt;LU-11130&lt;/del&gt;&lt;/a&gt; osd-ldiskfs: create non-empty local agent symlinks&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_10&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: dd79052617be1002b0dcd6e36d74f8124c403177&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="53943">LU-11631</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="53673">LU-11549</issuekey>
        </issuelink>
                            </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|hzzyx3:</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>