[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1186343582.25667.3.camel@laptopd505.fenrus.org>
Date: Sun, 05 Aug 2007 12:53:02 -0700
From: Arjan van de Ven <arjan@...radead.org>
To: Ingo Molnar <mingo@...e.hu>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Jakob Oestergaard <jakob@...hought.net>,
Jeff Garzik <jeff@...zik.org>, miklos@...redi.hu,
akpm@...ux-foundation.org, neilb@...e.de, dgc@....com,
tomoki.sekiyama.qu@...achi.com,
Peter Zijlstra <a.p.zijlstra@...llo.nl>, linux-mm@...ck.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
nikita@...sterfs.com, trond.myklebust@....uio.no,
yingchao.zhou@...il.com, richard@....demon.co.uk, david@...g.hm
Subject: Re: [patch] implement smarter atime updates support
> +static int relatime_need_update(struct inode *inode, struct timespec now)
> +{
> + /*
> + * Is mtime younger than atime? If yes, update atime:
> + */
> + if (timespec_compare(&inode->i_mtime, &inode->i_atime) >= 0)
> + return 1;
> + /*
> + * Is ctime younger than atime? If yes, update atime:
> + */
> + if (timespec_compare(&inode->i_ctime, &inode->i_atime) >= 0)
> + return 1;
> +
> + /*
> + * Is the previous atime value older than a day? If yes,
> + * update atime:
> + */
> + if ((long)(now.tv_sec - inode->i_atime.tv_sec) >= 24*60*60)
> + return 1;
you might want to add
/*
* if the inode is dirty already, do the atime update since
* we'll be doing the disk IO anyway to clean the inode.
*/
if (inode->i_state & I_DIRTY)
return 1;
-
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