- doa.o_valid = oa->o_valid & OBD_MD_FLGROUP;
-
- filter->fo_destroy_in_progress = 1;
- down(&filter->fo_create_lock);
- if (!filter->fo_destroy_in_progress) {
- CERROR("%s: destroy_in_progress already cleared\n",
- exp->exp_obd->obd_name);
- up(&filter->fo_create_lock);
+ doa.o_valid = oa->o_valid & (OBD_MD_FLGROUP | OBD_MD_FLID);
+
+ set_bit(doa.o_gr, &filter->fo_destroys_in_progress);
+ down(&filter->fo_create_locks[doa.o_gr]);
+ if (!test_bit(doa.o_gr, &filter->fo_destroys_in_progress)) {
+ CERROR("%s:["LPU64"] destroy_in_progress already cleared\n",
+ exp->exp_obd->obd_name, doa.o_gr);
+ up(&filter->fo_create_locks[doa.o_gr]);