lkml.org 
[lkml]   [2021]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 04/15] bvec: add memcpy_{from,to}_bvec and memzero_bvec helper
    Date
    Add helpers to perform common memory operation on a bvec.

    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
    Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
    Reviewed-by: Ira Weiny <ira.weiny@intel.com>
    ---
    include/linux/bvec.h | 33 +++++++++++++++++++++++++++++++++
    1 file changed, 33 insertions(+)

    diff --git a/include/linux/bvec.h b/include/linux/bvec.h
    index f8710af18eef..f9fa43b940ff 100644
    --- a/include/linux/bvec.h
    +++ b/include/linux/bvec.h
    @@ -196,4 +196,37 @@ static inline void *bvec_kmap_local(struct bio_vec *bvec)
    return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
    }

    +/**
    + * memcpy_from_bvec - copy data from a bvec
    + * @bvec: bvec to copy from
    + *
    + * Must be called on single-page bvecs only.
    + */
    +static inline void memcpy_from_bvec(char *to, struct bio_vec *bvec)
    +{
    + memcpy_from_page(to, bvec->bv_page, bvec->bv_offset, bvec->bv_len);
    +}
    +
    +/**
    + * memcpy_to_bvec - copy data to a bvec
    + * @bvec: bvec to copy to
    + *
    + * Must be called on single-page bvecs only.
    + */
    +static inline void memcpy_to_bvec(struct bio_vec *bvec, const char *from)
    +{
    + memcpy_to_page(bvec->bv_page, bvec->bv_offset, from, bvec->bv_len);
    +}
    +
    +/**
    + * memzero_bvec - zero all data in a bvec
    + * @bvec: bvec to zero
    + *
    + * Must be called on single-page bvecs only.
    + */
    +static inline void memzero_bvec(struct bio_vec *bvec)
    +{
    + memzero_page(bvec->bv_page, bvec->bv_offset, bvec->bv_len);
    +}
    +
    #endif /* __LINUX_BVEC_H */
    --
    2.30.2
    \
     
     \ /
      Last update: 2021-07-27 08:07    [W:3.248 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site