|
@@ -572,11 +572,11 @@ xfs_bmap_validate_ret(
|
|
void
|
|
void
|
|
xfs_bmap_add_free(
|
|
xfs_bmap_add_free(
|
|
struct xfs_mount *mp, /* mount point structure */
|
|
struct xfs_mount *mp, /* mount point structure */
|
|
- struct xfs_bmap_free *flist, /* list of extents */
|
|
|
|
|
|
+ struct xfs_defer_ops *flist, /* list of extents */
|
|
xfs_fsblock_t bno, /* fs block number of extent */
|
|
xfs_fsblock_t bno, /* fs block number of extent */
|
|
xfs_filblks_t len) /* length of extent */
|
|
xfs_filblks_t len) /* length of extent */
|
|
{
|
|
{
|
|
- struct xfs_bmap_free_item *new; /* new element */
|
|
|
|
|
|
+ struct xfs_extent_free_item *new; /* new element */
|
|
#ifdef DEBUG
|
|
#ifdef DEBUG
|
|
xfs_agnumber_t agno;
|
|
xfs_agnumber_t agno;
|
|
xfs_agblock_t agbno;
|
|
xfs_agblock_t agbno;
|
|
@@ -594,9 +594,9 @@ xfs_bmap_add_free(
|
|
#endif
|
|
#endif
|
|
ASSERT(xfs_bmap_free_item_zone != NULL);
|
|
ASSERT(xfs_bmap_free_item_zone != NULL);
|
|
new = kmem_zone_alloc(xfs_bmap_free_item_zone, KM_SLEEP);
|
|
new = kmem_zone_alloc(xfs_bmap_free_item_zone, KM_SLEEP);
|
|
- new->xbfi_startblock = bno;
|
|
|
|
- new->xbfi_blockcount = (xfs_extlen_t)len;
|
|
|
|
- xfs_defer_add(flist, XFS_DEFER_OPS_TYPE_FREE, &new->xbfi_list);
|
|
|
|
|
|
+ new->xefi_startblock = bno;
|
|
|
|
+ new->xefi_blockcount = (xfs_extlen_t)len;
|
|
|
|
+ xfs_defer_add(flist, XFS_DEFER_OPS_TYPE_FREE, &new->xefi_list);
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -672,7 +672,7 @@ xfs_bmap_extents_to_btree(
|
|
xfs_trans_t *tp, /* transaction pointer */
|
|
xfs_trans_t *tp, /* transaction pointer */
|
|
xfs_inode_t *ip, /* incore inode pointer */
|
|
xfs_inode_t *ip, /* incore inode pointer */
|
|
xfs_fsblock_t *firstblock, /* first-block-allocated */
|
|
xfs_fsblock_t *firstblock, /* first-block-allocated */
|
|
- xfs_bmap_free_t *flist, /* blocks freed in xaction */
|
|
|
|
|
|
+ struct xfs_defer_ops *flist, /* blocks freed in xaction */
|
|
xfs_btree_cur_t **curp, /* cursor returned to caller */
|
|
xfs_btree_cur_t **curp, /* cursor returned to caller */
|
|
int wasdel, /* converting a delayed alloc */
|
|
int wasdel, /* converting a delayed alloc */
|
|
int *logflagsp, /* inode logging flags */
|
|
int *logflagsp, /* inode logging flags */
|
|
@@ -940,7 +940,7 @@ xfs_bmap_add_attrfork_btree(
|
|
xfs_trans_t *tp, /* transaction pointer */
|
|
xfs_trans_t *tp, /* transaction pointer */
|
|
xfs_inode_t *ip, /* incore inode pointer */
|
|
xfs_inode_t *ip, /* incore inode pointer */
|
|
xfs_fsblock_t *firstblock, /* first block allocated */
|
|
xfs_fsblock_t *firstblock, /* first block allocated */
|
|
- xfs_bmap_free_t *flist, /* blocks to free at commit */
|
|
|
|
|
|
+ struct xfs_defer_ops *flist, /* blocks to free at commit */
|
|
int *flags) /* inode logging flags */
|
|
int *flags) /* inode logging flags */
|
|
{
|
|
{
|
|
xfs_btree_cur_t *cur; /* btree cursor */
|
|
xfs_btree_cur_t *cur; /* btree cursor */
|
|
@@ -983,7 +983,7 @@ xfs_bmap_add_attrfork_extents(
|
|
xfs_trans_t *tp, /* transaction pointer */
|
|
xfs_trans_t *tp, /* transaction pointer */
|
|
xfs_inode_t *ip, /* incore inode pointer */
|
|
xfs_inode_t *ip, /* incore inode pointer */
|
|
xfs_fsblock_t *firstblock, /* first block allocated */
|
|
xfs_fsblock_t *firstblock, /* first block allocated */
|
|
- xfs_bmap_free_t *flist, /* blocks to free at commit */
|
|
|
|
|
|
+ struct xfs_defer_ops *flist, /* blocks to free at commit */
|
|
int *flags) /* inode logging flags */
|
|
int *flags) /* inode logging flags */
|
|
{
|
|
{
|
|
xfs_btree_cur_t *cur; /* bmap btree cursor */
|
|
xfs_btree_cur_t *cur; /* bmap btree cursor */
|
|
@@ -1018,7 +1018,7 @@ xfs_bmap_add_attrfork_local(
|
|
xfs_trans_t *tp, /* transaction pointer */
|
|
xfs_trans_t *tp, /* transaction pointer */
|
|
xfs_inode_t *ip, /* incore inode pointer */
|
|
xfs_inode_t *ip, /* incore inode pointer */
|
|
xfs_fsblock_t *firstblock, /* first block allocated */
|
|
xfs_fsblock_t *firstblock, /* first block allocated */
|
|
- xfs_bmap_free_t *flist, /* blocks to free at commit */
|
|
|
|
|
|
+ struct xfs_defer_ops *flist, /* blocks to free at commit */
|
|
int *flags) /* inode logging flags */
|
|
int *flags) /* inode logging flags */
|
|
{
|
|
{
|
|
xfs_da_args_t dargs; /* args for dir/attr code */
|
|
xfs_da_args_t dargs; /* args for dir/attr code */
|
|
@@ -1059,7 +1059,7 @@ xfs_bmap_add_attrfork(
|
|
int rsvd) /* xact may use reserved blks */
|
|
int rsvd) /* xact may use reserved blks */
|
|
{
|
|
{
|
|
xfs_fsblock_t firstblock; /* 1st block/ag allocated */
|
|
xfs_fsblock_t firstblock; /* 1st block/ag allocated */
|
|
- xfs_bmap_free_t flist; /* freed extent records */
|
|
|
|
|
|
+ struct xfs_defer_ops flist; /* freed extent records */
|
|
xfs_mount_t *mp; /* mount structure */
|
|
xfs_mount_t *mp; /* mount structure */
|
|
xfs_trans_t *tp; /* transaction pointer */
|
|
xfs_trans_t *tp; /* transaction pointer */
|
|
int blks; /* space reservation */
|
|
int blks; /* space reservation */
|
|
@@ -1125,7 +1125,7 @@ xfs_bmap_add_attrfork(
|
|
ip->i_afp = kmem_zone_zalloc(xfs_ifork_zone, KM_SLEEP);
|
|
ip->i_afp = kmem_zone_zalloc(xfs_ifork_zone, KM_SLEEP);
|
|
ip->i_afp->if_flags = XFS_IFEXTENTS;
|
|
ip->i_afp->if_flags = XFS_IFEXTENTS;
|
|
logflags = 0;
|
|
logflags = 0;
|
|
- xfs_bmap_init(&flist, &firstblock);
|
|
|
|
|
|
+ xfs_defer_init(&flist, &firstblock);
|
|
switch (ip->i_d.di_format) {
|
|
switch (ip->i_d.di_format) {
|
|
case XFS_DINODE_FMT_LOCAL:
|
|
case XFS_DINODE_FMT_LOCAL:
|
|
error = xfs_bmap_add_attrfork_local(tp, ip, &firstblock, &flist,
|
|
error = xfs_bmap_add_attrfork_local(tp, ip, &firstblock, &flist,
|
|
@@ -1165,7 +1165,7 @@ xfs_bmap_add_attrfork(
|
|
xfs_log_sb(tp);
|
|
xfs_log_sb(tp);
|
|
}
|
|
}
|
|
|
|
|
|
- error = xfs_bmap_finish(&tp, &flist, NULL);
|
|
|
|
|
|
+ error = xfs_defer_finish(&tp, &flist, NULL);
|
|
if (error)
|
|
if (error)
|
|
goto bmap_cancel;
|
|
goto bmap_cancel;
|
|
error = xfs_trans_commit(tp);
|
|
error = xfs_trans_commit(tp);
|
|
@@ -1173,7 +1173,7 @@ xfs_bmap_add_attrfork(
|
|
return error;
|
|
return error;
|
|
|
|
|
|
bmap_cancel:
|
|
bmap_cancel:
|
|
- xfs_bmap_cancel(&flist);
|
|
|
|
|
|
+ xfs_defer_cancel(&flist);
|
|
trans_cancel:
|
|
trans_cancel:
|
|
xfs_trans_cancel(tp);
|
|
xfs_trans_cancel(tp);
|
|
xfs_iunlock(ip, XFS_ILOCK_EXCL);
|
|
xfs_iunlock(ip, XFS_ILOCK_EXCL);
|
|
@@ -2214,7 +2214,7 @@ xfs_bmap_add_extent_unwritten_real(
|
|
xfs_btree_cur_t **curp, /* if *curp is null, not a btree */
|
|
xfs_btree_cur_t **curp, /* if *curp is null, not a btree */
|
|
xfs_bmbt_irec_t *new, /* new data to add to file extents */
|
|
xfs_bmbt_irec_t *new, /* new data to add to file extents */
|
|
xfs_fsblock_t *first, /* pointer to firstblock variable */
|
|
xfs_fsblock_t *first, /* pointer to firstblock variable */
|
|
- xfs_bmap_free_t *flist, /* list of extents to be freed */
|
|
|
|
|
|
+ struct xfs_defer_ops *flist, /* list of extents to be freed */
|
|
int *logflagsp) /* inode logging flags */
|
|
int *logflagsp) /* inode logging flags */
|
|
{
|
|
{
|
|
xfs_btree_cur_t *cur; /* btree cursor */
|
|
xfs_btree_cur_t *cur; /* btree cursor */
|
|
@@ -4447,7 +4447,7 @@ xfs_bmapi_write(
|
|
xfs_extlen_t total, /* total blocks needed */
|
|
xfs_extlen_t total, /* total blocks needed */
|
|
struct xfs_bmbt_irec *mval, /* output: map values */
|
|
struct xfs_bmbt_irec *mval, /* output: map values */
|
|
int *nmap, /* i/o: mval size/count */
|
|
int *nmap, /* i/o: mval size/count */
|
|
- struct xfs_bmap_free *flist) /* i/o: list extents to free */
|
|
|
|
|
|
+ struct xfs_defer_ops *flist) /* i/o: list extents to free */
|
|
{
|
|
{
|
|
struct xfs_mount *mp = ip->i_mount;
|
|
struct xfs_mount *mp = ip->i_mount;
|
|
struct xfs_ifork *ifp;
|
|
struct xfs_ifork *ifp;
|
|
@@ -4735,7 +4735,7 @@ xfs_bmap_del_extent(
|
|
xfs_inode_t *ip, /* incore inode pointer */
|
|
xfs_inode_t *ip, /* incore inode pointer */
|
|
xfs_trans_t *tp, /* current transaction pointer */
|
|
xfs_trans_t *tp, /* current transaction pointer */
|
|
xfs_extnum_t *idx, /* extent number to update/delete */
|
|
xfs_extnum_t *idx, /* extent number to update/delete */
|
|
- xfs_bmap_free_t *flist, /* list of extents to be freed */
|
|
|
|
|
|
+ struct xfs_defer_ops *flist, /* list of extents to be freed */
|
|
xfs_btree_cur_t *cur, /* if null, not a btree */
|
|
xfs_btree_cur_t *cur, /* if null, not a btree */
|
|
xfs_bmbt_irec_t *del, /* data to remove from extents */
|
|
xfs_bmbt_irec_t *del, /* data to remove from extents */
|
|
int *logflagsp, /* inode logging flags */
|
|
int *logflagsp, /* inode logging flags */
|
|
@@ -5064,7 +5064,7 @@ xfs_bunmapi(
|
|
xfs_extnum_t nexts, /* number of extents max */
|
|
xfs_extnum_t nexts, /* number of extents max */
|
|
xfs_fsblock_t *firstblock, /* first allocated block
|
|
xfs_fsblock_t *firstblock, /* first allocated block
|
|
controls a.g. for allocs */
|
|
controls a.g. for allocs */
|
|
- xfs_bmap_free_t *flist, /* i/o: list extents to free */
|
|
|
|
|
|
+ struct xfs_defer_ops *flist, /* i/o: list extents to free */
|
|
int *done) /* set if not done yet */
|
|
int *done) /* set if not done yet */
|
|
{
|
|
{
|
|
xfs_btree_cur_t *cur; /* bmap btree cursor */
|
|
xfs_btree_cur_t *cur; /* bmap btree cursor */
|
|
@@ -5680,7 +5680,7 @@ xfs_bmap_shift_extents(
|
|
int *done,
|
|
int *done,
|
|
xfs_fileoff_t stop_fsb,
|
|
xfs_fileoff_t stop_fsb,
|
|
xfs_fsblock_t *firstblock,
|
|
xfs_fsblock_t *firstblock,
|
|
- struct xfs_bmap_free *flist,
|
|
|
|
|
|
+ struct xfs_defer_ops *flist,
|
|
enum shift_direction direction,
|
|
enum shift_direction direction,
|
|
int num_exts)
|
|
int num_exts)
|
|
{
|
|
{
|
|
@@ -5834,7 +5834,7 @@ xfs_bmap_split_extent_at(
|
|
struct xfs_inode *ip,
|
|
struct xfs_inode *ip,
|
|
xfs_fileoff_t split_fsb,
|
|
xfs_fileoff_t split_fsb,
|
|
xfs_fsblock_t *firstfsb,
|
|
xfs_fsblock_t *firstfsb,
|
|
- struct xfs_bmap_free *free_list)
|
|
|
|
|
|
+ struct xfs_defer_ops *free_list)
|
|
{
|
|
{
|
|
int whichfork = XFS_DATA_FORK;
|
|
int whichfork = XFS_DATA_FORK;
|
|
struct xfs_btree_cur *cur = NULL;
|
|
struct xfs_btree_cur *cur = NULL;
|
|
@@ -5973,7 +5973,7 @@ xfs_bmap_split_extent(
|
|
{
|
|
{
|
|
struct xfs_mount *mp = ip->i_mount;
|
|
struct xfs_mount *mp = ip->i_mount;
|
|
struct xfs_trans *tp;
|
|
struct xfs_trans *tp;
|
|
- struct xfs_bmap_free free_list;
|
|
|
|
|
|
+ struct xfs_defer_ops free_list;
|
|
xfs_fsblock_t firstfsb;
|
|
xfs_fsblock_t firstfsb;
|
|
int error;
|
|
int error;
|
|
|
|
|
|
@@ -5985,21 +5985,21 @@ xfs_bmap_split_extent(
|
|
xfs_ilock(ip, XFS_ILOCK_EXCL);
|
|
xfs_ilock(ip, XFS_ILOCK_EXCL);
|
|
xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
|
|
xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
|
|
|
|
|
|
- xfs_bmap_init(&free_list, &firstfsb);
|
|
|
|
|
|
+ xfs_defer_init(&free_list, &firstfsb);
|
|
|
|
|
|
error = xfs_bmap_split_extent_at(tp, ip, split_fsb,
|
|
error = xfs_bmap_split_extent_at(tp, ip, split_fsb,
|
|
&firstfsb, &free_list);
|
|
&firstfsb, &free_list);
|
|
if (error)
|
|
if (error)
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
- error = xfs_bmap_finish(&tp, &free_list, NULL);
|
|
|
|
|
|
+ error = xfs_defer_finish(&tp, &free_list, NULL);
|
|
if (error)
|
|
if (error)
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
return xfs_trans_commit(tp);
|
|
return xfs_trans_commit(tp);
|
|
|
|
|
|
out:
|
|
out:
|
|
- xfs_bmap_cancel(&free_list);
|
|
|
|
|
|
+ xfs_defer_cancel(&free_list);
|
|
xfs_trans_cancel(tp);
|
|
xfs_trans_cancel(tp);
|
|
return error;
|
|
return error;
|
|
}
|
|
}
|