[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