btrfs: fix min csum item size warnings in 32bit
authorZach Brown <zab@zabbo.net>
Thu, 20 Sep 2012 20:33:00 +0000 (14:33 -0600)
committerChris Mason <chris.mason@fusionio.com>
Tue, 9 Oct 2012 13:15:39 +0000 (09:15 -0400)
commit 7ca4be45a0255ac8f08c05491c6add2dd87dd4f8 limited csum items to
PAGE_CACHE_SIZE.  It used min() with incompatible types in 32bit which
generates warnings:

fs/btrfs/file-item.c: In function ‘btrfs_csum_file_blocks’:
fs/btrfs/file-item.c:717: warning: comparison of distinct pointer types lacks a cast

This uses min_t(u32,) to fix the warnings.  u32 seemed reasonable
because btrfs_root->leafsize is u32 and PAGE_CACHE_SIZE is unsigned
long.

Signed-off-by: Zach Brown <zab@zabbo.net>
fs/btrfs/file-item.c

index 54f0335..1ad08e4 100644 (file)
@@ -29,7 +29,8 @@
                                   sizeof(struct btrfs_item) * 2) / \
                                  size) - 1))
 
-#define MAX_CSUM_ITEMS(r, size) (min(__MAX_CSUM_ITEMS(r, size), PAGE_CACHE_SIZE))
+#define MAX_CSUM_ITEMS(r, size) (min_t(u32, __MAX_CSUM_ITEMS(r, size), \
+                                      PAGE_CACHE_SIZE))
 
 #define MAX_ORDERED_SUM_BYTES(r) ((PAGE_SIZE - \
                                   sizeof(struct btrfs_ordered_sum)) / \