Whamcloud - gitweb
b=23196 take lov reference in lov_quota_adjust_qunit so as to avoid races
[fs/lustre-release.git] / lustre / quota / quota_adjust_qunit.c
index 7839972..6b1f5ca 100644 (file)
@@ -351,10 +351,11 @@ int lov_quota_adjust_qunit(struct obd_export *exp,
                 RETURN(-EFAULT);
         }
 
+        obd_getref(obd);
         for (i = 0; i < lov->desc.ld_tgt_count; i++) {
                 int err;
 
-                if (!lov->lov_tgts[i]->ltd_active) {
+                if (!lov->lov_tgts[i] || !lov->lov_tgts[i]->ltd_active) {
                         CDEBUG(D_HA, "ost %d is inactive\n", i);
                         continue;
                 }
@@ -367,5 +368,6 @@ int lov_quota_adjust_qunit(struct obd_export *exp,
                         continue;
                 }
         }
+        obd_putref(obd);
         RETURN(rc);
 }