Commit e6e74717 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe

bvec: add a bvec_kmap_local helper

Add a helper to call kmap_local_page on a bvec.  There is no need for
an unmap helper given that kunmap_local accept any address in the mapped
page.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: default avatarIra Weiny <ira.weiny@intel.com>
Link: https://lore.kernel.org/r/20210727055646.118787-4-hch@lst.deSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent e45cef51
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#ifndef __LINUX_BVEC_H #ifndef __LINUX_BVEC_H
#define __LINUX_BVEC_H #define __LINUX_BVEC_H
#include <linux/highmem.h>
#include <linux/bug.h> #include <linux/bug.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/limits.h> #include <linux/limits.h>
...@@ -183,4 +184,16 @@ static inline void bvec_advance(const struct bio_vec *bvec, ...@@ -183,4 +184,16 @@ static inline void bvec_advance(const struct bio_vec *bvec,
} }
} }
/**
* bvec_kmap_local - map a bvec into the kernel virtual address space
* @bvec: bvec to map
*
* Must be called on single-page bvecs only. Call kunmap_local on the returned
* address to unmap.
*/
static inline void *bvec_kmap_local(struct bio_vec *bvec)
{
return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
}
#endif /* __LINUX_BVEC_H */ #endif /* __LINUX_BVEC_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment