From f22cdd3b2882564d69aafcbc7d30154765965626 Mon Sep 17 00:00:00 2001 From: yury Date: Thu, 15 Dec 2005 15:01:45 +0000 Subject: [PATCH] - 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. --- lustre/mds/mds_lov.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); -- 1.8.3.1