diff options
author | Mandy Kirkconnell <alkirkco@sgi.com> | 2006-03-13 21:29:52 -0500 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2006-03-13 21:29:52 -0500 |
commit | 4eea22f01bb4fdba1aab4430c33adbe88d9d4985 (patch) | |
tree | 90e2088cd821e1013088682843e11d600f8c711a /fs/xfs/xfs_inode.h | |
parent | 9f989c9455aac417c34af9c505e6b169055251da (diff) |
[XFS] 929045 567344 This mod re-organizes some of the in-core file extent
code to prepare for an upcoming mod which will introduce multi-level
in-core extent allocations. Although the in-core extent management is
using a new code path in this mod, the functionality remains the same.
Major changes include: - Introduce 10 new subroutines which re-orgainze
the existing code but do NOT change functionality:
xfs_iext_get_ext() xfs_iext_insert() xfs_iext_add()
xfs_iext_remove() xfs_iext_remove_inline()
xfs_iext_remove_direct() xfs_iext_realloc_direct()
xfs_iext_direct_to_inline() xfs_iext_inline_to_direct()
xfs_iext_destroy() - Remove 2 subroutines (functionality moved to new
subroutines above): xfs_iext_realloc() -replaced by xfs_iext_add()
and xfs_iext_remove() xfs_bmap_insert_exlist() - replaced by
xfs_iext_insert() xfs_bmap_delete_exlist() - replaced by
xfs_iext_remove() - Replace all hard-coded (indexed) extent assignments
with a call to xfs_iext_get_ext() - Replace all extent record pointer
arithmetic (ep++, ep--, base + lastx,..) with calls to
xfs_iext_get_ext() - Update comments to remove the idea of a single
"extent list" and introduce "extent record" terminology instead
SGI-PV: 928864
SGI-Modid: xfs-linux-melb:xfs-kern:207390a
Signed-off-by: Mandy Kirkconnell <alkirkco@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_inode.h')
-rw-r--r-- | fs/xfs/xfs_inode.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index 1cfbcf18ce86..740b73fabd2f 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h | |||
@@ -70,12 +70,6 @@ typedef struct xfs_ifork { | |||
70 | */ | 70 | */ |
71 | #define XFS_IMAP_LOOKUP 0x1 | 71 | #define XFS_IMAP_LOOKUP 0x1 |
72 | 72 | ||
73 | /* | ||
74 | * Maximum number of extent pointers in if_u1.if_extents. | ||
75 | */ | ||
76 | #define XFS_MAX_INCORE_EXTENTS 32768 | ||
77 | |||
78 | |||
79 | #ifdef __KERNEL__ | 73 | #ifdef __KERNEL__ |
80 | struct bhv_desc; | 74 | struct bhv_desc; |
81 | struct cred; | 75 | struct cred; |
@@ -440,6 +434,18 @@ xfs_inode_t *xfs_vtoi(struct vnode *vp); | |||
440 | 434 | ||
441 | void xfs_synchronize_atime(xfs_inode_t *); | 435 | void xfs_synchronize_atime(xfs_inode_t *); |
442 | 436 | ||
437 | xfs_bmbt_rec_t *xfs_iext_get_ext(xfs_ifork_t *, xfs_extnum_t); | ||
438 | void xfs_iext_insert(xfs_ifork_t *, xfs_extnum_t, xfs_extnum_t, | ||
439 | xfs_bmbt_irec_t *); | ||
440 | void xfs_iext_add(xfs_ifork_t *, xfs_extnum_t, int); | ||
441 | void xfs_iext_remove(xfs_ifork_t *, xfs_extnum_t, int); | ||
442 | void xfs_iext_remove_inline(xfs_ifork_t *, xfs_extnum_t, int); | ||
443 | void xfs_iext_remove_direct(xfs_ifork_t *, xfs_extnum_t, int); | ||
444 | void xfs_iext_realloc_direct(xfs_ifork_t *, int); | ||
445 | void xfs_iext_direct_to_inline(xfs_ifork_t *, xfs_extnum_t); | ||
446 | void xfs_iext_inline_to_direct(xfs_ifork_t *, int); | ||
447 | void xfs_iext_destroy(xfs_ifork_t *); | ||
448 | |||
443 | #define xfs_ipincount(ip) ((unsigned int) atomic_read(&ip->i_pincount)) | 449 | #define xfs_ipincount(ip) ((unsigned int) atomic_read(&ip->i_pincount)) |
444 | 450 | ||
445 | #ifdef DEBUG | 451 | #ifdef DEBUG |