[lustre-devel] [PATCH 18/28] lustre: remove unused fields from struct obd_device

Andreas Dilger adilger at whamcloud.com
Wed Apr 3 12:59:28 PDT 2019


On Mar 3, 2019, at 23:31, NeilBrown <neilb at suse.com> wrote:
> 
> One field is set but never access.
> Another is accessed but never set.
> Other are never mentioned at all.

Well, not on the client at least...

> Also remove the comment
> 	/* use separate field as it is set in interrupt to don't mess with
> 	 * protection of other bits using _bh lock
> 	 */
> 
> This is not correct - were it used, obd_recovery_expired would be part
> of the same 'unsigned long' as the other fields.

It probably should have been just an "unsigned long" rather than a bitfield.
In any case, it is no longer updated in interrupt context so it is irrelevant.

> Signed-off-by: NeilBrown <neilb at suse.com>

Reviewed-by: Andreas Dilger <adilger at whamcloud.com>

> ---
> drivers/staging/lustre/lustre/include/obd.h        |   33 +++++++-------------
> drivers/staging/lustre/lustre/mgc/mgc_request.c    |    4 +-
> drivers/staging/lustre/lustre/obdclass/class_obd.c |    1 -
> .../staging/lustre/lustre/obdclass/obd_config.c    |    1 -
> 4 files changed, 14 insertions(+), 25 deletions(-)
> 
> diff --git a/drivers/staging/lustre/lustre/include/obd.h b/drivers/staging/lustre/lustre/include/obd.h
> index 3bdde312e4a6..93a47cf0ef68 100644
> --- a/drivers/staging/lustre/lustre/include/obd.h
> +++ b/drivers/staging/lustre/lustre/include/obd.h
> @@ -539,27 +539,18 @@ struct obd_device {
> 	char			 obd_name[MAX_OBD_NAME];
> 
> 	/* bitfield modification is protected by obd_dev_lock */
> -	unsigned long obd_attached:1,      /* finished attach */
> -		      obd_set_up:1,	/* finished setup */
> -		      obd_version_recov:1, /* obd uses version checking */
> -		      obd_replayable:1,/* recovery is enabled; inform clients */
> -		      obd_no_transno:1,  /* no committed-transno notification */
> -		      obd_no_recov:1,      /* fail instead of retry messages */
> -		      obd_stopping:1,      /* started cleanup */
> -		      obd_starting:1,      /* started setup */
> -		      obd_force:1,	 /* cleanup with > 0 obd refcount */
> -		      obd_fail:1,	 /* cleanup with failover */
> -		      obd_no_conn:1,       /* deny new connections */
> -		      obd_inactive:1,      /* device active/inactive
> -					    * (for sysfs status only!!)
> -					    */
> -		      obd_no_ir:1,	 /* no imperative recovery. */
> -		      obd_process_conf:1,  /* device is processing mgs config */
> -		      obd_checksum_dump:1; /* dump pages upon cksum error */
> -	/* use separate field as it is set in interrupt to don't mess with
> -	 * protection of other bits using _bh lock
> -	 */
> -	unsigned long obd_recovery_expired:1;
> +	unsigned long obd_attached:1,	  /* finished attach */
> +		      obd_set_up:1,	  /* finished setup */
> +		      obd_no_recov:1,	  /* fail instead of retry messages */
> +		      obd_stopping:1,	  /* started cleanup */
> +		      obd_starting:1,	  /* started setup */
> +		      obd_force:1,	  /* cleanup with > 0 obd refcount */
> +		      obd_fail:1,	  /* cleanup with failover */
> +		      obd_inactive:1,	  /* device active/inactive
> +					   * (for sysfs status only!!)
> +					   */
> +		      obd_process_conf:1;/* device is processing mgs config */
> +
> 	/* uuid-export hash body */
> 	struct rhashtable	 obd_uuid_hash;
> 	wait_queue_head_t	 obd_refcount_waitq;
> diff --git a/drivers/staging/lustre/lustre/mgc/mgc_request.c b/drivers/staging/lustre/lustre/mgc/mgc_request.c
> index 5ce49e708287..6daadf24b894 100644
> --- a/drivers/staging/lustre/lustre/mgc/mgc_request.c
> +++ b/drivers/staging/lustre/lustre/mgc/mgc_request.c
> @@ -991,10 +991,10 @@ static int mgc_set_info_async(const struct lu_env *env, struct obd_export *exp,
> 		if (vallen != sizeof(int))
> 			return -EINVAL;
> 		value = *(int *)val;
> -		CDEBUG(D_MGC, "InitRecov %s %d/d%d:i%d:r%d:or%d:%s\n",
> +		CDEBUG(D_MGC, "InitRecov %s %d/d%d:i%d:r%d:%s\n",
> 		       imp->imp_obd->obd_name, value,
> 		       imp->imp_deactive, imp->imp_invalid,
> -		       imp->imp_replayable, imp->imp_obd->obd_replayable,
> +		       imp->imp_replayable,
> 		       ptlrpc_import_state_name(imp->imp_state));
> 		/* Resurrect if we previously died */
> 		if ((imp->imp_state != LUSTRE_IMP_FULL &&
> diff --git a/drivers/staging/lustre/lustre/obdclass/class_obd.c b/drivers/staging/lustre/lustre/obdclass/class_obd.c
> index b8fc74044fe3..1fcbda128a58 100644
> --- a/drivers/staging/lustre/lustre/obdclass/class_obd.c
> +++ b/drivers/staging/lustre/lustre/obdclass/class_obd.c
> @@ -525,7 +525,6 @@ int class_handle_ioctl(unsigned int cmd, unsigned long arg)
> 		}
> 		CDEBUG(D_HA, "%s: disabling committed-transno notification\n",
> 		       obd->obd_name);
> -		obd->obd_no_transno = 1;
> 		err = 0;
> 		break;
> 
> diff --git a/drivers/staging/lustre/lustre/obdclass/obd_config.c b/drivers/staging/lustre/lustre/obdclass/obd_config.c
> index 0cdadea4e63c..7b10206d6e52 100644
> --- a/drivers/staging/lustre/lustre/obdclass/obd_config.c
> +++ b/drivers/staging/lustre/lustre/obdclass/obd_config.c
> @@ -487,7 +487,6 @@ static int class_cleanup(struct obd_device *obd, struct lustre_cfg *lcfg)
> 				LCONSOLE_WARN("Failing over %s\n",
> 					      obd->obd_name);
> 				obd->obd_fail = 1;
> -				obd->obd_no_transno = 1;
> 				obd->obd_no_recov = 1;
> 				if (OBP(obd, iocontrol)) {
> 					obd_iocontrol(OBD_IOC_SYNC,
> 
> 

Cheers, Andreas
---
Andreas Dilger
Principal Lustre Architect
Whamcloud









More information about the lustre-devel mailing list