xfs: remove buftarg hash for external devices
authorDave Chinner <dchinner@redhat.com>
Wed, 22 Sep 2010 00:47:20 +0000 (10:47 +1000)
committerAlex Elder <aelder@sgi.com>
Mon, 18 Oct 2010 20:07:51 +0000 (15:07 -0500)
For RT and external log devices, we never use hashed buffers on them
now.  Remove the buftarg hash tables that are set up for them.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Alex Elder <aelder@sgi.com>
fs/xfs/linux-2.6/xfs_buf.c

index 975d658..251bcdc 100644 (file)
@@ -1458,7 +1458,11 @@ xfs_alloc_bufhash(
 {
        unsigned int            i;
 
-       btp->bt_hashshift = external ? 3 : 12;  /* 8 or 4096 buckets */
+       if (external) {
+               btp->bt_hash = NULL;
+               return;
+       }
+       btp->bt_hashshift = 12; /* 4096 buckets */
        btp->bt_hash = kmem_zalloc_large((1 << btp->bt_hashshift) *
                                         sizeof(xfs_bufhash_t));
        for (i = 0; i < (1 << btp->bt_hashshift); i++) {