On 2022-04-26 19:36, Guoqing Jiang wrote: > On 4/21/22 3:54 AM, Logan Gunthorpe wrote: >> /* we only do back search */ >> -static void stripe_add_to_batch_list(struct r5conf *conf, struct >> stripe_head *sh) >> +static void stripe_add_to_batch_list(struct r5conf *conf, >> + struct stripe_head *sh, struct stripe_head *last_sh) > > Nit, from stripe_add_to_batch_list's view, I think "head_sh" makes more > sense than > "last_sh". That made sense to me, but upon a closer look while making the change, I think it's not a good idea: stripe_add_to_batch_list() already has a stripe_head variable called "head". If it now has an argument called "head_sh", it becomes very confusing. This statement wouldn't make any sense: + if (last_sh && head_sector == last_sh->sector) { + head = last_sh; + atomic_inc(&head->count); + } else { If it was changed to "head = head_sh" what would that even mean? >From stripe_add_to_batch_list's perspective, it is the "last" stripe head. And it then decides whether the it is the correct stripe to use as the head of the list to add to. So I decline to make this change. Thanks, Logan