Btrfs: Optimize csum insertion to create larger items when possible

This reduces the number of calls to btrfs_extend_item and greatly lowers
the cpu usage while writing large files.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 02d802c..7efc047 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -118,7 +118,7 @@
 	trans = btrfs_start_transaction(root, 1);
 	btrfs_set_trans_block_group(trans, inode);
 	kaddr = kmap(page);
-	btrfs_csum_file_block(trans, root, inode->i_ino,
+	btrfs_csum_file_block(trans, root, inode, inode->i_ino,
 			      start, kaddr + offset, end - start + 1);
 	kunmap(page);
 	ret = btrfs_end_transaction(trans, root);