In get_agino_buf, grab inode buffers using the same size as the inode processing code. Since the inode processing code uses that same buffer size, this means that get_agino_buf can serve requests from the cache instead of pointlessly dropping the cache entry and screaming about it. (This function is currently unused, but the refink flag fixer code wants to use it.) Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --- repair/dinode.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/repair/dinode.c b/repair/dinode.c index 43142d6..269f9d8 100644 --- a/repair/dinode.c +++ b/repair/dinode.c @@ -850,7 +850,8 @@ get_agino_buf(xfs_mount_t *mp, if ((irec = find_inode_rec(mp, agno, agino)) == NULL) return(NULL); - size = XFS_FSB_TO_BB(mp, MAX(1, XFS_INODES_PER_CHUNK/inodes_per_block)); + size = MAX(1, XFS_FSB_TO_BB(mp, + mp->m_inode_cluster_size >> mp->m_sb.sb_blocklog)); bp = libxfs_readbuf(mp->m_dev, XFS_AGB_TO_DADDR(mp, agno, XFS_AGINO_TO_AGBNO(mp, irec->ino_startnum)), size, 0, &xfs_inode_buf_ops); _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs