<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:07:35 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-14186] fallocate does not extend uninitialized PFL components</title>
                <link>https://jira.whamcloud.com/browse/LU-14186</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;I was testing &quot;&lt;tt&gt;fallocate&lt;/tt&gt;&quot; as a fast way to allocate space in the file, but I found that it only allocated space on the first (initialized) component of a PFL file.  It does not allocate space for any of the later components &lt;b&gt;if those components are uninitialized&lt;/b&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;# lfs setstripe -E1M -c1 -E16M -c3 -Eeof -c 4 /mnt/testfs/pflfile
# ls -l /mnt/testfs/pflfile
0 -rw-r--r--. 1 root 0 Dec  5 13:24 /mnt/testfs/pflfile
# fallocate -l $((1048576 * 1024)) /mnt/testfs/pflfile
# ls -l /mnt/testfs/pflfile
1024 -rw-r--r--. 1 root 1048576 Dec  5 13:33 /mnt/testfs/pflfile
# lfs getstripe /mnt/testfs/pflfile
/mnt/testfs/pflfile
  lcm_layout_gen:    3
  lcm_mirror_count:  1
  lcm_entry_count:   3
    lcme_id:             1
    lcme_mirror_id:      0
    lcme_flags:          init
    lcme_extent.e_start: 0
    lcme_extent.e_end:   1048576
      lmm_stripe_count:  1
      lmm_stripe_size:   1048576
      lmm_pattern:       raid0
      lmm_layout_gen:    0
      lmm_stripe_offset: 3
      lmm_objects:
      - 0: { l_ost_idx: 3, l_fid: [0x100030000:0x60a:0x0] }

    lcme_id:             2
    lcme_mirror_id:      0
    lcme_flags:          0
    lcme_extent.e_start: 1048576
    lcme_extent.e_end:   16777216
      lmm_stripe_count:  3
      lmm_stripe_size:   1048576
      lmm_pattern:       raid0
      lmm_layout_gen:    0
      lmm_stripe_offset: -1

    lcme_id:             3
    lcme_mirror_id:      0
    lcme_flags:          0
    lcme_extent.e_start: 16777216
    lcme_extent.e_end:   1073741824
      lmm_stripe_count:  4
      lmm_stripe_size:   2097152
      lmm_pattern:       raid0
      lmm_layout_gen:    0
      lmm_stripe_offset: -1
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If the file is truncated, the later components are initialized:&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;# truncate -s 1023M /mnt/testfs/pflfile
# lfs getstripe /mnt/testfs/pflfile
/mnt/testfs/pflfile
  lcm_layout_gen:    4
  lcm_mirror_count:  1
  lcm_entry_count:   3
    lcme_id:             1
    lcme_mirror_id:      0
    lcme_flags:          init
    lcme_extent.e_start: 0
    lcme_extent.e_end:   1048576
      lmm_stripe_count:  1
      lmm_stripe_size:   1048576
      lmm_pattern:       raid0
      lmm_layout_gen:    0
      lmm_stripe_offset: 3
      lmm_objects:
      - 0: { l_ost_idx: 3, l_fid: [0x100030000:0x60a:0x0] }

    lcme_id:             2
    lcme_mirror_id:      0
    lcme_flags:          init
    lcme_extent.e_start: 1048576
    lcme_extent.e_end:   16777216
      lmm_stripe_count:  3
      lmm_stripe_size:   1048576
      lmm_pattern:       raid0
      lmm_layout_gen:    65535
      lmm_stripe_offset: 0
      lmm_objects:
      - 0: { l_ost_idx: 0, l_fid: [0x100000000:0x1ca:0x0] }
      - 1: { l_ost_idx: 1, l_fid: [0x100010000:0x8aa:0x0] }
      - 2: { l_ost_idx: 2, l_fid: [0x100020000:0x6aa:0x0] }

    lcme_id:             3
    lcme_mirror_id:      0
    lcme_flags:          init
    lcme_extent.e_start: 16777216
    lcme_extent.e_end:   1073741824
      lmm_stripe_count:  4
      lmm_stripe_size:   2097152
      lmm_pattern:       raid0
      lmm_layout_gen:    65535
      lmm_stripe_offset: 0
      lmm_objects:
      - 0: { l_ost_idx: 0, l_fid: [0x100000000:0x1cb:0x0] }
      - 1: { l_ost_idx: 1, l_fid: [0x100010000:0x8ab:0x0] }
      - 2: { l_ost_idx: 2, l_fid: [0x100020000:0x6ab:0x0] }
      - 3: { l_ost_idx: 3, l_fid: [0x100030000:0x60b:0x0] }

# lfs df
UUID                   1K-blocks        Used   Available Use% Mounted on
testfs-MDT0000_UUID       125368        2596      111536   3% /mnt/testfs[MDT:0]
testfs-MDT0001_UUID       125368        3112      111020   3% /mnt/testfs[MDT:1]
testfs-OST0000_UUID       325368       13796      284412   5% /mnt/testfs[OST:0]
testfs-OST0001_UUID       325368       14304      283904   5% /mnt/testfs[OST:1]
testfs-OST0002_UUID       325368       13664      284544   5% /mnt/testfs[OST:2]
testfs-OST0003_UUID       325368       14692      283516   5% /mnt/testfs[OST:3]

filesystem_summary:      1301472       56456     1136376   5% /mnt/testfs
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;If the &lt;tt&gt;fallocate&lt;/tt&gt; is run again, this time the space is allocated:&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;# fallocate -l $((1048576 * 1024)) /mnt/testfs/pflfile
# ls -l /mnt/testfs/pflfile
1048576 -rw-r--r--. 1 root 1073741824 Dec  5 13:37 /mnt/testfs/pflfile
# lfs df
UUID                   1K-blocks        Used   Available Use% Mounted on
testfs-MDT0000_UUID       125368        2596      111536   3% /mnt/testfs[MDT:0]
testfs-MDT0001_UUID       125368        3112      111020   3% /mnt/testfs[MDT:1]
testfs-OST0000_UUID       325368      276964       21244  93% /mnt/testfs[OST:0]
testfs-OST0001_UUID       325368      277472       20736  94% /mnt/testfs[OST:1]
testfs-OST0002_UUID       325368      276832       21376  93% /mnt/testfs[OST:2]
testfs-OST0003_UUID       325368      272740       25468  92% /mnt/testfs[OST:3]

filesystem_summary:      1301472     1104008       88824  93% /mnt/testfs
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="61875">LU-14186</key>
            <summary>fallocate does not extend uninitialized PFL components</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</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="wshilong">Wang Shilong</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                    </labels>
                <created>Sat, 5 Dec 2020 20:45:12 +0000</created>
                <updated>Sun, 13 Dec 2020 16:05:32 +0000</updated>
                            <resolved>Sun, 13 Dec 2020 16:05:32 +0000</resolved>
                                    <version>Lustre 2.14.0</version>
                                    <fixVersion>Lustre 2.14.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="286822" author="adilger" created="Sat, 5 Dec 2020 20:48:01 +0000"  >&lt;p&gt;I suspect what is missing is that &lt;tt&gt;fallocate()&lt;/tt&gt; needs to internally get the intent lock with the MDS for the full range of data, like a &lt;tt&gt;write()&lt;/tt&gt; or &lt;tt&gt;truncate()&lt;/tt&gt; call, which will cause it to initialize those components.  Then, the later RPCs to the OSTs will &quot;just work&quot;.&lt;/p&gt;

&lt;p&gt;The initialization of later components is probably &lt;b&gt;not&lt;/b&gt; needed for &lt;tt&gt;PUNCH_HOLE|KEEP_SIZE&lt;/tt&gt;, but is needed if &lt;tt&gt;PUNCH_HOLE&lt;/tt&gt; by itself acts like &lt;tt&gt;truncate()&lt;/tt&gt; to extend the size, since the size of the file is determined by the size of the OST objects themselves.&lt;/p&gt;</comment>
                            <comment id="286847" author="gerrit" created="Mon, 7 Dec 2020 03:08:55 +0000"  >&lt;p&gt;Wang Shilong (wshilong@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/40885&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/40885&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14186&quot; title=&quot;fallocate does not extend uninitialized PFL components&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14186&quot;&gt;&lt;del&gt;LU-14186&lt;/del&gt;&lt;/a&gt; lov: instantiate components layout for fallocate&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: f7714e0cc88a0aa427cebb2677be2a1ec5209bf2&lt;/p&gt;</comment>
                            <comment id="287428" author="gerrit" created="Sun, 13 Dec 2020 08:23:57 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/40885/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/40885/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14186&quot; title=&quot;fallocate does not extend uninitialized PFL components&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14186&quot;&gt;&lt;del&gt;LU-14186&lt;/del&gt;&lt;/a&gt; lov: instantiate components layout for fallocate&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 7e25e6c7d0a710ea25aa0ca277e61fbd18ab3dd3&lt;/p&gt;</comment>
                            <comment id="287439" author="pjones" created="Sun, 13 Dec 2020 16:05:32 +0000"  >&lt;p&gt;Landed for 2.14&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <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|i01gfz:</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>