diff options
| -rw-r--r-- | drivers/nvme/target/io-cmd-bdev.c | 2 | ||||
| -rw-r--r-- | drivers/nvme/target/nvmet.h | 6 | 
2 files changed, 7 insertions, 1 deletions
| diff --git a/drivers/nvme/target/io-cmd-bdev.c b/drivers/nvme/target/io-cmd-bdev.c index 9a8b3726a37c..429263ca9b97 100644 --- a/drivers/nvme/target/io-cmd-bdev.c +++ b/drivers/nvme/target/io-cmd-bdev.c @@ -258,7 +258,7 @@ static void nvmet_bdev_execute_rw(struct nvmet_req *req)  	sector = nvmet_lba_to_sect(req->ns, req->cmd->rw.slba); -	if (req->transfer_len <= NVMET_MAX_INLINE_DATA_LEN) { +	if (nvmet_use_inline_bvec(req)) {  		bio = &req->b.inline_bio;  		bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec));  	} else { diff --git a/drivers/nvme/target/nvmet.h b/drivers/nvme/target/nvmet.h index 5566ed403576..d69a409515d6 100644 --- a/drivers/nvme/target/nvmet.h +++ b/drivers/nvme/target/nvmet.h @@ -616,4 +616,10 @@ static inline sector_t nvmet_lba_to_sect(struct nvmet_ns *ns, __le64 lba)  	return le64_to_cpu(lba) << (ns->blksize_shift - SECTOR_SHIFT);  } +static inline bool nvmet_use_inline_bvec(struct nvmet_req *req) +{ +	return req->transfer_len <= NVMET_MAX_INLINE_DATA_LEN && +	       req->sg_cnt <= NVMET_MAX_INLINE_BIOVEC; +} +  #endif /* _NVMET_H */ | 
