Whamcloud - gitweb
Branch: b_new_cmd
authorwangdi <wangdi>
Tue, 26 Sep 2006 17:49:54 +0000 (17:49 +0000)
committerwangdi <wangdi>
Tue, 26 Sep 2006 17:49:54 +0000 (17:49 +0000)
someone just init group llog already before we want to insert ourselves.
a tmp fix and some debug info for further investigation

lustre/obdfilter/filter.c

index 748b3a2..264c16a 100644 (file)
@@ -2206,7 +2206,14 @@ struct obd_llogs *filter_grab_llog_for_group(struct obd_device *obd, int group,
         spin_lock(&filter->fo_llog_list_lock);
         list_for_each(cur, &filter->fo_llog_list) {
                 nlog = list_entry(cur, struct filter_group_llog, list);
-                LASSERT(nlog->group != group);
+                if (nlog->group == group) {
+                        CWARN("Interesting! someone already init group %d\n",
+                               group);
+                        spin_unlock(&filter->fo_llog_list_lock);
+                        OBD_FREE(fglog->llogs, sizeof(*(fglog->llogs)));
+                        OBD_FREE(fglog, sizeof(*fglog));
+                        RETURN(nlog->llogs);
+                }
         }
         list_add(&fglog->list, &filter->fo_llog_list);
         spin_unlock(&filter->fo_llog_list_lock);