[lustre-devel] [PATCH 18/28] lustre: remove unused fields from struct obd_device
NeilBrown
neilb at suse.com
Wed Apr 3 16:44:18 PDT 2019
On Wed, Apr 03 2019, Andreas Dilger wrote:
> 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...
Yes ... there will be lots to (review and) put back when we add the
server.
>
>> 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>
Thanks,
NeilBrown
>
>> ---
>> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.lustre.org/pipermail/lustre-devel-lustre.org/attachments/20190404/542ffcc4/attachment-0001.sig>
More information about the lustre-devel
mailing list