Re: [PATCH v2 15/26] block: Add bio_copy_data()

From
Kent Overstreet <hidden>
Date
2012-09-21 00:13:28
Also in
dm-devel, lkml
Reply to
Tejun Heo, 2012-09-21
On Thu, Sep 20, 2012 at 05:09:47PM -0700, Tejun Heo wrote:
On Thu, Sep 20, 2012 at 05:06:32PM -0700, Tejun Heo wrote:
quoted
Hello,

On Mon, Sep 10, 2012 at 05:22:26PM -0700, Kent Overstreet wrote:
quoted
+void bio_copy_data(struct bio *dst, struct bio *src)
+{
...
quoted
+		src_p = kmap_atomic(src_bv->bv_page);
+		dst_p = kmap_atomic(dst_bv->bv_page);
+
+		memcpy(dst_p + dst_bv->bv_offset,
+		       src_p + src_bv->bv_offset,
+		       bytes);
+
+		kunmap_atomic(dst_p);
+		kunmap_atomic(src_p);
Wrap these in preempt_disable/enable() to allow the function to be
called from any context?
Ooh, and maybe return the amount of copied data?
Possibly, but I think I want to wait until a user needs it before adding
something like that.

From looking at other code that copies bio data, a parameter that
specifies the amount of data to be copied might be more useful.

I'm not sure I've seen all the places where bio data is copied yet, so
I've just been waiting until I find more uses to make it do more.
Thread (76 messages) 76 messages, 5 authors, last reply 2012-09-21
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help