[<prev] [next>] [day] [month] [year] [list]
Message-ID: <3475f910-68fd-76da-c7f9-4fcc32d878e7@huawei.com>
Date: Fri, 13 Jan 2023 16:07:31 +0800
From: "lilingfeng (A)" <lilingfeng3@...wei.com>
To: <linux-kernel@...r.kernel.org>, Joe Thornber <ejt@...hat.com>
CC: <snitzer@...hat.com>, <yi.zhang@...wei.com>,
<yangerkun@...wei.com>, <chengzhihao1@...wei.com>,
<zhangxiaoxu5@...wei.com>
Subject: Question about how to trigger BUG_ON() in sm_disk_new_block()
Hello,
I notice the patch 4feaef830de7ffdd8352e1fe14ad3bf13c9688f8 (dm space
map common: fix to ensure new block isn't already in use) can explain
the BUG_ON() in sm_disk_new_block().
However, I'm still confused since I can't find the code path in which
'begin' field was not being updated (as you say "increment of a data
block reference count due to breaking sharing of a neighbour block in
the same btree leaf").
What I found are as below:
break_sharing
alloc_data_block
dm_pool_alloc_data_block
dm_sm_new_block
sm_disk_new_block
sm_ll_find_free_block
smd->begin = *b + 1
May I bother you to list the path?
Thanks
Powered by blists - more mailing lists