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 <yawei.niu@intel.com>
Reviewed-on: http://review.whamcloud.com/8460
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4336
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Niu Yawei 2014-02-28 21:16:45 -05:00 committed by Greg Kroah-Hartman
parent 15f13cde9c
commit 19a5b935d9

View File

@ -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 */