[PATCH] Remove redundant stat check in vfs_default_durable_reconnect_check_stat()

Jeremy Allison jra at samba.org
Fri Jul 6 23:16:47 UTC 2018


On Wed, Jul 04, 2018 at 11:23:32AM +0200, Ralph Böhme wrote:
> Hi!
> 
> The attached patch removes a check that is
> 
> a) redudant, as vfs_default_durable_reconnect() already checks that the file_id
> matches, and
> 
> b) it breaks on clustered filesytems where the device id is often not the same
> on different nodes.
> 
> Please review&push if happy. Thanks!

Good catch Ralph. RB+ and pushed.

Jeremy.

> -- 
> Ralph Boehme, Samba Team       https://samba.org/
> Samba Developer, SerNet GmbH   https://sernet.de/en/samba/
> GPG Key Fingerprint:           FAE2 C608 8A24 2520 51C5
>                               59E4 AA1E 9B71 2639 9E46

> From 5314e94210ce1c78884f58360283a7d0ff7410a8 Mon Sep 17 00:00:00 2001
> From: Ralph Boehme <slow at samba.org>
> Date: Fri, 2 Mar 2018 15:50:29 +0100
> Subject: [PATCH] s3: smbd/durable: remove dev and inode check from
>  vfs_default_durable_reconnect_check_stat()
> 
> On a cluster filesystem the device numbers may differ on the cluster
> nodes. We already verify the file_id in vfs_default_durable_reconnect(),
> so we can safely remove the dev/inode checks.
> 
> Bug: https://bugzilla.samba.org/show_bug.cgi?id=13318
> 
> Signed-off-by: Ralph Boehme <slow at samba.org>
> ---
>  source3/smbd/durable.c | 24 ------------------------
>  1 file changed, 24 deletions(-)
> 
> diff --git a/source3/smbd/durable.c b/source3/smbd/durable.c
> index 7d7a1b21751..80392e2c6db 100644
> --- a/source3/smbd/durable.c
> +++ b/source3/smbd/durable.c
> @@ -302,30 +302,6 @@ static bool vfs_default_durable_reconnect_check_stat(
>  {
>  	int ret;
>  
> -	if (cookie_st->st_ex_dev != fsp_st->st_ex_dev) {
> -		DEBUG(1, ("vfs_default_durable_reconnect (%s): "
> -			  "stat_ex.%s differs: "
> -			  "cookie:%llu != stat:%llu, "
> -			  "denying durable reconnect\n",
> -			  name,
> -			  "st_ex_dev",
> -			  (unsigned long long)cookie_st->st_ex_dev,
> -			  (unsigned long long)fsp_st->st_ex_dev));
> -		return false;
> -	}
> -
> -	if (cookie_st->st_ex_ino != fsp_st->st_ex_ino) {
> -		DEBUG(1, ("vfs_default_durable_reconnect (%s): "
> -			  "stat_ex.%s differs: "
> -			  "cookie:%llu != stat:%llu, "
> -			  "denying durable reconnect\n",
> -			  name,
> -			  "st_ex_ino",
> -			  (unsigned long long)cookie_st->st_ex_ino,
> -			  (unsigned long long)fsp_st->st_ex_ino));
> -		return false;
> -	}
> -
>  	if (cookie_st->st_ex_mode != fsp_st->st_ex_mode) {
>  		DEBUG(1, ("vfs_default_durable_reconnect (%s): "
>  			  "stat_ex.%s differs: "
> -- 
> 2.13.6
> 




More information about the samba-technical mailing list