Message ID | 20210903062748.4118886-2-yangerkun@huawei.com |
---|---|
State | Awaiting Upstream |
Headers | show |
Series | bugfix for insert/collapse fallocate | expand |
On Fri 03-09-21 14:27:46, yangerkun wrote: > The debuginfo for binsearch want to show the left/middle/right extent > while the process search for the goal block. However we show this info > after we change right or left. > > Signed-off-by: yangerkun <yangerkun@huawei.com> Looks good. Feel free to add: Reviewed-by: Jan Kara <jack@suse.cz> Honza > --- > fs/ext4/extents.c | 14 ++++++++------ > 1 file changed, 8 insertions(+), 6 deletions(-) > > diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c > index c33e0a2cb6c3..7ae32078b48f 100644 > --- a/fs/ext4/extents.c > +++ b/fs/ext4/extents.c > @@ -713,13 +713,14 @@ ext4_ext_binsearch_idx(struct inode *inode, > r = EXT_LAST_INDEX(eh); > while (l <= r) { > m = l + (r - l) / 2; > + ext_debug(inode, "%p(%u):%p(%u):%p(%u) ", l, > + le32_to_cpu(l->ei_block), m, le32_to_cpu(m->ei_block), > + r, le32_to_cpu(r->ei_block)); > + > if (block < le32_to_cpu(m->ei_block)) > r = m - 1; > else > l = m + 1; > - ext_debug(inode, "%p(%u):%p(%u):%p(%u) ", l, > - le32_to_cpu(l->ei_block), m, le32_to_cpu(m->ei_block), > - r, le32_to_cpu(r->ei_block)); > } > > path->p_idx = l - 1; > @@ -781,13 +782,14 @@ ext4_ext_binsearch(struct inode *inode, > > while (l <= r) { > m = l + (r - l) / 2; > + ext_debug(inode, "%p(%u):%p(%u):%p(%u) ", l, > + le32_to_cpu(l->ee_block), m, le32_to_cpu(m->ee_block), > + r, le32_to_cpu(r->ee_block)); > + > if (block < le32_to_cpu(m->ee_block)) > r = m - 1; > else > l = m + 1; > - ext_debug(inode, "%p(%u):%p(%u):%p(%u) ", l, > - le32_to_cpu(l->ee_block), m, le32_to_cpu(m->ee_block), > - r, le32_to_cpu(r->ee_block)); > } > > path->p_ext = l - 1; > -- > 2.31.1 >
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index c33e0a2cb6c3..7ae32078b48f 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c @@ -713,13 +713,14 @@ ext4_ext_binsearch_idx(struct inode *inode, r = EXT_LAST_INDEX(eh); while (l <= r) { m = l + (r - l) / 2; + ext_debug(inode, "%p(%u):%p(%u):%p(%u) ", l, + le32_to_cpu(l->ei_block), m, le32_to_cpu(m->ei_block), + r, le32_to_cpu(r->ei_block)); + if (block < le32_to_cpu(m->ei_block)) r = m - 1; else l = m + 1; - ext_debug(inode, "%p(%u):%p(%u):%p(%u) ", l, - le32_to_cpu(l->ei_block), m, le32_to_cpu(m->ei_block), - r, le32_to_cpu(r->ei_block)); } path->p_idx = l - 1; @@ -781,13 +782,14 @@ ext4_ext_binsearch(struct inode *inode, while (l <= r) { m = l + (r - l) / 2; + ext_debug(inode, "%p(%u):%p(%u):%p(%u) ", l, + le32_to_cpu(l->ee_block), m, le32_to_cpu(m->ee_block), + r, le32_to_cpu(r->ee_block)); + if (block < le32_to_cpu(m->ee_block)) r = m - 1; else l = m + 1; - ext_debug(inode, "%p(%u):%p(%u):%p(%u) ", l, - le32_to_cpu(l->ee_block), m, le32_to_cpu(m->ee_block), - r, le32_to_cpu(r->ee_block)); } path->p_ext = l - 1;
The debuginfo for binsearch want to show the left/middle/right extent while the process search for the goal block. However we show this info after we change right or left. Signed-off-by: yangerkun <yangerkun@huawei.com> --- fs/ext4/extents.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-)