[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20121204194106.GA2200@lenny.home.zabbo.net>
Date: Tue, 4 Dec 2012 11:41:06 -0800
From: Zach Brown <zab@...bo.net>
To: yangsheng <sickamd@...il.com>
Cc: linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
adilger@...ger.ca
Subject: Re: [PATCH] Update atime from future.
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists