UBIFS: Add an assertion for clean_zn_cnt
This patch adds a new ubifs_assert() in ubifs_tnc_close() to check if there are any leaks of per-filesystem @clean_zn_cnt. This new assert inspects whether the return value of ubifs_destroy_tnc_subtree() is equal to @clean_zn_cnt or not while umount. Artem: a minor amendment Signed-off-by: hujianyang <hujianyang@huawei.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
This commit is contained in:
Родитель
90bea5a3f0
Коммит
380347e9ca
|
@ -2859,10 +2859,11 @@ void ubifs_tnc_close(struct ubifs_info *c)
|
||||||
{
|
{
|
||||||
tnc_destroy_cnext(c);
|
tnc_destroy_cnext(c);
|
||||||
if (c->zroot.znode) {
|
if (c->zroot.znode) {
|
||||||
long n;
|
long n, freed;
|
||||||
|
|
||||||
ubifs_destroy_tnc_subtree(c->zroot.znode);
|
|
||||||
n = atomic_long_read(&c->clean_zn_cnt);
|
n = atomic_long_read(&c->clean_zn_cnt);
|
||||||
|
freed = ubifs_destroy_tnc_subtree(c->zroot.znode);
|
||||||
|
ubifs_assert(freed == n);
|
||||||
atomic_long_sub(n, &ubifs_clean_zn_cnt);
|
atomic_long_sub(n, &ubifs_clean_zn_cnt);
|
||||||
}
|
}
|
||||||
kfree(c->gap_lebs);
|
kfree(c->gap_lebs);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче