Btrfs: walk compressed pages based on the nr_pages count instead of bytes

The byte walk counting was awkward and error prone.  This uses the
number of pages sent the higher layer to build bios.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 9797592..6739424 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -338,7 +338,7 @@
 	if (!btrfs_test_flag(inode, NOCOMPRESS) &&
 	    btrfs_test_opt(root, COMPRESS)) {
 		WARN_ON(pages);
-		pages = kmalloc(sizeof(struct page *) * nr_pages, GFP_NOFS);
+		pages = kzalloc(sizeof(struct page *) * nr_pages, GFP_NOFS);
 
 		/* we want to make sure the amount of IO required to satisfy
 		 * a random read is reasonably small, so we limit the size