On Mon, Feb 6, 2017 at 4:54 PM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > On Sun, Feb 05, 2017 at 02:22:13PM +0800, Ming Lei wrote: >> Firstly bio_clone_mddev() is used in raid normal I/O and isn't >> in resync I/O path. >> >> Secondly all the direct access to bvec table in raid happens on >> resync I/O except for write behind of raid1, in which we still >> use bio_clone() for allocating new bvec table. >> >> So this patch replaces bio_clone() with bio_clone_fast() >> in bio_clone_mddev(). > > Having the _fast in the name would be really useful for the > reader. And as far as I can tell in the callers mddev is never > NULL and neither is ->bio_set, so replacing bio_clone_mddev with In theory, ->bio_set still might be NULL in case of failed memory allocation, please see md_run(). > raw calls to bio_clone_fast would be my preference. Thanks, Ming Lei