Date: Tue, 16 Jul 2002 06:07:26 +1000 (EST) From: Bruce Evans <bde@zeta.org.au> To: Alfred Perlstein <alfred@freebsd.org> Cc: fs@freebsd.org, <bde@freebsd.org>, <mckusick@freesd.org> Subject: Re: (forw) atime patch tested and fixed for 4.6 (fwd) Message-ID: <20020716055722.Q41780-100000@gamplex.bde.org> In-Reply-To: <20020715172055.GM77219@elvis.mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 15 Jul 2002, Alfred Perlstein wrote:
> A friend whipped this patch up, what it does is update atime when
> mtime/ctime change. Is this ok?
I disklike it for the same reasons as when it was proposed before.
> and here's the patch:
>
> --- ufs_vnops.c.orig Tue Feb 5 10:35:04 2002
> +++ ufs_vnops.c Mon Jul 8 19:07:48 2002
> @@ -159,6 +159,18 @@
> ip->i_flag |= IN_LAZYMOD;
> else
> ip->i_flag |= IN_MODIFIED;
> + /*
> + * If we're going to be updating or changing,
> + * it makes sense that we're accessing as well.
> + * This changes the traditional semantics of
> + * mount -o noatime slightly.
> + */
> + if (!(ip->i_flag & IN_ACCESS) &&
> + ((ip->i_flag & IN_UPDATE) ||
> + (ip->i_flag & IN_CHANGE))) {
> + ip->i_flag |= IN_ACCESS;
> + }
> +
> if ((vp->v_mount->mnt_flag & MNT_RDONLY) == 0) {
> vfs_timestamp(&ts);
> if (ip->i_flag & IN_ACCESS) {
>
A better way would be to set IN_ACCESS without checking MNT_NOATIME
elsewhere, and either ignore it or unset it here if MNT_NOATIME is set
and one of the other IN_* flags is not set. It doesn't make sense that
we are accessing if we didn't set the access flag.
Bruce
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020716055722.Q41780-100000>
