LU-15263 quota: fix bug in qmt_pool_recalc
env should be freed at the end of qmt_pool_recalc,
as it is needed in qpi_putref. It causes a panic,
if pool has the last reference:
BUG: unable to handle kernel NULL pointer dereference at
00000000000000a0
IP: [<
ffffffffc08de2d7>] lu_context_key_get+0x17/0x30 [obdclass]
...
Call Trace:
[<
ffffffffc08de358>] lu_object_free.isra.30+0x68/0x170 [obdclass]
[<
ffffffffc08e1a35>] lu_object_put+0xc5/0x3e0 [obdclass]
[<
ffffffffc100e56c>] qmt_pool_free+0x30c/0x590 [lquota]
[<
ffffffffc10100b5>] qmt_pool_recalc+0x365/0x1260 [lquota]
[<
ffffffff8bac1c31>] kthread+0xd1/0xe0
[<
ffffffff8c176c37>] ret_from_fork_nospec_begin+0x21/0x21
HPE-bug-id: LUS-10426
Change-Id: Ic23dcb858ff811757f38948aa572c936c076e21e
Signed-off-by: Sergey Cheremencev <sergey.cheremencev@hpe.com>
Reviewed-by: Vladimir Saveliev <vlaidimir.saveliev@hpe.com>
Reviewed-by: Andriy Skulysh <c17819@cray.com>
Reviewed-on: https://review.whamcloud.com/45632
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andriy Skulysh <andriy.skulysh@hpe.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>