]> git.baikalelectronics.ru Git - kernel.git/commit
[XFS] Fix broken inode cluster setup.
authorDavid Chinner <dgc@sgi.com>
Fri, 23 Nov 2007 05:30:23 +0000 (16:30 +1100)
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>
Mon, 10 Dec 2007 02:46:59 +0000 (13:46 +1100)
commitb282a22b153c1dc5b6717e26143e5531af04b4d1
treeda7b2712a0ae98f40f3e937ff9cdc428005a4fda
parent36ce9e1e8a755c415095a536e8ceed748fd7f0f6
[XFS] Fix broken inode cluster setup.

The radix tree based inode caches did away with the inode cluster hashes,
replacing them with a bunch of masking and gang lookups on the radix tree.

This masking got broken when moving the code to per-ag radix trees and
indexing by agino # rather than straight inode number. The result is
clustered inode writeback does not cluster and things can go extremely
slowly when there are lots of inodes to write.

Fix it up by comparing the agino # of the inode we just looked up to the
index of the cluster we are looking for.

Tested-by: Torsten Kaiser <just.for.lkml@googlemail.com>
SGI-PV: 972915
SGI-Modid: xfs-linux-melb:xfs-kern:30033a

Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
fs/xfs/xfs_iget.c