Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Jul 2015 11:41:32 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Christian Brueffer <brueffer@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r285885 - head/sys/fs/tmpfs
Message-ID:  <20150726084132.GM2072@kib.kiev.ua>
In-Reply-To: <201507260833.t6Q8Xlb1023371@repo.freebsd.org>
References:  <201507260833.t6Q8Xlb1023371@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jul 26, 2015 at 08:33:47AM +0000, Christian Brueffer wrote:
> Author: brueffer
> Date: Sun Jul 26 08:33:46 2015
> New Revision: 285885
> URL: https://svnweb.freebsd.org/changeset/base/285885
> 
> Log:
>   In tmpfs_chtimes(), remove checks on the nanosecond level when
>   determining whether a node changed.
No, these are checks to see if the userspace requested an update to the
corresponding inode time and supplied valid time.

I.e. the code change is right, but the commit message is misleading.
>   
>   Other filesystems, e.g., UFS, only check on seconds, when determining
>   whether something changed.
>   
>   This also corrects the birthtime case, where we checked tv_nsec
>   twice, instead of tv_sec and tv_nsec (PR).
>   
>   PR:			201284
>   Submitted by:		David Binderman
>   Patch suggested by:	kib
>   Reviewed by:		kib
>   MFC after:		2 weeks
>   Committed from:		Essen FreeBSD Hackathon
> 
> Modified:
>   head/sys/fs/tmpfs/tmpfs_subr.c
> 
> Modified: head/sys/fs/tmpfs/tmpfs_subr.c
> ==============================================================================
> --- head/sys/fs/tmpfs/tmpfs_subr.c	Sun Jul 26 00:11:04 2015	(r285884)
> +++ head/sys/fs/tmpfs/tmpfs_subr.c	Sun Jul 26 08:33:46 2015	(r285885)
> @@ -1709,20 +1709,18 @@ tmpfs_chtimes(struct vnode *vp, struct v
>  	if (error != 0)
>  		return (error);
>  
> -	if (vap->va_atime.tv_sec != VNOVAL && vap->va_atime.tv_nsec != VNOVAL)
> +	if (vap->va_atime.tv_sec != VNOVAL)
>  		node->tn_status |= TMPFS_NODE_ACCESSED;
>  
> -	if (vap->va_mtime.tv_sec != VNOVAL && vap->va_mtime.tv_nsec != VNOVAL)
> +	if (vap->va_mtime.tv_sec != VNOVAL)
>  		node->tn_status |= TMPFS_NODE_MODIFIED;
>  
> -	if (vap->va_birthtime.tv_nsec != VNOVAL &&
> -	    vap->va_birthtime.tv_nsec != VNOVAL)
> +	if (vap->va_birthtime.tv_sec != VNOVAL)
>  		node->tn_status |= TMPFS_NODE_MODIFIED;
>  
>  	tmpfs_itimes(vp, &vap->va_atime, &vap->va_mtime);
>  
> -	if (vap->va_birthtime.tv_nsec != VNOVAL &&
> -	    vap->va_birthtime.tv_nsec != VNOVAL)
> +	if (vap->va_birthtime.tv_sec != VNOVAL)
>  		node->tn_birthtime = vap->va_birthtime;
>  	MPASS(VOP_ISLOCKED(vp));
>  



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150726084132.GM2072>