<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:18:54 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-8591] allow specifying ZFS blocksize via ladvise</title>
                <link>https://jira.whamcloud.com/browse/LU-8591</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;As a continuation of &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-4931&quot; title=&quot;New feature of giving server/storage side advice of accessing file&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-4931&quot;&gt;&lt;del&gt;LU-4931&lt;/del&gt;&lt;/a&gt; &quot;New feature of giving server/storage side advice of accessing file&quot; and &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-4865&quot; title=&quot;osd-zfs: increase object block size dynamically as object grows&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-4865&quot;&gt;&lt;del&gt;LU-4865&lt;/del&gt;&lt;/a&gt; &quot;osd-zfs: increase object block size dynamically as object grows&quot; it is useful to be able to specify the ZFS blocksize for a file directly from the client, so that the OSS doesn&apos;t have to guess at this itself.&lt;/p&gt;

&lt;p&gt;This can be done via the &quot;ladvise&quot; functionality by adding a new &lt;tt&gt;LU_LADVISE_BLOCKSIZE&lt;/tt&gt; advice.  There are reserved fields in the &lt;tt&gt;lu_ladvise&lt;/tt&gt; struct for passing arbitrary information as part of the request.&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;struct lu_ladvise {
        __u16 lla_advice;       &lt;span class=&quot;code-comment&quot;&gt;/* advice type */&lt;/span&gt;
        __u16 lla_value1;       &lt;span class=&quot;code-comment&quot;&gt;/* values &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; different advice types */&lt;/span&gt;
        __u32 lla_value2;   
        __u64 lla_start;        &lt;span class=&quot;code-comment&quot;&gt;/* first &lt;span class=&quot;code-object&quot;&gt;byte&lt;/span&gt; of extent &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; advice */&lt;/span&gt;
        __u64 lla_end;          &lt;span class=&quot;code-comment&quot;&gt;/* last &lt;span class=&quot;code-object&quot;&gt;byte&lt;/span&gt; of extent &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; advice */&lt;/span&gt;
        __u32 lla_value3;   
        __u32 lla_value4;   
};
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The blocksize can be up to 16MB (or possibly more in the future), so if specified in bytes it should go into &lt;tt&gt;lla_value2&lt;/tt&gt;, but it might make sense to limit this to be a power-of-two value, in which case &lt;tt&gt;lla_value1&lt;/tt&gt; would be enough.  It makes sense to &lt;tt&gt;#define lla_blocksize lla_valueX&lt;/tt&gt; to map this to the correct field so that there are no errors in usage from userspace or in the kernel.  It doesn&apos;t make sense to specify &lt;tt&gt;lla_start&lt;/tt&gt; or &lt;tt&gt;lla_end&lt;/tt&gt; for a single object, but it may be useful for PFL files, so that should be handled transparently by osd-zfs.  It should return an error from osd-ldiskfs, or from osd-zfs if the blocksize is specified but it doesn&apos;t match the current blocksize and the blocksize is smaller than the current file size.  Increasing the osd-zfs blocksize should be permitted, but it should be &quot;sticky&quot; on the object (at least until the object is evicted from RAM) so that dynamic blocksize heuristics from &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7226&quot; title=&quot;improve osd-zfs blocksize heuristics&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7226&quot;&gt;&lt;del&gt;LU-7226&lt;/del&gt;&lt;/a&gt; don&apos;t override the user-specified value.&lt;/p&gt;
</description>
                <environment></environment>
        <key id="39676">LU-8591</key>
            <summary>allow specifying ZFS blocksize via ladvise</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="wc-triage">WC Triage</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                    </labels>
                <created>Wed, 7 Sep 2016 20:07:16 +0000</created>
                <updated>Tue, 16 Jul 2019 06:43:38 +0000</updated>
                                                                                <due></due>
                            <votes>1</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="165201" author="adilger" created="Wed, 7 Sep 2016 20:57:34 +0000"  >&lt;p&gt;Note that this same interface could also be used to specify the ZFS compression type and level on a per-file basis as well. &lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10324">
                    <name>Cloners</name>
                                            <outwardlinks description="Clones">
                                        <issuelink>
            <issuekey id="32367">LU-7225</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="24298">LU-4931</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="24075">LU-4865</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="54000">LU-11657</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="32369">LU-7226</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|hzynov:</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>