<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:13:40 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-1118] Push file_update_time() into .page_mkwrite</title>
                <link>https://jira.whamcloud.com/browse/LU-1118</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Please add a check for this so that it isn&apos;t forgotten. This isn&apos;t something that will cause a compile error, so it could easily be missed when porting to a new kernel. &lt;/p&gt;

&lt;p&gt;Cheers, Andreas&lt;/p&gt;

&lt;p&gt;Begin forwarded message:&lt;/p&gt;

&lt;p&gt;&amp;gt; From: Jan Kara &amp;lt;jack@suse.cz&amp;gt;&lt;br/&gt;
&amp;gt; Date: 16 February, 2012 6:46:08 MST&lt;br/&gt;
&amp;gt; To: LKML &amp;lt;linux-kernel@vger.kernel.org&amp;gt;&lt;br/&gt;
&amp;gt; Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton &amp;lt;akpm@linux-foundation.org&amp;gt;, Eric Sandeen &amp;lt;sandeen@redhat.com&amp;gt;, Dave Chinner &amp;lt;david@fromorbit.com&amp;gt;, Jan Kara &amp;lt;jack@suse.cz&amp;gt;, Peter Zijlstra &amp;lt;a.p.zijlstra@chello.nl&amp;gt;, Ingo Molnar &amp;lt;mingo@elte.hu&amp;gt;, Paul Mackerras &amp;lt;paulus@samba.org&amp;gt;, Arnaldo Carvalho de Melo &amp;lt;acme@ghostprotocols.net&amp;gt;, Jaya Kumar &amp;lt;jayalk@intworks.biz&amp;gt;, Sage Weil &amp;lt;sage@newdream.net&amp;gt;, ceph-devel@vger.kernel.org, Steve French &amp;lt;sfrench@samba.org&amp;gt;, linux-cifs@vger.kernel.org, Eric Van Hensbergen &amp;lt;ericvh@gmail.com&amp;gt;, Ron Minnich &amp;lt;rminnich@sandia.gov&amp;gt;, Latchesar Ionkov &amp;lt;lucho@ionkov.net&amp;gt;, v9fs-developer@lists.sourceforge.net, Miklos Szeredi &amp;lt;miklos@szeredi.hu&amp;gt;, fuse-devel@lists.sourceforge.net, Steven Whitehouse &amp;lt;swhiteho@redhat.com&amp;gt;, cluster-devel@redhat.com, Greg Kroah-Hartman &amp;lt;gregkh@linuxfoundation.org&amp;gt;, Trond Myklebust &amp;lt;Trond.Myklebust@netapp.com&amp;gt;, linux-nfs@vger.kernel.org&lt;br/&gt;
&amp;gt; Subject: &lt;span class=&quot;error&quot;&gt;&amp;#91;PATCH 00/11&amp;#93;&lt;/span&gt; Push file_update_time() into .page_mkwrite&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt;  Hello,&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt;  to provide reliable support for filesystem freezing, filesystems need to have&lt;br/&gt;
&amp;gt; complete control over when metadata is changed. In particular,&lt;br/&gt;
&amp;gt; file_update_time() calls from page fault code make it impossible for&lt;br/&gt;
&amp;gt; filesystems to prevent inodes from being dirtied while the filesystem is&lt;br/&gt;
&amp;gt; frozen.&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; To fix the issue, this patch set changes page fault code to call&lt;br/&gt;
&amp;gt; file_update_time() only when -&amp;gt;page_mkwrite() callback is not provided. If the&lt;br/&gt;
&amp;gt; callback is provided, it is the responsibility of the filesystem to perform&lt;br/&gt;
&amp;gt; update of i_mtime / i_ctime if needed. We also push file_update_time() call&lt;br/&gt;
&amp;gt; to all existing -&amp;gt;page_mkwrite() implementations if the time update does not&lt;br/&gt;
&amp;gt; obviously happen by other means. If you know your filesystem does not need&lt;br/&gt;
&amp;gt; update of modification times in -&amp;gt;page_mkwrite() handler, please speak up and&lt;br/&gt;
&amp;gt; I&apos;ll drop the patch for your filesystem.&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; As a side note, an alternative would be to remove call of file_update_time()&lt;br/&gt;
&amp;gt; from page fault code altogether and require all filesystems needing it to do&lt;br/&gt;
&amp;gt; that in their -&amp;gt;page_mkwrite() implementation. That is certainly possible&lt;br/&gt;
&amp;gt; although maybe slightly inefficient and would require auditting 100+&lt;br/&gt;
&amp;gt; vm_operations_structs &lt;b&gt;shake&lt;/b&gt;.&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt; If I get acks on these patches, Andrew, would you be willing to take these&lt;br/&gt;
&amp;gt; patches?&lt;br/&gt;
&amp;gt;&lt;br/&gt;
&amp;gt;                                Honza&lt;br/&gt;
&amp;gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="13232">LU-1118</key>
            <summary>Push file_update_time() into .page_mkwrite</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="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="ys">Yang Sheng</assignee>
                                    <reporter username="ys">Yang Sheng</reporter>
                        <labels>
                    </labels>
                <created>Fri, 17 Feb 2012 22:27:42 +0000</created>
                <updated>Fri, 22 Apr 2016 17:54:45 +0000</updated>
                            <resolved>Fri, 22 Apr 2016 17:54:45 +0000</resolved>
                                                    <fixVersion>Lustre 2.9.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="29425" author="ys" created="Fri, 17 Feb 2012 22:28:27 +0000"  >&lt;p&gt;On 2012-02-17, at 1:34 PM, Jinshan Xiong wrote:&lt;br/&gt;
&amp;gt; What if we call file_update_time() in ll_page_mkwrite() anyway. So in older kernels, it will be called twice, is there any side-effect for this?&lt;br/&gt;
There is some overhead to doing this, due to getting the kernel timestamp repeatedly.  It also locks the inode to increment the version, and marks&lt;br/&gt;
the inode dirty again.&lt;/p&gt;

&lt;p&gt;Better to make a configure check (if this is possible), otherwise a kernel version check.  If some vendor backports this patch then it will call this twice, but at least it will avoid overhead in most cases.&lt;/p&gt;
</comment>
                            <comment id="143896" author="gerrit" created="Fri, 26 Feb 2016 07:48:10 +0000"  >&lt;p&gt;Yang Sheng (yang.sheng@intel.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/18683&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/18683&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-1118&quot; title=&quot;Push file_update_time() into .page_mkwrite&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-1118&quot;&gt;&lt;del&gt;LU-1118&lt;/del&gt;&lt;/a&gt; llite: Invoke file_update_time in page_mkwrite&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: af14f5840bc994468bf4e947f30698d7195b178e&lt;/p&gt;</comment>
                            <comment id="149850" author="gerrit" created="Fri, 22 Apr 2016 15:47:56 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/18683/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/18683/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-1118&quot; title=&quot;Push file_update_time() into .page_mkwrite&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-1118&quot;&gt;&lt;del&gt;LU-1118&lt;/del&gt;&lt;/a&gt; llite: Invoke file_update_time in page_mkwrite&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: f28278c8cb55ce78ba0e6a180ce2b5daef1d8bea&lt;/p&gt;</comment>
                            <comment id="149874" author="ys" created="Fri, 22 Apr 2016 17:54:45 +0000"  >&lt;p&gt;Patch landed, So close this ticket.&lt;/p&gt;</comment>
                    </comments>
                    <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|hzw14n:</customfieldvalue>

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