Whamcloud - gitweb
LU-17974 quota: fix qmt_pool_lqes_lookup_spec 36/55536/3
authorSergey Cheremencev <scherementsev@ddn.com>
Wed, 13 Nov 2024 08:21:19 +0000 (00:21 -0800)
committerOleg Drokin <green@whamcloud.com>
Mon, 18 Nov 2024 17:43:57 +0000 (17:43 +0000)
commit8089ca3aacee5ac059cd708c99c23c3a8da9e7b9
tree931105ea70cb5eac9577bbed8bb4ee12f2fdb435
parent3b63e032cfd3b98adae97be4d262845eaa7d2bb9
LU-17974 quota: fix qmt_pool_lqes_lookup_spec

Return 0 from qmt_pool_lqes_lookup_spec if
between found lqes exists global lqe. And
return -ENOENT if
* no lqes have been found
* no global lqe between found lqes
This patch aimed to prevent below panic:

 (qmt_lock.c:957:qmt_id_lock_notify())
ASSERTION( lqe->lqe_is_global ) failed:
 (qmt_lock.c:957:qmt_id_lock_notify()) LBUG
 ...
 Call Trace TBD:
 libcfs_call_trace+0x6f/0xa0 [libcfs]
 lbug_with_loc+0x3f/0x70 [libcfs]
 qmt_id_lock_notify+0x1ee/0x330 [lquota]
 qmt_site_recalc_cb+0x34b/0x550 [lquota]
 cfs_hash_for_each_tight+0x122/0x310 [libcfs]
 qmt_pool_recalc+0x375/0xa80 [lquota]
 kthread+0x134/0x150
 ret_from_fork+0x35/0x40
 Kernel panic - not syncing: LBUG

Lustre-change: https://review.whamcloud.com/55535
Lustre-commit: c97b327758f06f6bf3229126e9aa7b36865e7b92

Signed-off-by: Sergey Cheremencev <scherementsev@ddn.com>
Change-Id: I62a2175b7b05c49f28b4e87c36ed653d1b9a71cc
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55536
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/quota/qmt_pool.c