libceph: isolate kmap() call in write_partial_msg_pages()
authorAlex Elder <elder@dreamhost.com>
Wed, 7 Mar 2012 17:40:08 +0000 (11:40 -0600)
committerAlex Elder <elder@dreamhost.com>
Thu, 22 Mar 2012 15:47:52 +0000 (10:47 -0500)
commit8d63e318c4eb1bea6f7e3cb4b77849eaa167bfec
tree4783d4d0ab9a5d9c17e8eb0f93b0d279ad1b879a
parent9bd1966344bf975b5ce65e80fd6bacc41b4325a8
libceph: isolate kmap() call in write_partial_msg_pages()

In write_partial_msg_pages(), every case now does an identical call
to kmap(page).  Instead, just call it once inside the CRC-computing
block where it's needed.  Move the definition of kaddr inside that
block, and make it a (char *) to ensure portable pointer arithmetic.

We still don't kunmap() it until after the sendpage() call, in case
that also ends up needing to use the mapping.

Signed-off-by: Alex Elder <elder@dreamhost.com>
Reviewed-by: Sage Weil <sage@newdream.net>
net/ceph/messenger.c