Whamcloud - gitweb
LU-7950 osp: Remove assigned but not used variable
[fs/lustre-release.git] / lustre / osp / osp_dev.c
index 087d1c9..f20d8c6 100644 (file)
@@ -566,7 +566,7 @@ static void osp_update_fini(const struct lu_env *env, struct osp_device *osp)
                LASSERT(our->our_th != NULL);
                osp_trans_callback(env, our->our_th, -EIO);
                /* our will be destroyed in osp_thandle_put() */
-               osp_thandle_put(our->our_th);
+               osp_thandle_put(env, our->our_th);
        }
        spin_unlock(&ou->ou_lock);
 
@@ -1323,21 +1323,18 @@ static struct lu_device *osp_device_fini(const struct lu_env *env,
                                         struct lu_device *ld)
 {
        struct osp_device *osp = lu2osp_dev(ld);
-       struct obd_import *imp;
        int                rc;
 
        ENTRY;
 
        if (osp->opd_async_requests != NULL) {
-               osp_update_request_destroy(osp->opd_async_requests);
+               osp_update_request_destroy(env, osp->opd_async_requests);
                osp->opd_async_requests = NULL;
        }
 
        if (osp->opd_storage_exp)
                obd_disconnect(osp->opd_storage_exp);
 
-       imp = osp->opd_obd->u.cli.cl_import;
-
        if (osp->opd_symlink)
                lprocfs_remove(&osp->opd_symlink);
 
@@ -1578,6 +1575,7 @@ static int osp_import_event(struct obd_device *obd, struct obd_import *imp,
                            enum obd_import_event event)
 {
        struct osp_device *d = lu2osp_dev(obd->obd_lu_dev);
+       int rc;
 
        switch (event) {
        case IMP_EVENT_DISCON:
@@ -1599,9 +1597,11 @@ static int osp_import_event(struct obd_device *obd, struct obd_import *imp,
                d->opd_obd->obd_inactive = 1;
                if (d->opd_connect_mdt)
                        break;
-
                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);
                }