Btrfs: Handle data checksumming on bios that span multiple ordered extents

Data checksumming is done right before the bio is sent down the IO stack,
which means a single bio might span more than one ordered extent.  In
this case, the checksumming data is split between two ordered extents.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index f37e09e..4d729d9 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -351,12 +351,8 @@
 {
 	struct btrfs_root *root = BTRFS_I(inode)->root;
 	int ret = 0;
-	struct btrfs_ordered_sum *sums;
 
-	ret = btrfs_csum_one_bio(root, bio, &sums);
-	BUG_ON(ret);
-
-	ret = btrfs_add_ordered_sum(inode, sums);
+	ret = btrfs_csum_one_bio(root, inode, bio);
 	BUG_ON(ret);
 
 	return btrfs_map_bio(root, rw, bio, mirror_num, 1);