diff options
Diffstat (limited to 'fs/xfs/xfs_ag.h')
-rw-r--r-- | fs/xfs/xfs_ag.h | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/fs/xfs/xfs_ag.h b/fs/xfs/xfs_ag.h index 6702bd865811..b1a5a1ff88ea 100644 --- a/fs/xfs/xfs_ag.h +++ b/fs/xfs/xfs_ag.h | |||
@@ -187,17 +187,13 @@ typedef struct xfs_perag_busy { | |||
187 | /* | 187 | /* |
188 | * Per-ag incore structure, copies of information in agf and agi, | 188 | * Per-ag incore structure, copies of information in agf and agi, |
189 | * to improve the performance of allocation group selection. | 189 | * to improve the performance of allocation group selection. |
190 | * | ||
191 | * pick sizes which fit in allocation buckets well | ||
192 | */ | 190 | */ |
193 | #if (BITS_PER_LONG == 32) | ||
194 | #define XFS_PAGB_NUM_SLOTS 84 | ||
195 | #elif (BITS_PER_LONG == 64) | ||
196 | #define XFS_PAGB_NUM_SLOTS 128 | 191 | #define XFS_PAGB_NUM_SLOTS 128 |
197 | #endif | ||
198 | 192 | ||
199 | typedef struct xfs_perag | 193 | typedef struct xfs_perag { |
200 | { | 194 | struct xfs_mount *pag_mount; /* owner filesystem */ |
195 | xfs_agnumber_t pag_agno; /* AG this structure belongs to */ | ||
196 | atomic_t pag_ref; /* perag reference count */ | ||
201 | char pagf_init; /* this agf's entry is initialized */ | 197 | char pagf_init; /* this agf's entry is initialized */ |
202 | char pagi_init; /* this agi's entry is initialized */ | 198 | char pagi_init; /* this agi's entry is initialized */ |
203 | char pagf_metadata; /* the agf is preferred to be metadata */ | 199 | char pagf_metadata; /* the agf is preferred to be metadata */ |
@@ -210,8 +206,6 @@ typedef struct xfs_perag | |||
210 | __uint32_t pagf_btreeblks; /* # of blocks held in AGF btrees */ | 206 | __uint32_t pagf_btreeblks; /* # of blocks held in AGF btrees */ |
211 | xfs_agino_t pagi_freecount; /* number of free inodes */ | 207 | xfs_agino_t pagi_freecount; /* number of free inodes */ |
212 | xfs_agino_t pagi_count; /* number of allocated inodes */ | 208 | xfs_agino_t pagi_count; /* number of allocated inodes */ |
213 | int pagb_count; /* pagb slots in use */ | ||
214 | xfs_perag_busy_t *pagb_list; /* unstable blocks */ | ||
215 | 209 | ||
216 | /* | 210 | /* |
217 | * Inode allocation search lookup optimisation. | 211 | * Inode allocation search lookup optimisation. |
@@ -230,6 +224,8 @@ typedef struct xfs_perag | |||
230 | rwlock_t pag_ici_lock; /* incore inode lock */ | 224 | rwlock_t pag_ici_lock; /* incore inode lock */ |
231 | struct radix_tree_root pag_ici_root; /* incore inode cache root */ | 225 | struct radix_tree_root pag_ici_root; /* incore inode cache root */ |
232 | #endif | 226 | #endif |
227 | int pagb_count; /* pagb slots in use */ | ||
228 | xfs_perag_busy_t pagb_list[XFS_PAGB_NUM_SLOTS]; /* unstable blocks */ | ||
233 | } xfs_perag_t; | 229 | } xfs_perag_t; |
234 | 230 | ||
235 | /* | 231 | /* |