diff options
Diffstat (limited to 'fs/xfs/xfs_itable.c')
| -rw-r--r-- | fs/xfs/xfs_itable.c | 43 | 
1 files changed, 20 insertions, 23 deletions
diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index 084b3e1741f..cb64f222d60 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -17,24 +17,23 @@   */  #include "xfs.h"  #include "xfs_fs.h" -#include "xfs_types.h" -#include "xfs_log.h" +#include "xfs_shared.h" +#include "xfs_format.h" +#include "xfs_log_format.h" +#include "xfs_trans_resv.h"  #include "xfs_inum.h" -#include "xfs_trans.h"  #include "xfs_sb.h"  #include "xfs_ag.h"  #include "xfs_mount.h" -#include "xfs_bmap_btree.h" -#include "xfs_alloc_btree.h" -#include "xfs_ialloc_btree.h" -#include "xfs_dinode.h"  #include "xfs_inode.h" +#include "xfs_btree.h"  #include "xfs_ialloc.h" +#include "xfs_ialloc_btree.h"  #include "xfs_itable.h"  #include "xfs_error.h" -#include "xfs_btree.h"  #include "xfs_trace.h"  #include "xfs_icache.h" +#include "xfs_dinode.h"  STATIC int  xfs_internal_inum( @@ -210,9 +209,8 @@ xfs_bulkstat(  	xfs_inobt_rec_incore_t	*irbuf;	/* start of irec buffer */  	xfs_inobt_rec_incore_t	*irbufend; /* end of good irec buffer entries */  	xfs_ino_t		lastino; /* last inode number returned */ -	int			nbcluster; /* # of blocks in a cluster */ -	int			nicluster; /* # of inodes in a cluster */ -	int			nimask;	/* mask for inode clusters */ +	int			blks_per_cluster; /* # of blocks per cluster */ +	int			inodes_per_cluster;/* # of inodes per cluster */  	int			nirbuf;	/* size of irbuf */  	int			rval;	/* return value error code */  	int			tmp;	/* result value from btree calls */ @@ -244,11 +242,8 @@ xfs_bulkstat(  	*done = 0;  	fmterror = 0;  	ubufp = ubuffer; -	nicluster = mp->m_sb.sb_blocksize >= XFS_INODE_CLUSTER_SIZE(mp) ? -		mp->m_sb.sb_inopblock : -		(XFS_INODE_CLUSTER_SIZE(mp) >> mp->m_sb.sb_inodelog); -	nimask = ~(nicluster - 1); -	nbcluster = nicluster >> mp->m_sb.sb_inopblog; +	blks_per_cluster = xfs_icluster_size_fsb(mp); +	inodes_per_cluster = blks_per_cluster << mp->m_sb.sb_inopblog;  	irbuf = kmem_zalloc_greedy(&irbsize, PAGE_SIZE, PAGE_SIZE * 4);  	if (!irbuf)  		return ENOMEM; @@ -275,7 +270,8 @@ xfs_bulkstat(  		/*  		 * Allocate and initialize a btree cursor for ialloc btree.  		 */ -		cur = xfs_inobt_init_cursor(mp, NULL, agbp, agno); +		cur = xfs_inobt_init_cursor(mp, NULL, agbp, agno, +					    XFS_BTNUM_INO);  		irbp = irbuf;  		irbufend = irbuf + nirbuf;  		end_of_ag = 0; @@ -391,12 +387,12 @@ xfs_bulkstat(  				agbno = XFS_AGINO_TO_AGBNO(mp, r.ir_startino);  				for (chunkidx = 0;  				     chunkidx < XFS_INODES_PER_CHUNK; -				     chunkidx += nicluster, -				     agbno += nbcluster) { -					if (xfs_inobt_maskn(chunkidx, nicluster) -							& ~r.ir_free) +				     chunkidx += inodes_per_cluster, +				     agbno += blks_per_cluster) { +					if (xfs_inobt_maskn(chunkidx, +					    inodes_per_cluster) & ~r.ir_free)  						xfs_btree_reada_bufs(mp, agno, -							agbno, nbcluster, +							agbno, blks_per_cluster,  							&xfs_inode_buf_ops);  				}  				blk_finish_plug(&plug); @@ -626,7 +622,8 @@ xfs_inumbers(  				agino = 0;  				continue;  			} -			cur = xfs_inobt_init_cursor(mp, NULL, agbp, agno); +			cur = xfs_inobt_init_cursor(mp, NULL, agbp, agno, +						    XFS_BTNUM_INO);  			error = xfs_inobt_lookup(cur, agino, XFS_LOOKUP_GE,  						 &tmp);  			if (error) {  | 
