linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Zach Brown <zab@zabbo.net>
To: yangsheng <sickamd@gmail.com>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	adilger@dilger.ca
Subject: Re: [PATCH] Update atime from future.
Date: Tue, 4 Dec 2012 11:41:06 -0800	[thread overview]
Message-ID: <20121204194106.GA2200@lenny.home.zabbo.net> (raw)
In-Reply-To: <1354557399-6202-1-git-send-email-sickamd@gmail.com>

On Tue, Dec 04, 2012 at 01:56:39AM +0800, yangsheng wrote:
> Relatime should update the inode atime if it is more than a day in the
> future.  The original problem seen was a tarball that had a bad atime,
> but could also happen if someone fat-fingers a "touch".  The future
> atime will never be fixed.  Before the relatime patch, the future atime
> would be updated back to the current time on the next access.

I guess.

>  	/*
> +	 * Is the previous atime value in future? If yes,
> +	 * update atime:
> +	 */
> +	if ((long)(now.tv_sec - inode->i_atime.tv_sec) < -RELATIME_MARGIN)
> +		return 1;

But this is confusing to read.  "If atime is less than a negative day in
the past.. wait, what?"

It seems like we should combine the two RELATIME_MARGIN tests.

	/*
	 * Update atime if it's older than a day or more than a day
	 * in the future, which we assume is corrupt.
	 */
	if (abs(inode->i_atime.tv_sec - now.tv_sec)) >= RELATIME_MARGIN)
		return 1;

(I don't know if you'd still need the (long) cast in there, given the
type tests in abs()).

- z

  parent reply	other threads:[~2012-12-04 19:41 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-03 17:56 [PATCH] Update atime from future yangsheng
2012-12-03 18:08 ` Greg KH
2012-12-04 19:41 ` Zach Brown [this message]
2012-12-04 20:24 ` Dave Chinner
2012-12-05  0:22   ` Andreas Dilger
2012-12-07  0:49     ` Dave Chinner
  -- strict thread matches above, loose matches on Subject: below --
2011-01-04  9:08 yangsheng
2010-12-29 13:58 yangsheng
2011-01-03 10:17 ` Andrew Morton
2011-01-03 12:54   ` YangSheng
2011-01-04 14:56   ` Rogier Wolff
2011-01-03 10:27 ` Steven Whitehouse
2011-01-03 16:27   ` Andreas Dilger
2011-01-03 16:41     ` Steven Whitehouse
2011-01-03 16:44   ` YangSheng
2011-01-11 13:33   ` Pavel Machek
2011-01-13 14:18     ` Steven Whitehouse

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=20121204194106.GA2200@lenny.home.zabbo.net \
    --to=zab@zabbo.net \
    --cc=adilger@dilger.ca \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sickamd@gmail.com \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).