[patch] handle fs types with coarser granularity

Shirish Pargaonkar <[email protected]>
Newsgroups gmane.linux.file-systems.cifs
Message-ID <[email protected]>
force revalidate of the file when any of the timestamps are set for
filesytem type does not have finer granularity timestamps.
samba bugzilla 3775


From 77d285ad59ebf163c2c3be2d0b4f6df1e4d19917 Mon Sep 17 00:00:00 2001
From: Shirish Pargaonkar <[email protected]>
Date: Wed, 13 Jan 2010 15:06:34 -0600
Subject: [PATCH] force revalidate to accomodate coarser granularity timestamps

Signed-off-by: Shirish Pargaonkar <[email protected]>
---
 fs/cifs/inode.c |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
index cf18ee7..7db26a5 100644
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -1762,8 +1762,18 @@ cifs_setattr_unix(struct dentry *direntry,
struct iattr *attrs)
 					CIFS_MOUNT_MAP_SPECIAL_CHR);
 	}

-	if (!rc)
-		rc = inode_setattr(inode, attrs);
+	if (rc)
+		goto out;
+
+	rc = inode_setattr(inode, attrs);
+
+	/*
+	 * force revalidate when any of the times are set since some
+	 * of the fs types do not have finer granularity timestamps
+	 */
+	if ((!rc) && (attrs->ia_valid & (ATTR_ATIME | ATTR_MTIME | ATTR_CTIME)))
+		cifsInode->time = 0;
+
 out:
 	kfree(args);
 	kfree(full_path);
-- 
1.6.0.2
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.