Hi,
在 2025/09/04 1:43, Bart Van Assche 写道:
> On 8/31/25 8:32 PM, Yu Kuai wrote:
>> From: Yu Kuai <yukuai3@huawei.com>
>>
>> Unify bio split code, prepare to fix disordered split IO.
>>
>> Signed-off-by: Yu Kuai <yukuai3@huawei.com>
>> ---
>> drivers/md/md-linear.c | 12 ++----------
>> 1 file changed, 2 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/md/md-linear.c b/drivers/md/md-linear.c
>> index 59d7963c7843..701e3aac0a21 100644
>> --- a/drivers/md/md-linear.c
>> +++ b/drivers/md/md-linear.c
>> @@ -256,19 +256,11 @@ static bool linear_make_request(struct mddev
>> *mddev, struct bio *bio)
>> if (unlikely(bio_end_sector(bio) > end_sector)) {
>> /* This bio crosses a device boundary, so we have to split
>> it */
>> - struct bio *split = bio_split(bio, end_sector - bio_sector,
>> + bio = bio_submit_split_bioset(bio, end_sector - bio_sector,
>> GFP_NOIO, &mddev->bio_set);
>
> This patch cannot have been tested because it triggers the following
> build error:
Yes, sorry about that. As I said I only tested with raid5 with this
RFC version. I will at least run all the test cases in the next formal
version.
Thanks,
Kuai
>
> drivers/md/md-linear.c: In function ‘linear_make_request’:
> ./include/linux/gfp_types.h:381:25: error: passing argument 3 of
> ‘bio_submit_split_bioset’ makes pointer from integer without a cast
> [-Wint-conversion]
> 381 | #define GFP_NOIO (__GFP_RECLAIM)
> | ^~~~~~~~~~~~~~~
> | |
> | unsigned int
>
> Bart.
> .
>