Add extra debug messages into qmt to find the
root cause of panic:
qmt_id_lock_glimpse()) ASSERTION( lqe->lqe_gl )
Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: I05377222e1887b660f759ed11de53cd9e4023ed1
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/52906
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
"hash:%s\n", qid->qid_uid, site->lqs_hash->hs_name);
RETURN(ERR_PTR(-ENOMEM));
}
+ CDEBUG(D_QUOTA, "Allocated lqe %p\n", new);
atomic_set(&new->lqe_ref, 1); /* hold 1 for caller */
new->lqe_id = *qid;
if (lqe == new)
new = NULL;
out:
- if (new)
+ if (new) {
+ CDEBUG(D_QUOTA, "new %p lqe %p\n", new, lqe);
lqe_putref(new);
+ }
RETURN(lqe);
}
{
LASSERT(lqe != NULL);
LASSERT(atomic_read(&lqe->lqe_ref) > 0);
- if (atomic_dec_and_test(&lqe->lqe_ref))
+ if (atomic_dec_and_test(&lqe->lqe_ref)) {
+ CDEBUG(D_QUOTA, "free lqe %p lqe_gl %d\n", lqe, lqe->lqe_gl);
+ if (unlikely(lqe->lqe_gl))
+ dump_stack();
OBD_SLAB_FREE_PTR(lqe, lqe_kmem);
+ }
}
static inline int lqe_is_master(struct lquota_entry *lqe)