Message ID | 20210804095634.460779-11-hch@lst.de |
---|---|
State | New |
Headers | show |
Series | [01/15] bvec: add a bvec_virt helper | expand |
On 8/4/21 2:56 AM, Christoph Hellwig wrote: > Use bvec_virt instead of open coding it. > > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > drivers/scsi/sd.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c > index b8d55af763f9..5b5b8266e142 100644 > --- a/drivers/scsi/sd.c > +++ b/drivers/scsi/sd.c > @@ -886,7 +886,7 @@ static blk_status_t sd_setup_unmap_cmnd(struct scsi_cmnd *cmd) > cmd->cmnd[0] = UNMAP; > cmd->cmnd[8] = 24; > > - buf = page_address(rq->special_vec.bv_page); > + buf = bvec_virt(&rq->special_vec); > put_unaligned_be16(6 + 16, &buf[0]); > put_unaligned_be16(16, &buf[2]); > put_unaligned_be64(lba, &buf[8]); The patch description is not correct. The above patch involves a functional change while the patch description suggests that no functionality has been changed. Although the above patch looks fine to me, why has page_address() been changed into bvec_virt() in the sd driver? My understanding is that the sd driver always sets bv_offset to zero. Thanks, Bart.
Christoph, > Use bvec_virt instead of open coding it. bv_offset is set to 0 right above but I'm OK with bvec_virt() for the sake of consistency. Acked-by: Martin K. Petersen <martin.petersen@oracle.com>
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index b8d55af763f9..5b5b8266e142 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -886,7 +886,7 @@ static blk_status_t sd_setup_unmap_cmnd(struct scsi_cmnd *cmd) cmd->cmnd[0] = UNMAP; cmd->cmnd[8] = 24; - buf = page_address(rq->special_vec.bv_page); + buf = bvec_virt(&rq->special_vec); put_unaligned_be16(6 + 16, &buf[0]); put_unaligned_be16(16, &buf[2]); put_unaligned_be64(lba, &buf[8]);
Use bvec_virt instead of open coding it. Signed-off-by: Christoph Hellwig <hch@lst.de> --- drivers/scsi/sd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)