summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Chinner2010-09-22 02:47:20 +0200
committerAlex Elder2010-10-18 22:07:51 +0200
commit69d6cc76cff3573ceefda178b75e20878866fdc3 (patch)
treec26739c748ecd4e869b1c429c82b0618fddf7ccb
parentxfs: use unhashed buffers for size checks (diff)
downloadkernel-qcow2-linux-69d6cc76cff3573ceefda178b75e20878866fdc3.tar.gz
kernel-qcow2-linux-69d6cc76cff3573ceefda178b75e20878866fdc3.tar.xz
kernel-qcow2-linux-69d6cc76cff3573ceefda178b75e20878866fdc3.zip
xfs: remove buftarg hash for external devices
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>
-rw-r--r--fs/xfs/linux-2.6/xfs_buf.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/xfs/linux-2.6/xfs_buf.c b/fs/xfs/linux-2.6/xfs_buf.c
index 975d6589394a..251bcdc6352e 100644
--- a/fs/xfs/linux-2.6/xfs_buf.c
+++ b/fs/xfs/linux-2.6/xfs_buf.c
@@ -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++) {