<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:57:38 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-13015] WBC: lfs wbc and lctl wbc utils</title>
                <link>https://jira.whamcloud.com/browse/LU-13015</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;h2&gt;&lt;a name=&quot;lfswbccommands&quot;&gt;&lt;/a&gt;lfs wbc commands&lt;/h2&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;
# lfs wbc cache $DIR
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;If $DIR is an empty directory, try to acquire WBC EX lock from MDT for $DIR;&lt;br/&gt;
 If $DIR is not an empty directory, add hint to the directory $DIR to indicate that:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;all new creating sub dirs ( not include regular files?) should obtain the EX lock;&lt;/li&gt;
	&lt;li&gt;New sub dirs create on MDT synchronously.&lt;/li&gt;
	&lt;li&gt;New sub dirs are in (P|S) state;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&#160;&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;
# lfs wbc list $MOUNT
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;List all root WBC directories on a client.&lt;/p&gt;

&lt;p&gt;&#160;&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;
# lfs wbc uncache $DIR
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Sync and remove a cached root WBC directory $DIR.&lt;/p&gt;

&lt;p&gt;&#160;&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;
#lfs wbc state $file
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Display the WBC state of the file $file.&lt;/p&gt;
&lt;h2&gt;&lt;a name=&quot;lctlwbccommands&quot;&gt;&lt;/a&gt;lctl wbc commands&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13012&quot; title=&quot;WBC: Rule based auto WBC&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13012&quot;&gt;LU-13012&lt;/a&gt; WBC: Rule based auto WBC;&lt;/p&gt;

&lt;p&gt;&#160;&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;
# lctl wbc /mnt/lustre [--data-on-pcc] [--metadata-on-pcc] [--device /mnt/pcc] [--memfs]...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="57469">LU-13015</key>
            <summary>WBC: lfs wbc and lctl wbc utils</summary>
                <type id="7" iconUrl="https://jira.whamcloud.com/images/icons/issuetypes/task_agile.png">Technical task</type>
                            <parent id="51932">LU-10938</parent>
                                    <priority id="1" iconUrl="https://jira.whamcloud.com/images/icons/priorities/blocker.svg">Blocker</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="qian_wc">Qian Yingjin</assignee>
                                    <reporter username="qian_wc">Qian Yingjin</reporter>
                        <labels>
                    </labels>
                <created>Tue, 26 Nov 2019 15:41:17 +0000</created>
                <updated>Fri, 29 Nov 2019 23:09:57 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="258860" author="adilger" created="Tue, 26 Nov 2019 21:14:06 +0000"  >&lt;p&gt;I think it makes sense for the client to &lt;b&gt;always&lt;/b&gt; try to get the WBC EX directory lock on a new directory. In the worst case this causes an extra LDLM blocking callback if the directory is immediately contended, but I think the far more common case is that the client creating the directory will also create at least a few files in it (eg. num_threads per client) before it is accessed by other clients.  This makes WBC immediately useful for users, and also improves test coverage significantly. &lt;/p&gt;

&lt;p&gt;The &quot;&lt;tt&gt;lfs wbc cache $DIR&lt;/tt&gt;&quot; command should force the client to try and get the WBC EX lock on &lt;b&gt;existing&lt;/b&gt; directory &quot;&lt;tt&gt;$DIR&lt;/tt&gt;&quot; and fetch the list of filenames via &lt;tt&gt;readdir&lt;/tt&gt; so that it can make local decisions whether the filename exists already or not. Eventually, even the fetching and caching of directory entries should be done automatically based on how many files the one client is creating in the same directory, and if other clients are contending for the directory lock.   For WBCv1 we shouldn&apos;t try to handle existing directories, only new directories.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="51932">LU-10938</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="57462">LU-13012</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="51932">LU-10938</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|i00pzb:</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>