summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
52a465c)
No reasons to wait reservation in osp_precreate_reserve when
import is invalid. This may cause additional delays during umount.
Signed-off-by: Sergey Cheremencev <sergey.cheremencev@seagate.com>
Signed-off-by: Alexander Boyko <alexander.boyko@seagate.com>
Seagate-bug-id: MRP-3603
Change-Id: If2c3449753633fb4cb81e0d0b22f6ecf0882be16
Reviewed-on: http://review.whamcloud.com/21103
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andriy Skulsyh
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
enum obd_import_event event)
{
struct osp_device *d = lu2osp_dev(obd->obd_lu_dev);
enum obd_import_event event)
{
struct osp_device *d = lu2osp_dev(obd->obd_lu_dev);
switch (event) {
case IMP_EVENT_DISCON:
switch (event) {
case IMP_EVENT_DISCON:
d->opd_obd->obd_inactive = 1;
if (d->opd_connect_mdt)
break;
d->opd_obd->obd_inactive = 1;
if (d->opd_connect_mdt)
break;
if (d->opd_pre != NULL) {
if (d->opd_pre != NULL) {
- osp_pre_update_status(d, -ENODEV);
+ /* Import is invalid, we can`t get stripes so
+ * wakeup waiters */
+ rc = imp->imp_deactive ? -ESHUTDOWN : -ENODEV;
+ osp_pre_update_status(d, rc);
wake_up(&d->opd_pre_waitq);
}
wake_up(&d->opd_pre_waitq);
}