<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:35: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-3606] Implement fallocate() support for ldiskfs Lustre</title>
                <link>https://jira.whamcloud.com/browse/LU-3606</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;The sys_fallocate() syscall was introduced to the linux kernel in the 2.6.24 kernel.  There is also an ext4_fallocate() method added in this same kernel release.  This has been available in vendor kernels since RHEL 5.4.&lt;/p&gt;

&lt;p&gt;We need to implement an fallocate() method for llite, and transport this to the OSTs to interface with the underlying OSD&apos;s fallocate() code (for ldiskfs, ZFS has no such method).&lt;/p&gt;

&lt;p&gt;The FALLOC_FL_PUNCH_HOLE functionality of fallocate() fits very nicely with the OST_PUNCH RPC, since this was anticipated in Lustre from the beginning.  The actual space reservation might also use OST_PUNCH or OST_WRITE, or we might consider a new OST_PREALLOC RPC, depending on what fits best. &lt;/p&gt;</description>
                <environment></environment>
        <key id="19874">LU-3606</key>
            <summary>Implement fallocate() support for ldiskfs Lustre</summary>
                <type id="2" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11311&amp;avatarType=issuetype">New Feature</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="arshad512">Arshad Hussain</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                            <label>medium</label>
                            <label>patch</label>
                    </labels>
                <created>Wed, 17 Jul 2013 17:06:31 +0000</created>
                <updated>Thu, 30 Nov 2023 21:58:17 +0000</updated>
                            <resolved>Fri, 27 Nov 2020 13:54:11 +0000</resolved>
                                                    <fixVersion>Lustre 2.14.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>19</watches>
                                                                            <comments>
                            <comment id="62496" author="adilger" created="Wed, 17 Jul 2013 17:09:49 +0000"  >&lt;p&gt;The fallocate() API has been added to newer versions of the Lustre kernel to provide both persistent space reservation (block preallocation for a file, possibly beyond the file size, without having to write zeroes to the whole file), and for the reverse operation of hole punching (freeing allocated blocks in the middle or end of a file). However, Lustre predates these APIs and has not yet added support for them. Being able to preallocate space for a file is very useful for HPC applications that know the size of the output file in advance, and helps Lustre make better allocation decisions based on the file size.&lt;/p&gt;

&lt;p&gt;This project will touch all of the layers of the Lustre IO stack, from the Linux client VFS interface, through the file layout to the RPC interface, over to the storage server, and then interfacing with the back-end filesystems to use the space reservation (ext4 only) and hole punch (both ext4 and ZFS) methods. As a stretch goal, an ioctl() pass-through interface from the server mountpoint to the underlying filesystem would allow direct passing of FITRIM ioctl commands to the storage so that SSD-based filesystems can optimize their internal space management. &lt;/p&gt;</comment>
                            <comment id="77069" author="spimpale" created="Fri, 14 Feb 2014 09:58:25 +0000"  >&lt;p&gt;I have uploaded the first patchset here: &lt;a href=&quot;http://review.whamcloud.com/#/c/9275/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/9275/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="77157" author="jay" created="Sun, 16 Feb 2014 08:13:10 +0000"  >&lt;p&gt;I will track the state of this ticket.&lt;/p&gt;</comment>
                            <comment id="114675" author="adilger" created="Thu, 7 May 2015 23:43:37 +0000"  >&lt;p&gt;Jinshan, can you see what is needed to get this patch across the finish line?  Swap il is no longer available to work on it. &lt;/p&gt;</comment>
                            <comment id="197690" author="abrarahmed" created="Wed, 31 May 2017 14:39:33 +0000"  >&lt;p&gt;&lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;mailto:andreas.dilger@intel.com&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;andreas.dilger@intel.com&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.whamcloud.com/images/icons/mail_small.gif&quot; height=&quot;12&quot; width=&quot;13&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; I worked on the patch and have it working, including newer kernel versions. Most review comments against last patch addressed. Can post it against the same change-id if that works.&lt;/p&gt;</comment>
                            <comment id="197774" author="adilger" created="Thu, 1 Jun 2017 05:35:58 +0000"  >&lt;p&gt;Yes, please reuse the same Change-Id.  That will allow comparing the new patch against the old one, and the old one is hopelessly outdated and not useful.&lt;/p&gt;</comment>
                            <comment id="261484" author="gerrit" created="Sat, 18 Jan 2020 13:31:57 +0000"  >&lt;p&gt;Arshad Hussain (arshad.super@gmail.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/37273&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37273&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3606&quot; title=&quot;Implement fallocate() support for ldiskfs Lustre&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3606&quot;&gt;&lt;del&gt;LU-3606&lt;/del&gt;&lt;/a&gt; fsx: Add fallocate operation to fsx&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 2269c370864bd42a5fbf0608afecba0ec8f010db&lt;/p&gt;</comment>
                            <comment id="261499" author="gerrit" created="Sun, 19 Jan 2020 06:02:29 +0000"  >&lt;p&gt;Arshad Hussain (arshad.super@gmail.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/37277&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37277&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3606&quot; title=&quot;Implement fallocate() support for ldiskfs Lustre&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3606&quot;&gt;&lt;del&gt;LU-3606&lt;/del&gt;&lt;/a&gt; lustre: Reserve fallocate opcode&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: a52c11c2c0935ce1b741dfde703bbaeb93c7c499&lt;/p&gt;</comment>
                            <comment id="261988" author="gerrit" created="Tue, 28 Jan 2020 06:04:06 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/37273/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37273/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3606&quot; title=&quot;Implement fallocate() support for ldiskfs Lustre&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3606&quot;&gt;&lt;del&gt;LU-3606&lt;/del&gt;&lt;/a&gt; fsx: Add fallocate operation to fsx&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 853d180121a6e313ffe678bbe5c107d7afc601d5&lt;/p&gt;</comment>
                            <comment id="261989" author="gerrit" created="Tue, 28 Jan 2020 06:04:11 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/37277/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/37277/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3606&quot; title=&quot;Implement fallocate() support for ldiskfs Lustre&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3606&quot;&gt;&lt;del&gt;LU-3606&lt;/del&gt;&lt;/a&gt; lustre: Reserve OST_FALLOCATE(fallocate) opcode&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 46a11df089c92f0d18e6f3224eca76abfcd0ac67&lt;/p&gt;</comment>
                            <comment id="270176" author="gerrit" created="Thu, 14 May 2020 05:41:44 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/9275/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/9275/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3606&quot; title=&quot;Implement fallocate() support for ldiskfs Lustre&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3606&quot;&gt;&lt;del&gt;LU-3606&lt;/del&gt;&lt;/a&gt; fallocate: Implement fallocate preallocate operation&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 48457868a02ae5a0407f304c9028f7e80e7fb574&lt;/p&gt;</comment>
                            <comment id="286107" author="pjones" created="Thu, 26 Nov 2020 16:37:32 +0000"  >&lt;p&gt;Do I understand correctly that fallocate support for ldiskfs has landed for 2.14 but fallocate support for ZFS needs more work? If so, shall we track the latter under a new ticket so that it is clear what capabilities are in each release?&lt;/p&gt;</comment>
                            <comment id="286157" author="adilger" created="Fri, 27 Nov 2020 05:58:36 +0000"  >&lt;p&gt;Yes, the patch &lt;a href=&quot;https://review.whamcloud.com/36506&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/36506&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3606&quot; title=&quot;Implement fallocate() support for ldiskfs Lustre&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3606&quot;&gt;&lt;del&gt;LU-3606&lt;/del&gt;&lt;/a&gt; zfs-osd: Add fallocate functionality for ZFS&lt;/tt&gt;&quot; needs to be refreshed.  There also needs to be a separate patch to implement &lt;tt&gt;FALLOCATE_FL_PUNCH_HOLE&lt;/tt&gt;.&lt;/p&gt;</comment>
                            <comment id="286183" author="pjones" created="Fri, 27 Nov 2020 13:54:11 +0000"  >&lt;p&gt;Opened &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14157&quot; title=&quot;Implement fallocate() support for zfs Lustre&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14157&quot;&gt;LU-14157&lt;/a&gt; to track fallocate support for zfs. Marking as fixed in 2.14 for ldiskfs support&lt;/p&gt;</comment>
                            <comment id="286233" author="arshad512" created="Mon, 30 Nov 2020 07:48:46 +0000"  >&lt;p&gt;Thanks Andreas, Peter.&lt;/p&gt;

&lt;p&gt;&amp;gt;Opened &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14157&quot; title=&quot;Implement fallocate() support for zfs Lustre&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14157&quot;&gt;LU-14157&lt;/a&gt; to track fallocate support for zfs. Marking as fixed in 2.14 for ldiskfs support&lt;br/&gt;
&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14160&quot; title=&quot;Implement fallocate FALLOCATE_FL_PUNCH_HOLE support&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14160&quot;&gt;&lt;del&gt;LU-14160&lt;/del&gt;&lt;/a&gt; opened for ldiskfs fallocate punch support.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10324">
                    <name>Cloners</name>
                                                                <inwardlinks description="is cloned by">
                                        <issuelink>
            <issuekey id="61793">LU-14157</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="61799">LU-14160</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="62343">LU-14333</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="66841">LU-15167</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="68487">LU-15519</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="49691">LU-10370</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="40533">LU-8699</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="57837">LU-13155</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="77617">LU-17055</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="79264">LU-17326</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="62599">LUDOC-487</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="62579">LU-14382</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="51334">LU-10810</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="62191">LU-14287</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="41717" name="fallocate_hld-2013-12-09.pdf" size="46743" author="adilger" created="Wed, 15 Dec 2021 02:31:40 +0000"/>
                    </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|hzvvl3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9150</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>