[linux-cifs-client] [patch] handle fs types with coarser granularity
Jeff Layton
jlayton at redhat.com
Wed Jan 13 16:18:53 MST 2010
On Wed, 13 Jan 2010 15:18:45 -0600
Shirish Pargaonkar <shirishpargaonkar at gmail.com> wrote:
> 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 <shirishpargaonkar at gmail.com>
> Date: Wed, 13 Jan 2010 15:06:34 -0600
> Subject: [PATCH] force revalidate to accomodate coarser granularity timestamps
>
> Signed-off-by: Shirish Pargaonkar <shirishpargaonkar at gmail.com>
> ---
> 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)))
^^^^^
The extra parens around !rc aren't needed here. It'll be more readable without them.
> + cifsInode->time = 0;
> +
> out:
> kfree(args);
> kfree(full_path);
Other than the minor nit above...
Acked-by: Jeff Layton <jlayton at redhat.com>
More information about the linux-cifs-client
mailing list