Messages in this thread |  | | Date | Mon, 17 Oct 2016 09:51:16 +0800 | From | zhong jiang <> | Subject | Re: [PATCH] z3fold: remove the unnecessary limit in z3fold_compact_page |
| |
On 2016/10/15 3:25, Vitaly Wool wrote: > On Fri, Oct 14, 2016 at 3:35 PM, zhongjiang <zhongjiang@huawei.com> wrote: >> From: zhong jiang <zhongjiang@huawei.com> >> >> z3fold compact page has nothing with the last_chunks. even if >> last_chunks is not free, compact page will proceed. >> >> The patch just remove the limit without functional change. >> >> Signed-off-by: zhong jiang <zhongjiang@huawei.com> >> --- >> mm/z3fold.c | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) >> >> diff --git a/mm/z3fold.c b/mm/z3fold.c >> index e8fc216..4668e1c 100644 >> --- a/mm/z3fold.c >> +++ b/mm/z3fold.c >> @@ -258,8 +258,7 @@ static int z3fold_compact_page(struct z3fold_header *zhdr) >> >> >> if (!test_bit(MIDDLE_CHUNK_MAPPED, &page->private) && >> - zhdr->middle_chunks != 0 && >> - zhdr->first_chunks == 0 && zhdr->last_chunks == 0) { >> + zhdr->middle_chunks != 0 && zhdr->first_chunks == 0) { >> memmove(beg + ZHDR_SIZE_ALIGNED, >> beg + (zhdr->start_middle << CHUNK_SHIFT), >> zhdr->middle_chunks << CHUNK_SHIFT); > This check is actually important because if we move the middle chunk > to the first and leave the last chunk, handles will become invalid and > there won't be any easy way to fix that. > > Best regards, > Vitaly > > . > Thanks for you reply. you are right. Leave the last chunk to compact will lead to the first_num increase. Thus, handle_to_buddy will become invalid.
Thanks zhongjiang
|  |