On Wed,  6 Aug 2014 15:15:43 +0400
Pavel Shilovsky <[email protected]> wrote:

> Samba server can change a creation time of an inode in the default
> configuration. The client sets this value during the inode initialization
> only and uses it the inode search. In this case harlinked dentries may
> link to different inodes. As the results the Cthon basic test #7 fails
> on nounix Samba mounts.
> 
> Fix this by making the client update the creation time on every
> query info request.
> 
> Cc: Jeff Layton <[email protected]>
> Signed-off-by: Pavel Shilovsky <[email protected]>
> ---
>  fs/cifs/inode.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
> index a174605..2029e7c 100644
> --- a/fs/cifs/inode.c
> +++ b/fs/cifs/inode.c
> @@ -173,6 +173,9 @@ cifs_fattr_to_inode(struct inode *inode, struct 
> cifs_fattr *fattr)
>  
>       cifs_i->cifsAttrs = fattr->cf_cifsattrs;
>  
> +     /* Samba server changes this value in the default configuration */
> +     cifs_i->createtime = fattr->cf_createtime;
> +
>       if (fattr->cf_flags & CIFS_FATTR_NEED_REVAL)
>               cifs_i->time = 0;
>       else

NAK

That really sounds more like a bug in Samba. The creation time is
supposed to be immutable, and if it changes then that means that you
have a new inode.

We really *don't* want to go updating it like this.

-- 
Jeff Layton <[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to