LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Rik van Riel <riel@redhat.com>
To: Jakob Oestergaard <jakob@unthought.net>
Cc: Valdis.Kletnieks@vt.edu,
	Anton Salikhmetov <salikhmetov@gmail.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH][RFC][BUG] updating the ctime and mtime time stamps in msync()
Date: Wed, 9 Jan 2008 18:41:41 -0500	[thread overview]
Message-ID: <20080109184141.287189b8@bree.surriel.com> (raw)
In-Reply-To: <20080109223340.GH25527@unthought.net>

On Wed, 9 Jan 2008 23:33:40 +0100
Jakob Oestergaard <jakob@unthought.net> wrote:
> On Wed, Jan 09, 2008 at 05:06:33PM -0500, Rik van Riel wrote:

> > Can we get by with simply updating the ctime and mtime every time msync()
> > is called, regardless of whether or not the mmaped pages were still dirty
> > by the time we called msync() ?
> 
> The update must still happen, eventually, after a write to the mapped region
> followed by an unmap/close even if no msync is ever called.
> 
> The msync only serves as a "no later than" deadline. The write to the region
> triggers the need for the update.
> 
> At least this is how I read the standard - please feel free to correct me if I
> am mistaken.
 
You are absolutely right.  If we wrote dirty pages to disk, the ctime
and mtime updates must happen no later than msync or close time.

I guess a third possible time (if we want to minimize the number of
updates) would be when natural syncing of the file data to disk, by
other things in the VM, would be about to clear the I_DIRTY_PAGES
flag on the inode.  That way we do not need to remember any special
"we already flushed all dirty data, but we have not updated the mtime
and ctime yet" state.

Does this sound reasonable?

-- 
All rights reversed.

  reply	other threads:[~2008-01-09 23:41 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-07 17:54 Anton Salikhmetov
2008-01-09 11:32 ` Anton Salikhmetov
2008-01-09 11:47   ` Jakob Oestergaard
2008-01-09 12:22   ` Jakob Oestergaard
2008-01-09 14:41   ` Jesper Juhl
2008-01-09 15:31     ` Anton Salikhmetov
2008-01-09 21:28   ` Peter Staubach
2008-01-09 20:50 ` Rik van Riel
2008-01-09 21:01   ` Klaus S. Madsen
2008-01-09 21:06   ` Valdis.Kletnieks
2008-01-09 22:06     ` Rik van Riel
2008-01-09 22:19       ` Peter Staubach
2008-01-09 22:33       ` Jakob Oestergaard
2008-01-09 23:41         ` Rik van Riel [this message]
2008-01-10  0:03           ` Anton Salikhmetov
2008-01-10  8:51             ` Jakob Oestergaard
2008-01-10 10:53               ` Anton Salikhmetov
2008-01-10 15:45                 ` Rik van Riel
2008-01-10 15:56                   ` Anton Salikhmetov
2008-01-10 16:07                     ` Rik van Riel
2008-01-10 16:40                       ` Anton Salikhmetov
2008-01-10 16:52                         ` Peter Staubach
2008-01-10 16:46                       ` Peter Staubach
2008-01-10 20:48           ` Valdis.Kletnieks
2008-01-10  0:48       ` Anton Salikhmetov
2008-01-10  0:40   ` Anton Salikhmetov
2008-01-09 21:18 ` Peter Staubach

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080109184141.287189b8@bree.surriel.com \
    --to=riel@redhat.com \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=jakob@unthought.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=salikhmetov@gmail.com \
    --subject='Re: [PATCH][RFC][BUG] updating the ctime and mtime time stamps in msync()' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).