* [PATCH 1/2] lib/scatterlist: export sg_miter_skip()
@ 2013-10-29 16:07 Ming Lei
2013-10-31 21:47 ` Andrew Morton
0 siblings, 1 reply; 3+ messages in thread
From: Ming Lei @ 2013-10-29 16:07 UTC (permalink / raw)
To: linux-kernel, Andrew Morton
Cc: FUJITA Tomonori, Tejun Heo, Jens Axboe, Matthew Dharm,
Alan Stern, Greg Kroah-Hartman, USB list, Ming Lei
sg_copy_buffer() can't meet demand for some drrivers(such usb
mass storage), so we have to use the sg_miter_* APIs to access
sg buffer, then need export sg_miter_skip() for these drivers.
The API is needed for converting to sg_miter_* APIs in USB storage
driver for accessing sg buffer.
Cc: Andrew Morton <akpm@linux-foundation.org>,
Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>,
Cc: Tejun Heo <tj@kernel.org>,
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
---
include/linux/scatterlist.h | 1 +
lib/scatterlist.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/include/linux/scatterlist.h b/include/linux/scatterlist.h
index adae88f..a964f72 100644
--- a/include/linux/scatterlist.h
+++ b/include/linux/scatterlist.h
@@ -345,6 +345,7 @@ struct sg_mapping_iter {
void sg_miter_start(struct sg_mapping_iter *miter, struct scatterlist *sgl,
unsigned int nents, unsigned int flags);
+bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset);
bool sg_miter_next(struct sg_mapping_iter *miter);
void sg_miter_stop(struct sg_mapping_iter *miter);
diff --git a/lib/scatterlist.c b/lib/scatterlist.c
index d16fa29..3a8e8e8 100644
--- a/lib/scatterlist.c
+++ b/lib/scatterlist.c
@@ -495,7 +495,7 @@ static bool sg_miter_get_next_page(struct sg_mapping_iter *miter)
* true if @miter contains the valid mapping. false if end of sg
* list is reached.
*/
-static bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset)
+bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset)
{
sg_miter_stop(miter);
@@ -513,6 +513,7 @@ static bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset)
return true;
}
+EXPORT_SYMBOL(sg_miter_skip);
/**
* sg_miter_next - proceed mapping iterator to the next mapping
--
1.7.9.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] lib/scatterlist: export sg_miter_skip()
2013-10-29 16:07 [PATCH 1/2] lib/scatterlist: export sg_miter_skip() Ming Lei
@ 2013-10-31 21:47 ` Andrew Morton
2013-11-01 2:16 ` Ming Lei
0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2013-10-31 21:47 UTC (permalink / raw)
To: Ming Lei
Cc: linux-kernel, FUJITA Tomonori, Tejun Heo, Jens Axboe,
Matthew Dharm, Alan Stern, Greg Kroah-Hartman, USB list
On Wed, 30 Oct 2013 00:07:22 +0800 Ming Lei <ming.lei@canonical.com> wrote:
> sg_copy_buffer() can't meet demand for some drrivers(such usb
> mass storage), so we have to use the sg_miter_* APIs to access
> sg buffer, then need export sg_miter_skip() for these drivers.
>
> The API is needed for converting to sg_miter_* APIs in USB storage
> driver for accessing sg buffer.
>
> ...
>
> --- a/include/linux/scatterlist.h
> +++ b/include/linux/scatterlist.h
> @@ -345,6 +345,7 @@ struct sg_mapping_iter {
>
> void sg_miter_start(struct sg_mapping_iter *miter, struct scatterlist *sgl,
> unsigned int nents, unsigned int flags);
> +bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset);
> bool sg_miter_next(struct sg_mapping_iter *miter);
> void sg_miter_stop(struct sg_mapping_iter *miter);
>
> diff --git a/lib/scatterlist.c b/lib/scatterlist.c
> index d16fa29..3a8e8e8 100644
> --- a/lib/scatterlist.c
> +++ b/lib/scatterlist.c
> @@ -495,7 +495,7 @@ static bool sg_miter_get_next_page(struct sg_mapping_iter *miter)
> * true if @miter contains the valid mapping. false if end of sg
> * list is reached.
> */
> -static bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset)
> +bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset)
> {
> sg_miter_stop(miter);
>
> @@ -513,6 +513,7 @@ static bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset)
>
> return true;
> }
> +EXPORT_SYMBOL(sg_miter_skip);
>
> /**
> * sg_miter_next - proceed mapping iterator to the next mapping
Looks OK to me. Please include this in whatever tree is used to merge
"[PATCH 2/2] USB: storage: use sg_miter_* APIs to access scsi buffer".
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] lib/scatterlist: export sg_miter_skip()
2013-10-31 21:47 ` Andrew Morton
@ 2013-11-01 2:16 ` Ming Lei
0 siblings, 0 replies; 3+ messages in thread
From: Ming Lei @ 2013-11-01 2:16 UTC (permalink / raw)
To: Andrew Morton
Cc: Linux Kernel Mailing List, FUJITA Tomonori, Tejun Heo,
Jens Axboe, Matthew Dharm, Alan Stern, Greg Kroah-Hartman,
USB list
Hi Andrew,
Thank you for the comment.
On Fri, Nov 1, 2013 at 5:47 AM, Andrew Morton <akpm@linux-foundation.org> wrote:
>
> Looks OK to me. Please include this in whatever tree is used to merge
> "[PATCH 2/2] USB: storage: use sg_miter_* APIs to access scsi buffer".
Greg and Alan, would you mind reviewing & commenting on 2/2 and merge
the two finally to usb-next tree if you are OK with it?
Thanks,
--
Ming Lei
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-11-01 2:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-29 16:07 [PATCH 1/2] lib/scatterlist: export sg_miter_skip() Ming Lei
2013-10-31 21:47 ` Andrew Morton
2013-11-01 2:16 ` Ming Lei
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).