Re: [patch] implement smarter atime updates support
From: Arjan van de Ven
Date: Sun Aug 05 2007 - 15:55:27 EST
> +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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/