[lustre-devel] [PATCH] staging: lustre: Fix an error handling path in 'client_common_fill_super()'

Dilger, Andreas andreas.dilger at intel.com
Sat May 12 01:32:50 PDT 2018


On May 12, 2018, at 00:33, Christophe JAILLET <christophe.jaillet at wanadoo.fr> wrote:
> 
> According to error handling path before and after this one, we should go
> to 'out_md_fid' here, instead of 'out_md', if 'obd_connect()' fails.
> 
> Signed-off-by: Christophe JAILLET <christophe.jaillet at wanadoo.fr>

Good catch.

Reviewed-by: Andreas Dilger <andreas.dilger at intel.com>

> ---
> The last goto 'out_lock_cn_cb' looks spurious but is correct.
> In case of error, 'd_make_root()' performs a 'iput()', so skipping it in
> the error handling path lokks fine to me.
> ---
> drivers/staging/lustre/lustre/llite/llite_lib.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/staging/lustre/lustre/llite/llite_lib.c b/drivers/staging/lustre/lustre/llite/llite_lib.c
> index 60dbe888e336..83eb2da2c9ad 100644
> --- a/drivers/staging/lustre/lustre/llite/llite_lib.c
> +++ b/drivers/staging/lustre/lustre/llite/llite_lib.c
> @@ -400,11 +400,11 @@ static int client_common_fill_super(struct super_block *sb, char *md, char *dt)
> 		LCONSOLE_ERROR_MSG(0x150,
> 				   "An OST (dt %s) is performing recovery, of which this client is not a part.  Please wait for recovery to complete, abort, or time out.\n",
> 				   dt);
> -		goto out_md;
> +		goto out_md_fid;
> 	} else if (err) {
> 		CERROR("%s: Cannot connect to %s: rc = %d\n",
> 		       sbi->ll_dt_exp->exp_obd->obd_name, dt, err);
> -		goto out_md;
> +		goto out_md_fid;
> 	}
> 
> 	sbi->ll_dt_exp->exp_connect_data = *data;
> -- 
> 2.17.0
> 
> _______________________________________________
> lustre-devel mailing list
> lustre-devel at lists.lustre.org
> http://lists.lustre.org/listinfo.cgi/lustre-devel-lustre.org

Cheers, Andreas
--
Andreas Dilger
Lustre Principal Architect
Intel Corporation









More information about the lustre-devel mailing list