Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2323d6d8 authored by Yang Sheng's avatar Yang Sheng Committed by Greg Kroah-Hartman
Browse files

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: default avatarYang 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: default avatarNiu Yawei <yawei.niu@intel.com>
Reviewed-by: default avatarLai Siyao <lai.siyao@intel.com>
Signed-off-by: default avatarOleg Drokin <green@linuxhacker.ru>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e8beaf67
Loading
Loading
Loading
Loading
+5 −3
Original line number Original line Diff line number Diff line
@@ -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;