From: yury Date: Thu, 15 Dec 2005 15:01:45 +0000 (+0000) Subject: - in mds_lov_start_synchronize() if mds_lov_synchronize() thread did not start due... X-Git-Tag: v1_7_100~1^103~4^2~156 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=f22cdd3b2882564d69aafcbc7d30154765965626;p=fs%2Flustre-release.git - in mds_lov_start_synchronize() if mds_lov_synchronize() thread did not start due to some reason, do not do class_export_put(), that causes assert in case export has only one ref as export is still hashed. In fact, there should be decref for previously made incref to @obd->obd_refcount and this fucntion seems not supposed to do something else. --- diff --git a/lustre/mds/mds_lov.c b/lustre/mds/mds_lov.c index 744ef14..c1e4801 100644 --- a/lustre/mds/mds_lov.c +++ b/lustre/mds/mds_lov.c @@ -556,7 +556,7 @@ int mds_lov_start_synchronize(struct obd_device *obd, struct obd_uuid *uuid, if (rc < 0) { CERROR("%s: error starting mds_lov_synchronize: %d\n", obd->obd_name, rc); - class_export_put(obd->obd_self_export); + class_decref(obd); } else { CDEBUG(D_HA, "%s: mds_lov_synchronize thread: %d\n", obd->obd_name, rc);