From citrin@citrin.ru  Mon Nov 22 17:46:23 2010
Return-Path: <citrin@citrin.ru>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 53E04106566B
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 22 Nov 2010 17:46:23 +0000 (UTC)
	(envelope-from citrin@citrin.ru)
Received: from mail.vega.ru (mail.vega.ru [90.156.167.5])
	by mx1.freebsd.org (Postfix) with ESMTP id 086AA8FC0A
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 22 Nov 2010 17:46:22 +0000 (UTC)
Received: from builder.corp.vega.ru ([10.25.1.165])
	by mail.vega.ru with esmtps (TLSv1:AES256-SHA:256)
	(Exim 4.72 (FreeBSD))
	(envelope-from <citrin@citrin.ru>)
	id 1PKaHg-000Jde-6d
	for FreeBSD-gnats-submit@freebsd.org; Mon, 22 Nov 2010 20:34:32 +0300
Received: from builder.corp.vega.ru (builder.corp.vega.ru [10.25.1.165])
	by builder.corp.vega.ru (8.14.4/8.14.4) with ESMTP id oAMHYWwS019741
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 22 Nov 2010 17:34:32 GMT
	(envelope-from citrin@citrin.ru)
Received: (from ayuzhaninov@localhost)
	by builder.corp.vega.ru (8.14.4/8.14.4/Submit) id oAMHYViM019740;
	Mon, 22 Nov 2010 17:34:31 GMT
	(envelope-from citrin@citrin.ru)
Message-Id: <201011221734.oAMHYViM019740@builder.corp.vega.ru>
Date: Mon, 22 Nov 2010 17:34:31 GMT
From: Anton Yuzhaninov <citrin@citrin.ru>
Reply-To: Anton Yuzhaninov <citrin@citrin.ru>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: [tmpfs] mtime of file updated when only inode changed (file data not changed)
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         152488
>Category:       kern
>Synopsis:       [tmpfs] [patch] mtime of file updated when only inode changed (file data not changed)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    alc
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Nov 22 17:50:08 UTC 2010
>Closed-Date:    Wed Dec 07 07:10:18 UTC 2011
>Last-Modified:  Wed Dec 07 07:10:18 UTC 2011
>Originator:     Anton Yuzhaninov
>Release:        FreeBSD 9.0-CURRENT i386
>Organization:
openstat.ru
>Environment:
System: FreeBSD citrin.office.vega.ru 9.0-CURRENT FreeBSD 9.0-CURRENT #0 r215180: Sat Nov 13 00:19:31 MSK 2010 citrin@citrin.office.vega.ru:/usr/obj/usr/src/sys/NK i386
>Description:
According to stat(2), mtime (st_mtim) changed by the mknod(2), utimes(2), read(2) and readv(2) system calls (when file data modified).

It seems to be true for ufs, but not true for tmpfs. On tmpfs mtime updated even if file data is not modified.
>How-To-Repeat:

:~> sudo mount -t tmpfs tmpfs tmp && cd tmp
:~/tmp> touch -m -t 197001010000 xxx
:~/tmp> stat -x xxx | egrep '(Modify|Change)'
Modify: Thu Jan  1 00:00:00 1970
Change: Mon Nov 22 19:43:49 2010
:~/tmp> ln xxx xxx2
:~/tmp> stat -x xxx | egrep '(Modify|Change)'
Modify: Thu Jan  1 00:00:00 1970
Change: Mon Nov 22 19:44:40 2010
:~/tmp> rm xxx2
:~/tmp> stat -x xxx | egrep '(Modify|Change)'
Modify: Mon Nov 22 19:44:54 2010
Change: Mon Nov 22 19:44:54 2010

But expected:
Modify: Thu Jan  1 00:00:00 1970
Change: Mon Nov 22 19:44:54 2010

>Fix:
--- tmpfs.patch begins here ---
Index: tmpfs_vnops.c
===================================================================
--- tmpfs_vnops.c	(revision 215543)
+++ tmpfs_vnops.c	(working copy)
@@ -853,8 +853,7 @@
 	tmpfs_free_dirent(tmp, de, TRUE);
 
 	if (node->tn_links > 0)
-		node->tn_status |= TMPFS_NODE_ACCESSED | TMPFS_NODE_CHANGED | \
-	    TMPFS_NODE_MODIFIED;
+		node->tn_status |= TMPFS_NODE_ACCESSED | TMPFS_NODE_CHANGED;
 	error = 0;
 
 out:
--- tmpfs.patch ends here ---
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-fs 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Mon Nov 22 17:55:10 UTC 2010 
Responsible-Changed-Why:  
Over to maintainer(s). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=152488 

From: Alexander Best <arundel@freebsd.org>
To: bug-followup@freebsd.org
Cc:  
Subject: Re: kern/152488: [tmpfs] [patch] mtime of file updated when only inode changed (file data not changed)
Date: Mon, 22 Nov 2010 18:58:11 +0000

 this might me related to #29421 (closed).
 
 cheers.
 alex
 
 -- 
 a13x
State-Changed-From-To: open->patched 
State-Changed-By: alc 
State-Changed-When: Sat Feb 19 21:06:57 UTC 2011 
State-Changed-Why:  
Change applied to HEAD. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=152488 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/152488: commit references a PR
Date: Sat, 19 Feb 2011 21:04:41 +0000 (UTC)

 Author: alc
 Date: Sat Feb 19 21:04:36 2011
 New Revision: 218863
 URL: http://svn.freebsd.org/changeset/base/218863
 
 Log:
   tmpfs_remove() isn't modifying the file's data, so it shouldn't set
   TMPFS_NODE_MODIFIED on the node.
   
   PR:		152488
   Submitted by:	Anton Yuzhaninov
   Reviewed by:	kib
   MFC after:	1 week
 
 Modified:
   head/sys/fs/tmpfs/tmpfs_vnops.c
 
 Modified: head/sys/fs/tmpfs/tmpfs_vnops.c
 ==============================================================================
 --- head/sys/fs/tmpfs/tmpfs_vnops.c	Sat Feb 19 17:44:13 2011	(r218862)
 +++ head/sys/fs/tmpfs/tmpfs_vnops.c	Sat Feb 19 21:04:36 2011	(r218863)
 @@ -853,8 +853,7 @@ tmpfs_remove(struct vop_remove_args *v)
  	tmpfs_free_dirent(tmp, de, TRUE);
  
  	if (node->tn_links > 0)
 -		node->tn_status |= TMPFS_NODE_ACCESSED | TMPFS_NODE_CHANGED | \
 -	    TMPFS_NODE_MODIFIED;
 +		node->tn_status |= TMPFS_NODE_ACCESSED | TMPFS_NODE_CHANGED;
  	error = 0;
  
  out:
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
Responsible-Changed-From-To: freebsd-fs->alc 
Responsible-Changed-By: arundel 
Responsible-Changed-When: Mon Nov 21 23:15:53 UTC 2011 
Responsible-Changed-Why:  
Over to Alan as MFC reminder. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=152488 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/152488: commit references a PR
Date: Sun,  4 Dec 2011 01:16:06 +0000 (UTC)

 Author: alc
 Date: Sun Dec  4 01:15:52 2011
 New Revision: 228249
 URL: http://svn.freebsd.org/changeset/base/228249
 
 Log:
   MFC r218863
     tmpfs_remove() isn't modifying the file's data, so it shouldn't set
     TMPFS_NODE_MODIFIED on the node.
   
   PR:		152488
 
 Modified:
   stable/8/sys/fs/tmpfs/tmpfs_vnops.c
 Directory Properties:
   stable/8/sys/   (props changed)
   stable/8/sys/amd64/include/xen/   (props changed)
   stable/8/sys/cddl/contrib/opensolaris/   (props changed)
   stable/8/sys/contrib/dev/acpica/   (props changed)
   stable/8/sys/contrib/pf/   (props changed)
 
 Modified: stable/8/sys/fs/tmpfs/tmpfs_vnops.c
 ==============================================================================
 --- stable/8/sys/fs/tmpfs/tmpfs_vnops.c	Sat Dec  3 23:36:36 2011	(r228248)
 +++ stable/8/sys/fs/tmpfs/tmpfs_vnops.c	Sun Dec  4 01:15:52 2011	(r228249)
 @@ -823,8 +823,7 @@ tmpfs_remove(struct vop_remove_args *v)
  	tmpfs_free_dirent(tmp, de, TRUE);
  
  	if (node->tn_links > 0)
 -		node->tn_status |= TMPFS_NODE_ACCESSED | TMPFS_NODE_CHANGED | \
 -	    TMPFS_NODE_MODIFIED;
 +		node->tn_status |= TMPFS_NODE_ACCESSED | TMPFS_NODE_CHANGED;
  	error = 0;
  
  out:
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/152488: commit references a PR
Date: Sun,  4 Dec 2011 01:22:36 +0000 (UTC)

 Author: alc
 Date: Sun Dec  4 01:22:22 2011
 New Revision: 228250
 URL: http://svn.freebsd.org/changeset/base/228250
 
 Log:
   MFC r218863
     tmpfs_remove() isn't modifying the file's data, so it shouldn't set
     TMPFS_NODE_MODIFIED on the node.
   
   PR:		152488
 
 Modified:
   stable/7/sys/fs/tmpfs/tmpfs_vnops.c
 Directory Properties:
   stable/7/sys/   (props changed)
   stable/7/sys/cddl/contrib/opensolaris/   (props changed)
   stable/7/sys/contrib/dev/acpica/   (props changed)
   stable/7/sys/contrib/pf/   (props changed)
 
 Modified: stable/7/sys/fs/tmpfs/tmpfs_vnops.c
 ==============================================================================
 --- stable/7/sys/fs/tmpfs/tmpfs_vnops.c	Sun Dec  4 01:15:52 2011	(r228249)
 +++ stable/7/sys/fs/tmpfs/tmpfs_vnops.c	Sun Dec  4 01:22:22 2011	(r228250)
 @@ -791,8 +791,7 @@ tmpfs_remove(struct vop_remove_args *v)
  	tmpfs_free_dirent(tmp, de, TRUE);
  
  	if (node->tn_links > 0)
 -		node->tn_status |= TMPFS_NODE_ACCESSED | TMPFS_NODE_CHANGED | \
 -	    TMPFS_NODE_MODIFIED;
 +		node->tn_status |= TMPFS_NODE_ACCESSED | TMPFS_NODE_CHANGED;
  	error = 0;
  
  out:
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: patched->closed 
State-Changed-By: alc 
State-Changed-When: Wed Dec 7 07:09:12 UTC 2011 
State-Changed-Why:  
The patch has been applied to all active branches. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=152488 
>Unformatted:
