<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:27:06 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-16446] &apos;lfs mirror extend&apos; should allow specifying total mirror count</title>
                <link>https://jira.whamcloud.com/browse/LU-16446</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;The &quot;&lt;tt&gt;lfs mirror extend&lt;/tt&gt;&quot; command with the &quot;&lt;tt&gt;-N&lt;/tt&gt;&quot; option today takes a count of the number of mirrors to &lt;b&gt;add&lt;/b&gt; to a file, but there is no way to specify the &lt;b&gt;total&lt;/b&gt; number of mirrors to create on a file.  This can be problematic if there are multiple threads running e.g. &quot;&lt;tt&gt;lfs mirror extend -N 1&lt;/tt&gt;&quot; on the same file, or if the command has an error and is retried, as it may incorrectly result in 3 or more mirrors being created on the file.&lt;/p&gt;

&lt;p&gt;It would be desirable to have an option that specifies to create the &lt;b&gt;total&lt;/b&gt; number of mirrors on the file, and this is a no-op if that number of mirrors already exists.  It is open for discussion whether this should also &lt;b&gt;reduce&lt;/b&gt; the number of mirrors on a file if there are more, and if so how it would select which mirror to remove.&lt;/p&gt;</description>
                <environment></environment>
        <key id="73859">LU-16446</key>
            <summary>&apos;lfs mirror extend&apos; should allow specifying total mirror count</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>
                            <label>FLR</label>
                            <label>lad23dd</label>
                            <label>lfs</label>
                            <label>lug23dd</label>
                            <label>medium</label>
                    </labels>
                <created>Thu, 5 Jan 2023 19:14:47 +0000</created>
                <updated>Mon, 4 Dec 2023 17:52:44 +0000</updated>
                                            <version>Lustre 2.16.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="358061" author="adilger" created="Thu, 5 Jan 2023 19:39:30 +0000"  >&lt;p&gt;It looks like it would be possible to use &quot;&lt;tt&gt;lfs mirror extend -N =COUNT SETSTRIPE_OPTS FILE&lt;/tt&gt;&quot; or &quot;&lt;tt&gt;lfs mirror extend --mirror-count==COUNT SETSTRIPE_OPTS FILE&lt;/tt&gt;&quot; to specify having exactly &lt;tt&gt;COUNT&lt;/tt&gt; mirrors on a file.  It should be possible to run this on files that already have &lt;tt&gt;COUNT&lt;/tt&gt; mirrors and it would be a no-op.&lt;/p&gt;

&lt;p&gt;I&apos;m uncertain whether &lt;tt&gt;-N COUNT&lt;/tt&gt; could/should remove excess mirrors already existing on a file.&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;it would be convenient if there was some simple way to make files &quot;consistent&quot; regardless of whether they currently have more or fewer mirrors&lt;/li&gt;
	&lt;li&gt;however, the command is named &quot;&lt;tt&gt;mirror &lt;b&gt;extend&lt;/b&gt;&lt;/tt&gt;&quot; so it might be confusing to users if it is reducing the number of mirrors&lt;/li&gt;
	&lt;li&gt;it also isn&apos;t clear how this would select mirror(s) to remove if there are additional ones existing?  One option might be to remove only additional mirrors that match the &lt;tt&gt;SETSTRIPE_OPTS&lt;/tt&gt; specified on the command-line, with the assumption that those are the &quot;extra&quot; mirrors&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;It would be desirable to have a command to use for filesystem maintenance to run against a whole directory tree to bring all of the files to a consistent state.  The problem of &quot;&lt;tt&gt;lfs mirror extend -N COUNT&lt;/tt&gt;&quot; creating excess mirrors is &lt;em&gt;somewhat&lt;/em&gt; &quot;self healing&quot; over time as users/tools move to use &quot;&lt;tt&gt;-N =COUNT&lt;/tt&gt;&quot; to create mirrors, and files with excess mirrors are eventually deleted.  However, it might be better to have a different command like &quot;&lt;tt&gt;lfs mirror delete -N =COUNT&lt;/tt&gt;&quot; or similar that would reduce the number of mirrors on a file to exactly &lt;tt&gt;COUNT&lt;/tt&gt;, along with a way to specify which mirrors to remove.  &lt;/p&gt;

&lt;p&gt;For example, &quot;&lt;tt&gt;lfs mirror delete -N =2&lt;/tt&gt;&quot; would leave a file with exactly two mirrors, if the mirrors are &quot;symmetrical&quot; and it doesn&apos;t matter which one(s) are kept (maybe with some smarts to ensure the two remaining mirrors do not have components on overlapping OSTs).  Something like &quot;&lt;tt&gt;lfs mirror delete -N =1 --pool ssd -N =1 --pool hdd&lt;/tt&gt;&quot; could leave exactly one mirror on each of the &lt;tt&gt;ssd&lt;/tt&gt; and &lt;tt&gt;hdd&lt;/tt&gt; pools.  This is just an initial idea at this point, and open for discussion for the best way to be able to specify such operations.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="25084">LU-5170</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="63521">LU-14554</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="58561">LU-13403</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="52248">LU-11022</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|i0397z:</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>