Message ID | 20210608160603.1535935-5-hch@lst.de |
---|---|
State | New |
Headers | show |
Series | [01/16] mm: use kmap_local_page in memzero_page | expand |
On Tue, Jun 8, 2021 at 6:06 PM Christoph Hellwig <hch@lst.de> wrote: > > 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: Christoph Hellwig <hch@lst.de> > --- > include/linux/bvec.h | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/include/linux/bvec.h b/include/linux/bvec.h > index 883faf5f1523..d64d6c0ceb77 100644 > --- a/include/linux/bvec.h > +++ b/include/linux/bvec.h > @@ -7,6 +7,7 @@ > #ifndef __LINUX_BVEC_H > #define __LINUX_BVEC_H > > +#include <linux/highmem.h> > #include <linux/bug.h> > #include <linux/errno.h> > #include <linux/limits.h> > @@ -183,4 +184,9 @@ static inline void bvec_advance(const struct bio_vec *bvec, > } > } > > +static inline void *bvec_kmap_local(struct bio_vec *bvec) > +{ > + return kmap_local_page(bvec->bv_page) + bvec->bv_offset; > +} > + > #endif /* __LINUX_BVEC_H */ Might be useful to add the second sentence of the commit message as a comment for bvec_kmap_local(). It could be expanded to mention the single-page bvec caveat too. Thanks, Ilya
diff --git a/include/linux/bvec.h b/include/linux/bvec.h index 883faf5f1523..d64d6c0ceb77 100644 --- a/include/linux/bvec.h +++ b/include/linux/bvec.h @@ -7,6 +7,7 @@ #ifndef __LINUX_BVEC_H #define __LINUX_BVEC_H +#include <linux/highmem.h> #include <linux/bug.h> #include <linux/errno.h> #include <linux/limits.h> @@ -183,4 +184,9 @@ static inline void bvec_advance(const struct bio_vec *bvec, } } +static inline void *bvec_kmap_local(struct bio_vec *bvec) +{ + return kmap_local_page(bvec->bv_page) + bvec->bv_offset; +} + #endif /* __LINUX_BVEC_H */
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: Christoph Hellwig <hch@lst.de> --- include/linux/bvec.h | 6 ++++++ 1 file changed, 6 insertions(+)