From a31b2cce4b5213cd970930c125d467f6e9b5ca71 Mon Sep 17 00:00:00 2001 From: Andrew Perepechko Date: Wed, 18 Aug 2010 22:12:07 +0400 Subject: [PATCH] b=23196 take lov reference in lov_quota_adjust_qunit so as to avoid races a=Johann Lombardi i=ZhiYong Tian i=Andrew Perepechko --- lustre/quota/quota_adjust_qunit.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lustre/quota/quota_adjust_qunit.c b/lustre/quota/quota_adjust_qunit.c index 7839972..6b1f5ca 100644 --- a/lustre/quota/quota_adjust_qunit.c +++ b/lustre/quota/quota_adjust_qunit.c @@ -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); } -- 1.8.3.1