> +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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to