From: Niu Yawei Date: Sat, 1 Mar 2014 02:16:45 +0000 (-0500) Subject: lustre/quota: improper assert in osc_quota_chkdq() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=19a5b935d9d072434c9ea06720c3ffe97bad9247;p=linux-beck.git lustre/quota: improper assert in osc_quota_chkdq() In osc_quota_chkdq(), we should never try to access oqi found from hash, since it could have been freed by osc_quota_setdq(). Signed-off-by: Niu Yawei Reviewed-on: http://review.whamcloud.com/8460 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4336 Reviewed-by: Johann Lombardi Reviewed-by: Fan Yong Signed-off-by: Oleg Drokin Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/lustre/lustre/osc/osc_quota.c b/drivers/staging/lustre/lustre/osc/osc_quota.c index 6045a78a2baa..f395ae4ec944 100644 --- a/drivers/staging/lustre/lustre/osc/osc_quota.c +++ b/drivers/staging/lustre/lustre/osc/osc_quota.c @@ -51,11 +51,8 @@ int osc_quota_chkdq(struct client_obd *cli, const unsigned int qid[]) oqi = cfs_hash_lookup(cli->cl_quota_hash[type], &qid[type]); if (oqi) { - obd_uid id = oqi->oqi_id; - - LASSERTF(id == qid[type], - "The ids don't match %u != %u\n", - id, qid[type]); + /* do not try to access oqi here, it could have been + * freed by osc_quota_setdq() */ /* the slot is busy, the user is about to run out of * quota space on this OST */