Re: [patch] handle fs types with coarser granularity

Jeff Layton <[email protected]>
Newsgroups gmane.linux.file-systems.cifs
Message-ID <[email protected]>
On Wed, 13 Jan 2010 15:18:45 -0600
Shirish Pargaonkar <[email protected]> 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 <[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)))
	    ^^^^^
	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 <[email protected]>
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.