mirror of https://gitee.com/openkylin/linux.git
staging/lustre/llite: ensure obd is effective in onu_upcall
The watched obd device may still not setup while onu_upcall invoked. So we need verify it in cl_ocd_update. Signed-off-by: Yang Sheng <yang.sheng@intel.com> Reviewed-on: http://review.whamcloud.com/19597 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-8027 Reviewed-by: Niu Yawei <yawei.niu@intel.com> Reviewed-by: Lai Siyao <lai.siyao@intel.com> Signed-off-by: Oleg Drokin <green@linuxhacker.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e8beaf670d
commit
2323d6d837
|
@ -96,7 +96,8 @@ int cl_ocd_update(struct obd_device *host,
|
||||||
__u64 flags;
|
__u64 flags;
|
||||||
int result;
|
int result;
|
||||||
|
|
||||||
if (!strcmp(watched->obd_type->typ_name, LUSTRE_OSC_NAME)) {
|
if (!strcmp(watched->obd_type->typ_name, LUSTRE_OSC_NAME) &&
|
||||||
|
watched->obd_set_up && !watched->obd_stopping) {
|
||||||
cli = &watched->u.cli;
|
cli = &watched->u.cli;
|
||||||
lco = owner;
|
lco = owner;
|
||||||
flags = cli->cl_import->imp_connect_data.ocd_connect_flags;
|
flags = cli->cl_import->imp_connect_data.ocd_connect_flags;
|
||||||
|
@ -111,9 +112,10 @@ int cl_ocd_update(struct obd_device *host,
|
||||||
mutex_unlock(&lco->lco_lock);
|
mutex_unlock(&lco->lco_lock);
|
||||||
result = 0;
|
result = 0;
|
||||||
} else {
|
} else {
|
||||||
CERROR("unexpected notification from %s %s!\n",
|
CERROR("unexpected notification from %s %s (setup:%d,stopping:%d)!\n",
|
||||||
watched->obd_type->typ_name,
|
watched->obd_type->typ_name,
|
||||||
watched->obd_name);
|
watched->obd_name, watched->obd_set_up,
|
||||||
|
watched->obd_stopping);
|
||||||
result = -EINVAL;
|
result = -EINVAL;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|
Loading…
Reference in New Issue