Hi Neil Thanks so much for your suggestion.
On 2019/8/23 9:04, NeilBrown wrote: >> I have checked >> v3.10.108 >> v3.18.140 >> v4.1.49 >> but there seems not fix for it. >> >> And maybe it would be fixed until >> 8ae126660fddbeebb9251a174e6fa45b6ad8f932 >> block: kill merge_bvec_fn() completely >> >> Would anyone please give some suggestion on this ? > > One option would be to make sure that ->bi_rw is set before > bio_add_page is called. > There are about 80 calls, so that isn't trivial, but you might not care > about several of them. > > You could backport the 'kill merge_bvec_fn' patch if you like, but I > wouldn't. The change of introducing a bug is much higher. > I have killed the raid5_mergeable_bvec and backport the patches that could make the chunk_aligned_read be able to split bio by its own. Then I just need to modify the raid5 code and needn't to touch other part of the system, especially the block core. It seems work well till now. Thanks again Jianchao