xfs: rename flist/free_list to dfops
Mechanical change of flist/free_list to dfops, since they're now deferred ops, not just a freeing list. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:

کامیت شده توسط
Dave Chinner

والد
310a75a3c6
کامیت
2c3234d1ef
@@ -204,7 +204,7 @@ xfs_attr_set(
|
||||
{
|
||||
struct xfs_mount *mp = dp->i_mount;
|
||||
struct xfs_da_args args;
|
||||
struct xfs_defer_ops flist;
|
||||
struct xfs_defer_ops dfops;
|
||||
struct xfs_trans_res tres;
|
||||
xfs_fsblock_t firstblock;
|
||||
int rsvd = (flags & ATTR_ROOT) != 0;
|
||||
@@ -222,7 +222,7 @@ xfs_attr_set(
|
||||
args.value = value;
|
||||
args.valuelen = valuelen;
|
||||
args.firstblock = &firstblock;
|
||||
args.flist = &flist;
|
||||
args.dfops = &dfops;
|
||||
args.op_flags = XFS_DA_OP_ADDNAME | XFS_DA_OP_OKNOENT;
|
||||
args.total = xfs_attr_calc_size(&args, &local);
|
||||
|
||||
@@ -317,13 +317,13 @@ xfs_attr_set(
|
||||
* It won't fit in the shortform, transform to a leaf block.
|
||||
* GROT: another possible req'mt for a double-split btree op.
|
||||
*/
|
||||
xfs_defer_init(args.flist, args.firstblock);
|
||||
xfs_defer_init(args.dfops, args.firstblock);
|
||||
error = xfs_attr_shortform_to_leaf(&args);
|
||||
if (!error)
|
||||
error = xfs_defer_finish(&args.trans, args.flist, dp);
|
||||
error = xfs_defer_finish(&args.trans, args.dfops, dp);
|
||||
if (error) {
|
||||
args.trans = NULL;
|
||||
xfs_defer_cancel(&flist);
|
||||
xfs_defer_cancel(&dfops);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -383,7 +383,7 @@ xfs_attr_remove(
|
||||
{
|
||||
struct xfs_mount *mp = dp->i_mount;
|
||||
struct xfs_da_args args;
|
||||
struct xfs_defer_ops flist;
|
||||
struct xfs_defer_ops dfops;
|
||||
xfs_fsblock_t firstblock;
|
||||
int error;
|
||||
|
||||
@@ -400,7 +400,7 @@ xfs_attr_remove(
|
||||
return error;
|
||||
|
||||
args.firstblock = &firstblock;
|
||||
args.flist = &flist;
|
||||
args.dfops = &dfops;
|
||||
|
||||
/*
|
||||
* we have no control over the attribute names that userspace passes us
|
||||
@@ -585,13 +585,13 @@ xfs_attr_leaf_addname(xfs_da_args_t *args)
|
||||
* Commit that transaction so that the node_addname() call
|
||||
* can manage its own transactions.
|
||||
*/
|
||||
xfs_defer_init(args->flist, args->firstblock);
|
||||
xfs_defer_init(args->dfops, args->firstblock);
|
||||
error = xfs_attr3_leaf_to_node(args);
|
||||
if (!error)
|
||||
error = xfs_defer_finish(&args->trans, args->flist, dp);
|
||||
error = xfs_defer_finish(&args->trans, args->dfops, dp);
|
||||
if (error) {
|
||||
args->trans = NULL;
|
||||
xfs_defer_cancel(args->flist);
|
||||
xfs_defer_cancel(args->dfops);
|
||||
return error;
|
||||
}
|
||||
|
||||
@@ -675,15 +675,15 @@ xfs_attr_leaf_addname(xfs_da_args_t *args)
|
||||
* If the result is small enough, shrink it all into the inode.
|
||||
*/
|
||||
if ((forkoff = xfs_attr_shortform_allfit(bp, dp))) {
|
||||
xfs_defer_init(args->flist, args->firstblock);
|
||||
xfs_defer_init(args->dfops, args->firstblock);
|
||||
error = xfs_attr3_leaf_to_shortform(bp, args, forkoff);
|
||||
/* bp is gone due to xfs_da_shrink_inode */
|
||||
if (!error)
|
||||
error = xfs_defer_finish(&args->trans,
|
||||
args->flist, dp);
|
||||
args->dfops, dp);
|
||||
if (error) {
|
||||
args->trans = NULL;
|
||||
xfs_defer_cancel(args->flist);
|
||||
xfs_defer_cancel(args->dfops);
|
||||
return error;
|
||||
}
|
||||
}
|
||||
@@ -738,14 +738,14 @@ xfs_attr_leaf_removename(xfs_da_args_t *args)
|
||||
* If the result is small enough, shrink it all into the inode.
|
||||
*/
|
||||
if ((forkoff = xfs_attr_shortform_allfit(bp, dp))) {
|
||||
xfs_defer_init(args->flist, args->firstblock);
|
||||
xfs_defer_init(args->dfops, args->firstblock);
|
||||
error = xfs_attr3_leaf_to_shortform(bp, args, forkoff);
|
||||
/* bp is gone due to xfs_da_shrink_inode */
|
||||
if (!error)
|
||||
error = xfs_defer_finish(&args->trans, args->flist, dp);
|
||||
error = xfs_defer_finish(&args->trans, args->dfops, dp);
|
||||
if (error) {
|
||||
args->trans = NULL;
|
||||
xfs_defer_cancel(args->flist);
|
||||
xfs_defer_cancel(args->dfops);
|
||||
return error;
|
||||
}
|
||||
}
|
||||
@@ -864,14 +864,14 @@ restart:
|
||||
*/
|
||||
xfs_da_state_free(state);
|
||||
state = NULL;
|
||||
xfs_defer_init(args->flist, args->firstblock);
|
||||
xfs_defer_init(args->dfops, args->firstblock);
|
||||
error = xfs_attr3_leaf_to_node(args);
|
||||
if (!error)
|
||||
error = xfs_defer_finish(&args->trans,
|
||||
args->flist, dp);
|
||||
args->dfops, dp);
|
||||
if (error) {
|
||||
args->trans = NULL;
|
||||
xfs_defer_cancel(args->flist);
|
||||
xfs_defer_cancel(args->dfops);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -892,13 +892,13 @@ restart:
|
||||
* in the index/blkno/rmtblkno/rmtblkcnt fields and
|
||||
* in the index2/blkno2/rmtblkno2/rmtblkcnt2 fields.
|
||||
*/
|
||||
xfs_defer_init(args->flist, args->firstblock);
|
||||
xfs_defer_init(args->dfops, args->firstblock);
|
||||
error = xfs_da3_split(state);
|
||||
if (!error)
|
||||
error = xfs_defer_finish(&args->trans, args->flist, dp);
|
||||
error = xfs_defer_finish(&args->trans, args->dfops, dp);
|
||||
if (error) {
|
||||
args->trans = NULL;
|
||||
xfs_defer_cancel(args->flist);
|
||||
xfs_defer_cancel(args->dfops);
|
||||
goto out;
|
||||
}
|
||||
} else {
|
||||
@@ -991,14 +991,14 @@ restart:
|
||||
* Check to see if the tree needs to be collapsed.
|
||||
*/
|
||||
if (retval && (state->path.active > 1)) {
|
||||
xfs_defer_init(args->flist, args->firstblock);
|
||||
xfs_defer_init(args->dfops, args->firstblock);
|
||||
error = xfs_da3_join(state);
|
||||
if (!error)
|
||||
error = xfs_defer_finish(&args->trans,
|
||||
args->flist, dp);
|
||||
args->dfops, dp);
|
||||
if (error) {
|
||||
args->trans = NULL;
|
||||
xfs_defer_cancel(args->flist);
|
||||
xfs_defer_cancel(args->dfops);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
@@ -1114,13 +1114,13 @@ xfs_attr_node_removename(xfs_da_args_t *args)
|
||||
* Check to see if the tree needs to be collapsed.
|
||||
*/
|
||||
if (retval && (state->path.active > 1)) {
|
||||
xfs_defer_init(args->flist, args->firstblock);
|
||||
xfs_defer_init(args->dfops, args->firstblock);
|
||||
error = xfs_da3_join(state);
|
||||
if (!error)
|
||||
error = xfs_defer_finish(&args->trans, args->flist, dp);
|
||||
error = xfs_defer_finish(&args->trans, args->dfops, dp);
|
||||
if (error) {
|
||||
args->trans = NULL;
|
||||
xfs_defer_cancel(args->flist);
|
||||
xfs_defer_cancel(args->dfops);
|
||||
goto out;
|
||||
}
|
||||
/*
|
||||
@@ -1147,15 +1147,15 @@ xfs_attr_node_removename(xfs_da_args_t *args)
|
||||
goto out;
|
||||
|
||||
if ((forkoff = xfs_attr_shortform_allfit(bp, dp))) {
|
||||
xfs_defer_init(args->flist, args->firstblock);
|
||||
xfs_defer_init(args->dfops, args->firstblock);
|
||||
error = xfs_attr3_leaf_to_shortform(bp, args, forkoff);
|
||||
/* bp is gone due to xfs_da_shrink_inode */
|
||||
if (!error)
|
||||
error = xfs_defer_finish(&args->trans,
|
||||
args->flist, dp);
|
||||
args->dfops, dp);
|
||||
if (error) {
|
||||
args->trans = NULL;
|
||||
xfs_defer_cancel(args->flist);
|
||||
xfs_defer_cancel(args->dfops);
|
||||
goto out;
|
||||
}
|
||||
} else
|
||||
|
@@ -792,7 +792,7 @@ xfs_attr_shortform_to_leaf(xfs_da_args_t *args)
|
||||
nargs.dp = dp;
|
||||
nargs.geo = args->geo;
|
||||
nargs.firstblock = args->firstblock;
|
||||
nargs.flist = args->flist;
|
||||
nargs.dfops = args->dfops;
|
||||
nargs.total = args->total;
|
||||
nargs.whichfork = XFS_ATTR_FORK;
|
||||
nargs.trans = args->trans;
|
||||
@@ -922,7 +922,7 @@ xfs_attr3_leaf_to_shortform(
|
||||
nargs.geo = args->geo;
|
||||
nargs.dp = dp;
|
||||
nargs.firstblock = args->firstblock;
|
||||
nargs.flist = args->flist;
|
||||
nargs.dfops = args->dfops;
|
||||
nargs.total = args->total;
|
||||
nargs.whichfork = XFS_ATTR_FORK;
|
||||
nargs.trans = args->trans;
|
||||
|
@@ -461,16 +461,16 @@ xfs_attr_rmtval_set(
|
||||
* extent and then crash then the block may not contain the
|
||||
* correct metadata after log recovery occurs.
|
||||
*/
|
||||
xfs_defer_init(args->flist, args->firstblock);
|
||||
xfs_defer_init(args->dfops, args->firstblock);
|
||||
nmap = 1;
|
||||
error = xfs_bmapi_write(args->trans, dp, (xfs_fileoff_t)lblkno,
|
||||
blkcnt, XFS_BMAPI_ATTRFORK, args->firstblock,
|
||||
args->total, &map, &nmap, args->flist);
|
||||
args->total, &map, &nmap, args->dfops);
|
||||
if (!error)
|
||||
error = xfs_defer_finish(&args->trans, args->flist, dp);
|
||||
error = xfs_defer_finish(&args->trans, args->dfops, dp);
|
||||
if (error) {
|
||||
args->trans = NULL;
|
||||
xfs_defer_cancel(args->flist);
|
||||
xfs_defer_cancel(args->dfops);
|
||||
return error;
|
||||
}
|
||||
|
||||
@@ -504,7 +504,7 @@ xfs_attr_rmtval_set(
|
||||
|
||||
ASSERT(blkcnt > 0);
|
||||
|
||||
xfs_defer_init(args->flist, args->firstblock);
|
||||
xfs_defer_init(args->dfops, args->firstblock);
|
||||
nmap = 1;
|
||||
error = xfs_bmapi_read(dp, (xfs_fileoff_t)lblkno,
|
||||
blkcnt, &map, &nmap,
|
||||
@@ -604,16 +604,16 @@ xfs_attr_rmtval_remove(
|
||||
blkcnt = args->rmtblkcnt;
|
||||
done = 0;
|
||||
while (!done) {
|
||||
xfs_defer_init(args->flist, args->firstblock);
|
||||
xfs_defer_init(args->dfops, args->firstblock);
|
||||
error = xfs_bunmapi(args->trans, args->dp, lblkno, blkcnt,
|
||||
XFS_BMAPI_ATTRFORK, 1, args->firstblock,
|
||||
args->flist, &done);
|
||||
args->dfops, &done);
|
||||
if (!error)
|
||||
error = xfs_defer_finish(&args->trans, args->flist,
|
||||
error = xfs_defer_finish(&args->trans, args->dfops,
|
||||
args->dp);
|
||||
if (error) {
|
||||
args->trans = NULL;
|
||||
xfs_defer_cancel(args->flist);
|
||||
xfs_defer_cancel(args->dfops);
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@@ -572,7 +572,7 @@ xfs_bmap_validate_ret(
|
||||
void
|
||||
xfs_bmap_add_free(
|
||||
struct xfs_mount *mp, /* mount point structure */
|
||||
struct xfs_defer_ops *flist, /* list of extents */
|
||||
struct xfs_defer_ops *dfops, /* list of extents */
|
||||
xfs_fsblock_t bno, /* fs block number of extent */
|
||||
xfs_filblks_t len) /* length of extent */
|
||||
{
|
||||
@@ -596,7 +596,7 @@ xfs_bmap_add_free(
|
||||
new = kmem_zone_alloc(xfs_bmap_free_item_zone, KM_SLEEP);
|
||||
new->xefi_startblock = bno;
|
||||
new->xefi_blockcount = (xfs_extlen_t)len;
|
||||
xfs_defer_add(flist, XFS_DEFER_OPS_TYPE_FREE, &new->xefi_list);
|
||||
xfs_defer_add(dfops, XFS_DEFER_OPS_TYPE_FREE, &new->xefi_list);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -649,7 +649,7 @@ xfs_bmap_btree_to_extents(
|
||||
cblock = XFS_BUF_TO_BLOCK(cbp);
|
||||
if ((error = xfs_btree_check_block(cur, cblock, 0, cbp)))
|
||||
return error;
|
||||
xfs_bmap_add_free(mp, cur->bc_private.b.flist, cbno, 1);
|
||||
xfs_bmap_add_free(mp, cur->bc_private.b.dfops, cbno, 1);
|
||||
ip->i_d.di_nblocks--;
|
||||
xfs_trans_mod_dquot_byino(tp, ip, XFS_TRANS_DQ_BCOUNT, -1L);
|
||||
xfs_trans_binval(tp, cbp);
|
||||
@@ -672,7 +672,7 @@ xfs_bmap_extents_to_btree(
|
||||
xfs_trans_t *tp, /* transaction pointer */
|
||||
xfs_inode_t *ip, /* incore inode pointer */
|
||||
xfs_fsblock_t *firstblock, /* first-block-allocated */
|
||||
struct xfs_defer_ops *flist, /* blocks freed in xaction */
|
||||
struct xfs_defer_ops *dfops, /* blocks freed in xaction */
|
||||
xfs_btree_cur_t **curp, /* cursor returned to caller */
|
||||
int wasdel, /* converting a delayed alloc */
|
||||
int *logflagsp, /* inode logging flags */
|
||||
@@ -721,7 +721,7 @@ xfs_bmap_extents_to_btree(
|
||||
*/
|
||||
cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork);
|
||||
cur->bc_private.b.firstblock = *firstblock;
|
||||
cur->bc_private.b.flist = flist;
|
||||
cur->bc_private.b.dfops = dfops;
|
||||
cur->bc_private.b.flags = wasdel ? XFS_BTCUR_BPRV_WASDEL : 0;
|
||||
/*
|
||||
* Convert to a btree with two levels, one record in root.
|
||||
@@ -734,7 +734,7 @@ xfs_bmap_extents_to_btree(
|
||||
if (*firstblock == NULLFSBLOCK) {
|
||||
args.type = XFS_ALLOCTYPE_START_BNO;
|
||||
args.fsbno = XFS_INO_TO_FSB(mp, ip->i_ino);
|
||||
} else if (flist->dop_low) {
|
||||
} else if (dfops->dop_low) {
|
||||
args.type = XFS_ALLOCTYPE_START_BNO;
|
||||
args.fsbno = *firstblock;
|
||||
} else {
|
||||
@@ -755,7 +755,7 @@ xfs_bmap_extents_to_btree(
|
||||
ASSERT(args.fsbno != NULLFSBLOCK);
|
||||
ASSERT(*firstblock == NULLFSBLOCK ||
|
||||
args.agno == XFS_FSB_TO_AGNO(mp, *firstblock) ||
|
||||
(flist->dop_low &&
|
||||
(dfops->dop_low &&
|
||||
args.agno > XFS_FSB_TO_AGNO(mp, *firstblock)));
|
||||
*firstblock = cur->bc_private.b.firstblock = args.fsbno;
|
||||
cur->bc_private.b.allocated++;
|
||||
@@ -940,7 +940,7 @@ xfs_bmap_add_attrfork_btree(
|
||||
xfs_trans_t *tp, /* transaction pointer */
|
||||
xfs_inode_t *ip, /* incore inode pointer */
|
||||
xfs_fsblock_t *firstblock, /* first block allocated */
|
||||
struct xfs_defer_ops *flist, /* blocks to free at commit */
|
||||
struct xfs_defer_ops *dfops, /* blocks to free at commit */
|
||||
int *flags) /* inode logging flags */
|
||||
{
|
||||
xfs_btree_cur_t *cur; /* btree cursor */
|
||||
@@ -953,7 +953,7 @@ xfs_bmap_add_attrfork_btree(
|
||||
*flags |= XFS_ILOG_DBROOT;
|
||||
else {
|
||||
cur = xfs_bmbt_init_cursor(mp, tp, ip, XFS_DATA_FORK);
|
||||
cur->bc_private.b.flist = flist;
|
||||
cur->bc_private.b.dfops = dfops;
|
||||
cur->bc_private.b.firstblock = *firstblock;
|
||||
if ((error = xfs_bmbt_lookup_ge(cur, 0, 0, 0, &stat)))
|
||||
goto error0;
|
||||
@@ -983,7 +983,7 @@ xfs_bmap_add_attrfork_extents(
|
||||
xfs_trans_t *tp, /* transaction pointer */
|
||||
xfs_inode_t *ip, /* incore inode pointer */
|
||||
xfs_fsblock_t *firstblock, /* first block allocated */
|
||||
struct xfs_defer_ops *flist, /* blocks to free at commit */
|
||||
struct xfs_defer_ops *dfops, /* blocks to free at commit */
|
||||
int *flags) /* inode logging flags */
|
||||
{
|
||||
xfs_btree_cur_t *cur; /* bmap btree cursor */
|
||||
@@ -992,7 +992,7 @@ xfs_bmap_add_attrfork_extents(
|
||||
if (ip->i_d.di_nextents * sizeof(xfs_bmbt_rec_t) <= XFS_IFORK_DSIZE(ip))
|
||||
return 0;
|
||||
cur = NULL;
|
||||
error = xfs_bmap_extents_to_btree(tp, ip, firstblock, flist, &cur, 0,
|
||||
error = xfs_bmap_extents_to_btree(tp, ip, firstblock, dfops, &cur, 0,
|
||||
flags, XFS_DATA_FORK);
|
||||
if (cur) {
|
||||
cur->bc_private.b.allocated = 0;
|
||||
@@ -1018,7 +1018,7 @@ xfs_bmap_add_attrfork_local(
|
||||
xfs_trans_t *tp, /* transaction pointer */
|
||||
xfs_inode_t *ip, /* incore inode pointer */
|
||||
xfs_fsblock_t *firstblock, /* first block allocated */
|
||||
struct xfs_defer_ops *flist, /* blocks to free at commit */
|
||||
struct xfs_defer_ops *dfops, /* blocks to free at commit */
|
||||
int *flags) /* inode logging flags */
|
||||
{
|
||||
xfs_da_args_t dargs; /* args for dir/attr code */
|
||||
@@ -1031,7 +1031,7 @@ xfs_bmap_add_attrfork_local(
|
||||
dargs.geo = ip->i_mount->m_dir_geo;
|
||||
dargs.dp = ip;
|
||||
dargs.firstblock = firstblock;
|
||||
dargs.flist = flist;
|
||||
dargs.dfops = dfops;
|
||||
dargs.total = dargs.geo->fsbcount;
|
||||
dargs.whichfork = XFS_DATA_FORK;
|
||||
dargs.trans = tp;
|
||||
@@ -1059,7 +1059,7 @@ xfs_bmap_add_attrfork(
|
||||
int rsvd) /* xact may use reserved blks */
|
||||
{
|
||||
xfs_fsblock_t firstblock; /* 1st block/ag allocated */
|
||||
struct xfs_defer_ops flist; /* freed extent records */
|
||||
struct xfs_defer_ops dfops; /* freed extent records */
|
||||
xfs_mount_t *mp; /* mount structure */
|
||||
xfs_trans_t *tp; /* transaction pointer */
|
||||
int blks; /* space reservation */
|
||||
@@ -1125,18 +1125,18 @@ xfs_bmap_add_attrfork(
|
||||
ip->i_afp = kmem_zone_zalloc(xfs_ifork_zone, KM_SLEEP);
|
||||
ip->i_afp->if_flags = XFS_IFEXTENTS;
|
||||
logflags = 0;
|
||||
xfs_defer_init(&flist, &firstblock);
|
||||
xfs_defer_init(&dfops, &firstblock);
|
||||
switch (ip->i_d.di_format) {
|
||||
case XFS_DINODE_FMT_LOCAL:
|
||||
error = xfs_bmap_add_attrfork_local(tp, ip, &firstblock, &flist,
|
||||
error = xfs_bmap_add_attrfork_local(tp, ip, &firstblock, &dfops,
|
||||
&logflags);
|
||||
break;
|
||||
case XFS_DINODE_FMT_EXTENTS:
|
||||
error = xfs_bmap_add_attrfork_extents(tp, ip, &firstblock,
|
||||
&flist, &logflags);
|
||||
&dfops, &logflags);
|
||||
break;
|
||||
case XFS_DINODE_FMT_BTREE:
|
||||
error = xfs_bmap_add_attrfork_btree(tp, ip, &firstblock, &flist,
|
||||
error = xfs_bmap_add_attrfork_btree(tp, ip, &firstblock, &dfops,
|
||||
&logflags);
|
||||
break;
|
||||
default:
|
||||
@@ -1165,7 +1165,7 @@ xfs_bmap_add_attrfork(
|
||||
xfs_log_sb(tp);
|
||||
}
|
||||
|
||||
error = xfs_defer_finish(&tp, &flist, NULL);
|
||||
error = xfs_defer_finish(&tp, &dfops, NULL);
|
||||
if (error)
|
||||
goto bmap_cancel;
|
||||
error = xfs_trans_commit(tp);
|
||||
@@ -1173,7 +1173,7 @@ xfs_bmap_add_attrfork(
|
||||
return error;
|
||||
|
||||
bmap_cancel:
|
||||
xfs_defer_cancel(&flist);
|
||||
xfs_defer_cancel(&dfops);
|
||||
trans_cancel:
|
||||
xfs_trans_cancel(tp);
|
||||
xfs_iunlock(ip, XFS_ILOCK_EXCL);
|
||||
@@ -1970,7 +1970,7 @@ xfs_bmap_add_extent_delay_real(
|
||||
|
||||
if (xfs_bmap_needs_btree(bma->ip, whichfork)) {
|
||||
error = xfs_bmap_extents_to_btree(bma->tp, bma->ip,
|
||||
bma->firstblock, bma->flist,
|
||||
bma->firstblock, bma->dfops,
|
||||
&bma->cur, 1, &tmp_rval, whichfork);
|
||||
rval |= tmp_rval;
|
||||
if (error)
|
||||
@@ -2054,7 +2054,7 @@ xfs_bmap_add_extent_delay_real(
|
||||
|
||||
if (xfs_bmap_needs_btree(bma->ip, whichfork)) {
|
||||
error = xfs_bmap_extents_to_btree(bma->tp, bma->ip,
|
||||
bma->firstblock, bma->flist, &bma->cur, 1,
|
||||
bma->firstblock, bma->dfops, &bma->cur, 1,
|
||||
&tmp_rval, whichfork);
|
||||
rval |= tmp_rval;
|
||||
if (error)
|
||||
@@ -2123,7 +2123,7 @@ xfs_bmap_add_extent_delay_real(
|
||||
|
||||
if (xfs_bmap_needs_btree(bma->ip, whichfork)) {
|
||||
error = xfs_bmap_extents_to_btree(bma->tp, bma->ip,
|
||||
bma->firstblock, bma->flist, &bma->cur,
|
||||
bma->firstblock, bma->dfops, &bma->cur,
|
||||
1, &tmp_rval, whichfork);
|
||||
rval |= tmp_rval;
|
||||
if (error)
|
||||
@@ -2172,7 +2172,7 @@ xfs_bmap_add_extent_delay_real(
|
||||
|
||||
ASSERT(bma->cur == NULL);
|
||||
error = xfs_bmap_extents_to_btree(bma->tp, bma->ip,
|
||||
bma->firstblock, bma->flist, &bma->cur,
|
||||
bma->firstblock, bma->dfops, &bma->cur,
|
||||
da_old > 0, &tmp_logflags, whichfork);
|
||||
bma->logflags |= tmp_logflags;
|
||||
if (error)
|
||||
@@ -2214,7 +2214,7 @@ xfs_bmap_add_extent_unwritten_real(
|
||||
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_fsblock_t *first, /* pointer to firstblock variable */
|
||||
struct xfs_defer_ops *flist, /* list of extents to be freed */
|
||||
struct xfs_defer_ops *dfops, /* list of extents to be freed */
|
||||
int *logflagsp) /* inode logging flags */
|
||||
{
|
||||
xfs_btree_cur_t *cur; /* btree cursor */
|
||||
@@ -2707,7 +2707,7 @@ xfs_bmap_add_extent_unwritten_real(
|
||||
int tmp_logflags; /* partial log flag return val */
|
||||
|
||||
ASSERT(cur == NULL);
|
||||
error = xfs_bmap_extents_to_btree(tp, ip, first, flist, &cur,
|
||||
error = xfs_bmap_extents_to_btree(tp, ip, first, dfops, &cur,
|
||||
0, &tmp_logflags, XFS_DATA_FORK);
|
||||
*logflagsp |= tmp_logflags;
|
||||
if (error)
|
||||
@@ -3100,7 +3100,7 @@ xfs_bmap_add_extent_hole_real(
|
||||
|
||||
ASSERT(bma->cur == NULL);
|
||||
error = xfs_bmap_extents_to_btree(bma->tp, bma->ip,
|
||||
bma->firstblock, bma->flist, &bma->cur,
|
||||
bma->firstblock, bma->dfops, &bma->cur,
|
||||
0, &tmp_logflags, whichfork);
|
||||
bma->logflags |= tmp_logflags;
|
||||
if (error)
|
||||
@@ -3675,7 +3675,7 @@ xfs_bmap_btalloc(
|
||||
error = xfs_bmap_btalloc_nullfb(ap, &args, &blen);
|
||||
if (error)
|
||||
return error;
|
||||
} else if (ap->flist->dop_low) {
|
||||
} else if (ap->dfops->dop_low) {
|
||||
if (xfs_inode_is_filestream(ap->ip))
|
||||
args.type = XFS_ALLOCTYPE_FIRST_AG;
|
||||
else
|
||||
@@ -3708,7 +3708,7 @@ xfs_bmap_btalloc(
|
||||
* is >= the stripe unit and the allocation offset is
|
||||
* at the end of file.
|
||||
*/
|
||||
if (!ap->flist->dop_low && ap->aeof) {
|
||||
if (!ap->dfops->dop_low && ap->aeof) {
|
||||
if (!ap->offset) {
|
||||
args.alignment = stripe_align;
|
||||
atype = args.type;
|
||||
@@ -3801,7 +3801,7 @@ xfs_bmap_btalloc(
|
||||
args.minleft = 0;
|
||||
if ((error = xfs_alloc_vextent(&args)))
|
||||
return error;
|
||||
ap->flist->dop_low = true;
|
||||
ap->dfops->dop_low = true;
|
||||
}
|
||||
if (args.fsbno != NULLFSBLOCK) {
|
||||
/*
|
||||
@@ -3811,7 +3811,7 @@ xfs_bmap_btalloc(
|
||||
ASSERT(*ap->firstblock == NULLFSBLOCK ||
|
||||
XFS_FSB_TO_AGNO(mp, *ap->firstblock) ==
|
||||
XFS_FSB_TO_AGNO(mp, args.fsbno) ||
|
||||
(ap->flist->dop_low &&
|
||||
(ap->dfops->dop_low &&
|
||||
XFS_FSB_TO_AGNO(mp, *ap->firstblock) <
|
||||
XFS_FSB_TO_AGNO(mp, args.fsbno)));
|
||||
|
||||
@@ -3819,7 +3819,7 @@ xfs_bmap_btalloc(
|
||||
if (*ap->firstblock == NULLFSBLOCK)
|
||||
*ap->firstblock = args.fsbno;
|
||||
ASSERT(nullfb || fb_agno == args.agno ||
|
||||
(ap->flist->dop_low && fb_agno < args.agno));
|
||||
(ap->dfops->dop_low && fb_agno < args.agno));
|
||||
ap->length = args.len;
|
||||
ap->ip->i_d.di_nblocks += args.len;
|
||||
xfs_trans_log_inode(ap->tp, ap->ip, XFS_ILOG_CORE);
|
||||
@@ -4286,7 +4286,7 @@ xfs_bmapi_allocate(
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
if (bma->flist->dop_low)
|
||||
if (bma->dfops->dop_low)
|
||||
bma->minleft = 0;
|
||||
if (bma->cur)
|
||||
bma->cur->bc_private.b.firstblock = *bma->firstblock;
|
||||
@@ -4295,7 +4295,7 @@ xfs_bmapi_allocate(
|
||||
if ((ifp->if_flags & XFS_IFBROOT) && !bma->cur) {
|
||||
bma->cur = xfs_bmbt_init_cursor(mp, bma->tp, bma->ip, whichfork);
|
||||
bma->cur->bc_private.b.firstblock = *bma->firstblock;
|
||||
bma->cur->bc_private.b.flist = bma->flist;
|
||||
bma->cur->bc_private.b.dfops = bma->dfops;
|
||||
}
|
||||
/*
|
||||
* Bump the number of extents we've allocated
|
||||
@@ -4376,7 +4376,7 @@ xfs_bmapi_convert_unwritten(
|
||||
bma->cur = xfs_bmbt_init_cursor(bma->ip->i_mount, bma->tp,
|
||||
bma->ip, whichfork);
|
||||
bma->cur->bc_private.b.firstblock = *bma->firstblock;
|
||||
bma->cur->bc_private.b.flist = bma->flist;
|
||||
bma->cur->bc_private.b.dfops = bma->dfops;
|
||||
}
|
||||
mval->br_state = (mval->br_state == XFS_EXT_UNWRITTEN)
|
||||
? XFS_EXT_NORM : XFS_EXT_UNWRITTEN;
|
||||
@@ -4393,7 +4393,7 @@ xfs_bmapi_convert_unwritten(
|
||||
}
|
||||
|
||||
error = xfs_bmap_add_extent_unwritten_real(bma->tp, bma->ip, &bma->idx,
|
||||
&bma->cur, mval, bma->firstblock, bma->flist,
|
||||
&bma->cur, mval, bma->firstblock, bma->dfops,
|
||||
&tmp_logflags);
|
||||
/*
|
||||
* Log the inode core unconditionally in the unwritten extent conversion
|
||||
@@ -4447,7 +4447,7 @@ xfs_bmapi_write(
|
||||
xfs_extlen_t total, /* total blocks needed */
|
||||
struct xfs_bmbt_irec *mval, /* output: map values */
|
||||
int *nmap, /* i/o: mval size/count */
|
||||
struct xfs_defer_ops *flist) /* i/o: list extents to free */
|
||||
struct xfs_defer_ops *dfops) /* i/o: list extents to free */
|
||||
{
|
||||
struct xfs_mount *mp = ip->i_mount;
|
||||
struct xfs_ifork *ifp;
|
||||
@@ -4537,7 +4537,7 @@ xfs_bmapi_write(
|
||||
bma.ip = ip;
|
||||
bma.total = total;
|
||||
bma.userdata = 0;
|
||||
bma.flist = flist;
|
||||
bma.dfops = dfops;
|
||||
bma.firstblock = firstblock;
|
||||
|
||||
while (bno < end && n < *nmap) {
|
||||
@@ -4651,7 +4651,7 @@ error0:
|
||||
XFS_FSB_TO_AGNO(mp, *firstblock) ==
|
||||
XFS_FSB_TO_AGNO(mp,
|
||||
bma.cur->bc_private.b.firstblock) ||
|
||||
(flist->dop_low &&
|
||||
(dfops->dop_low &&
|
||||
XFS_FSB_TO_AGNO(mp, *firstblock) <
|
||||
XFS_FSB_TO_AGNO(mp,
|
||||
bma.cur->bc_private.b.firstblock)));
|
||||
@@ -4735,7 +4735,7 @@ xfs_bmap_del_extent(
|
||||
xfs_inode_t *ip, /* incore inode pointer */
|
||||
xfs_trans_t *tp, /* current transaction pointer */
|
||||
xfs_extnum_t *idx, /* extent number to update/delete */
|
||||
struct xfs_defer_ops *flist, /* list of extents to be freed */
|
||||
struct xfs_defer_ops *dfops, /* list of extents to be freed */
|
||||
xfs_btree_cur_t *cur, /* if null, not a btree */
|
||||
xfs_bmbt_irec_t *del, /* data to remove from extents */
|
||||
int *logflagsp, /* inode logging flags */
|
||||
@@ -5023,7 +5023,7 @@ xfs_bmap_del_extent(
|
||||
* If we need to, add to list of extents to delete.
|
||||
*/
|
||||
if (do_fx)
|
||||
xfs_bmap_add_free(mp, flist, del->br_startblock,
|
||||
xfs_bmap_add_free(mp, dfops, del->br_startblock,
|
||||
del->br_blockcount);
|
||||
/*
|
||||
* Adjust inode # blocks in the file.
|
||||
@@ -5064,7 +5064,7 @@ xfs_bunmapi(
|
||||
xfs_extnum_t nexts, /* number of extents max */
|
||||
xfs_fsblock_t *firstblock, /* first allocated block
|
||||
controls a.g. for allocs */
|
||||
struct xfs_defer_ops *flist, /* i/o: list extents to free */
|
||||
struct xfs_defer_ops *dfops, /* i/o: list extents to free */
|
||||
int *done) /* set if not done yet */
|
||||
{
|
||||
xfs_btree_cur_t *cur; /* bmap btree cursor */
|
||||
@@ -5137,7 +5137,7 @@ xfs_bunmapi(
|
||||
ASSERT(XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_BTREE);
|
||||
cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork);
|
||||
cur->bc_private.b.firstblock = *firstblock;
|
||||
cur->bc_private.b.flist = flist;
|
||||
cur->bc_private.b.dfops = dfops;
|
||||
cur->bc_private.b.flags = 0;
|
||||
} else
|
||||
cur = NULL;
|
||||
@@ -5231,7 +5231,7 @@ xfs_bunmapi(
|
||||
}
|
||||
del.br_state = XFS_EXT_UNWRITTEN;
|
||||
error = xfs_bmap_add_extent_unwritten_real(tp, ip,
|
||||
&lastx, &cur, &del, firstblock, flist,
|
||||
&lastx, &cur, &del, firstblock, dfops,
|
||||
&logflags);
|
||||
if (error)
|
||||
goto error0;
|
||||
@@ -5290,7 +5290,7 @@ xfs_bunmapi(
|
||||
lastx--;
|
||||
error = xfs_bmap_add_extent_unwritten_real(tp,
|
||||
ip, &lastx, &cur, &prev,
|
||||
firstblock, flist, &logflags);
|
||||
firstblock, dfops, &logflags);
|
||||
if (error)
|
||||
goto error0;
|
||||
goto nodelete;
|
||||
@@ -5299,7 +5299,7 @@ xfs_bunmapi(
|
||||
del.br_state = XFS_EXT_UNWRITTEN;
|
||||
error = xfs_bmap_add_extent_unwritten_real(tp,
|
||||
ip, &lastx, &cur, &del,
|
||||
firstblock, flist, &logflags);
|
||||
firstblock, dfops, &logflags);
|
||||
if (error)
|
||||
goto error0;
|
||||
goto nodelete;
|
||||
@@ -5357,7 +5357,7 @@ xfs_bunmapi(
|
||||
} else if (cur)
|
||||
cur->bc_private.b.flags &= ~XFS_BTCUR_BPRV_WASDEL;
|
||||
|
||||
error = xfs_bmap_del_extent(ip, tp, &lastx, flist, cur, &del,
|
||||
error = xfs_bmap_del_extent(ip, tp, &lastx, dfops, cur, &del,
|
||||
&tmp_logflags, whichfork);
|
||||
logflags |= tmp_logflags;
|
||||
if (error)
|
||||
@@ -5391,7 +5391,7 @@ nodelete:
|
||||
*/
|
||||
if (xfs_bmap_needs_btree(ip, whichfork)) {
|
||||
ASSERT(cur == NULL);
|
||||
error = xfs_bmap_extents_to_btree(tp, ip, firstblock, flist,
|
||||
error = xfs_bmap_extents_to_btree(tp, ip, firstblock, dfops,
|
||||
&cur, 0, &tmp_logflags, whichfork);
|
||||
logflags |= tmp_logflags;
|
||||
if (error)
|
||||
@@ -5680,7 +5680,7 @@ xfs_bmap_shift_extents(
|
||||
int *done,
|
||||
xfs_fileoff_t stop_fsb,
|
||||
xfs_fsblock_t *firstblock,
|
||||
struct xfs_defer_ops *flist,
|
||||
struct xfs_defer_ops *dfops,
|
||||
enum shift_direction direction,
|
||||
int num_exts)
|
||||
{
|
||||
@@ -5725,7 +5725,7 @@ xfs_bmap_shift_extents(
|
||||
if (ifp->if_flags & XFS_IFBROOT) {
|
||||
cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork);
|
||||
cur->bc_private.b.firstblock = *firstblock;
|
||||
cur->bc_private.b.flist = flist;
|
||||
cur->bc_private.b.dfops = dfops;
|
||||
cur->bc_private.b.flags = 0;
|
||||
}
|
||||
|
||||
@@ -5834,7 +5834,7 @@ xfs_bmap_split_extent_at(
|
||||
struct xfs_inode *ip,
|
||||
xfs_fileoff_t split_fsb,
|
||||
xfs_fsblock_t *firstfsb,
|
||||
struct xfs_defer_ops *free_list)
|
||||
struct xfs_defer_ops *dfops)
|
||||
{
|
||||
int whichfork = XFS_DATA_FORK;
|
||||
struct xfs_btree_cur *cur = NULL;
|
||||
@@ -5896,7 +5896,7 @@ xfs_bmap_split_extent_at(
|
||||
if (ifp->if_flags & XFS_IFBROOT) {
|
||||
cur = xfs_bmbt_init_cursor(mp, tp, ip, whichfork);
|
||||
cur->bc_private.b.firstblock = *firstfsb;
|
||||
cur->bc_private.b.flist = free_list;
|
||||
cur->bc_private.b.dfops = dfops;
|
||||
cur->bc_private.b.flags = 0;
|
||||
error = xfs_bmbt_lookup_eq(cur, got.br_startoff,
|
||||
got.br_startblock,
|
||||
@@ -5949,7 +5949,7 @@ xfs_bmap_split_extent_at(
|
||||
int tmp_logflags; /* partial log flag return val */
|
||||
|
||||
ASSERT(cur == NULL);
|
||||
error = xfs_bmap_extents_to_btree(tp, ip, firstfsb, free_list,
|
||||
error = xfs_bmap_extents_to_btree(tp, ip, firstfsb, dfops,
|
||||
&cur, 0, &tmp_logflags, whichfork);
|
||||
logflags |= tmp_logflags;
|
||||
}
|
||||
@@ -5973,7 +5973,7 @@ xfs_bmap_split_extent(
|
||||
{
|
||||
struct xfs_mount *mp = ip->i_mount;
|
||||
struct xfs_trans *tp;
|
||||
struct xfs_defer_ops free_list;
|
||||
struct xfs_defer_ops dfops;
|
||||
xfs_fsblock_t firstfsb;
|
||||
int error;
|
||||
|
||||
@@ -5985,21 +5985,21 @@ xfs_bmap_split_extent(
|
||||
xfs_ilock(ip, XFS_ILOCK_EXCL);
|
||||
xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
|
||||
|
||||
xfs_defer_init(&free_list, &firstfsb);
|
||||
xfs_defer_init(&dfops, &firstfsb);
|
||||
|
||||
error = xfs_bmap_split_extent_at(tp, ip, split_fsb,
|
||||
&firstfsb, &free_list);
|
||||
&firstfsb, &dfops);
|
||||
if (error)
|
||||
goto out;
|
||||
|
||||
error = xfs_defer_finish(&tp, &free_list, NULL);
|
||||
error = xfs_defer_finish(&tp, &dfops, NULL);
|
||||
if (error)
|
||||
goto out;
|
||||
|
||||
return xfs_trans_commit(tp);
|
||||
|
||||
out:
|
||||
xfs_defer_cancel(&free_list);
|
||||
xfs_defer_cancel(&dfops);
|
||||
xfs_trans_cancel(tp);
|
||||
return error;
|
||||
}
|
||||
|
@@ -32,7 +32,7 @@ extern kmem_zone_t *xfs_bmap_free_item_zone;
|
||||
*/
|
||||
struct xfs_bmalloca {
|
||||
xfs_fsblock_t *firstblock; /* i/o first block allocated */
|
||||
struct xfs_defer_ops *flist; /* bmap freelist */
|
||||
struct xfs_defer_ops *dfops; /* bmap freelist */
|
||||
struct xfs_trans *tp; /* transaction pointer */
|
||||
struct xfs_inode *ip; /* incore inode pointer */
|
||||
struct xfs_bmbt_irec prev; /* extent before the new one */
|
||||
@@ -164,7 +164,7 @@ void xfs_bmap_trace_exlist(struct xfs_inode *ip, xfs_extnum_t cnt,
|
||||
|
||||
int xfs_bmap_add_attrfork(struct xfs_inode *ip, int size, int rsvd);
|
||||
void xfs_bmap_local_to_extents_empty(struct xfs_inode *ip, int whichfork);
|
||||
void xfs_bmap_add_free(struct xfs_mount *mp, struct xfs_defer_ops *flist,
|
||||
void xfs_bmap_add_free(struct xfs_mount *mp, struct xfs_defer_ops *dfops,
|
||||
xfs_fsblock_t bno, xfs_filblks_t len);
|
||||
void xfs_bmap_compute_maxlevels(struct xfs_mount *mp, int whichfork);
|
||||
int xfs_bmap_first_unused(struct xfs_trans *tp, struct xfs_inode *ip,
|
||||
@@ -186,18 +186,18 @@ int xfs_bmapi_write(struct xfs_trans *tp, struct xfs_inode *ip,
|
||||
xfs_fileoff_t bno, xfs_filblks_t len, int flags,
|
||||
xfs_fsblock_t *firstblock, xfs_extlen_t total,
|
||||
struct xfs_bmbt_irec *mval, int *nmap,
|
||||
struct xfs_defer_ops *flist);
|
||||
struct xfs_defer_ops *dfops);
|
||||
int xfs_bunmapi(struct xfs_trans *tp, struct xfs_inode *ip,
|
||||
xfs_fileoff_t bno, xfs_filblks_t len, int flags,
|
||||
xfs_extnum_t nexts, xfs_fsblock_t *firstblock,
|
||||
struct xfs_defer_ops *flist, int *done);
|
||||
struct xfs_defer_ops *dfops, int *done);
|
||||
int xfs_check_nostate_extents(struct xfs_ifork *ifp, xfs_extnum_t idx,
|
||||
xfs_extnum_t num);
|
||||
uint xfs_default_attroffset(struct xfs_inode *ip);
|
||||
int xfs_bmap_shift_extents(struct xfs_trans *tp, struct xfs_inode *ip,
|
||||
xfs_fileoff_t *next_fsb, xfs_fileoff_t offset_shift_fsb,
|
||||
int *done, xfs_fileoff_t stop_fsb, xfs_fsblock_t *firstblock,
|
||||
struct xfs_defer_ops *flist, enum shift_direction direction,
|
||||
struct xfs_defer_ops *dfops, enum shift_direction direction,
|
||||
int num_exts);
|
||||
int xfs_bmap_split_extent(struct xfs_inode *ip, xfs_fileoff_t split_offset);
|
||||
|
||||
|
@@ -407,11 +407,11 @@ xfs_bmbt_dup_cursor(
|
||||
cur->bc_private.b.ip, cur->bc_private.b.whichfork);
|
||||
|
||||
/*
|
||||
* Copy the firstblock, flist, and flags values,
|
||||
* Copy the firstblock, dfops, and flags values,
|
||||
* since init cursor doesn't get them.
|
||||
*/
|
||||
new->bc_private.b.firstblock = cur->bc_private.b.firstblock;
|
||||
new->bc_private.b.flist = cur->bc_private.b.flist;
|
||||
new->bc_private.b.dfops = cur->bc_private.b.dfops;
|
||||
new->bc_private.b.flags = cur->bc_private.b.flags;
|
||||
|
||||
return new;
|
||||
@@ -424,7 +424,7 @@ xfs_bmbt_update_cursor(
|
||||
{
|
||||
ASSERT((dst->bc_private.b.firstblock != NULLFSBLOCK) ||
|
||||
(dst->bc_private.b.ip->i_d.di_flags & XFS_DIFLAG_REALTIME));
|
||||
ASSERT(dst->bc_private.b.flist == src->bc_private.b.flist);
|
||||
ASSERT(dst->bc_private.b.dfops == src->bc_private.b.dfops);
|
||||
|
||||
dst->bc_private.b.allocated += src->bc_private.b.allocated;
|
||||
dst->bc_private.b.firstblock = src->bc_private.b.firstblock;
|
||||
@@ -463,7 +463,7 @@ xfs_bmbt_alloc_block(
|
||||
* block allocation here and corrupt the filesystem.
|
||||
*/
|
||||
args.minleft = args.tp->t_blk_res;
|
||||
} else if (cur->bc_private.b.flist->dop_low) {
|
||||
} else if (cur->bc_private.b.dfops->dop_low) {
|
||||
args.type = XFS_ALLOCTYPE_START_BNO;
|
||||
} else {
|
||||
args.type = XFS_ALLOCTYPE_NEAR_BNO;
|
||||
@@ -491,7 +491,7 @@ xfs_bmbt_alloc_block(
|
||||
error = xfs_alloc_vextent(&args);
|
||||
if (error)
|
||||
goto error0;
|
||||
cur->bc_private.b.flist->dop_low = true;
|
||||
cur->bc_private.b.dfops->dop_low = true;
|
||||
}
|
||||
if (args.fsbno == NULLFSBLOCK) {
|
||||
XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
||||
@@ -527,7 +527,7 @@ xfs_bmbt_free_block(
|
||||
struct xfs_trans *tp = cur->bc_tp;
|
||||
xfs_fsblock_t fsbno = XFS_DADDR_TO_FSB(mp, XFS_BUF_ADDR(bp));
|
||||
|
||||
xfs_bmap_add_free(mp, cur->bc_private.b.flist, fsbno, 1);
|
||||
xfs_bmap_add_free(mp, cur->bc_private.b.dfops, fsbno, 1);
|
||||
ip->i_d.di_nblocks--;
|
||||
|
||||
xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
|
||||
@@ -793,7 +793,7 @@ xfs_bmbt_init_cursor(
|
||||
cur->bc_private.b.forksize = XFS_IFORK_SIZE(ip, whichfork);
|
||||
cur->bc_private.b.ip = ip;
|
||||
cur->bc_private.b.firstblock = NULLFSBLOCK;
|
||||
cur->bc_private.b.flist = NULL;
|
||||
cur->bc_private.b.dfops = NULL;
|
||||
cur->bc_private.b.allocated = 0;
|
||||
cur->bc_private.b.flags = 0;
|
||||
cur->bc_private.b.whichfork = whichfork;
|
||||
|
@@ -255,12 +255,12 @@ typedef struct xfs_btree_cur
|
||||
union {
|
||||
struct { /* needed for BNO, CNT, INO */
|
||||
struct xfs_buf *agbp; /* agf/agi buffer pointer */
|
||||
struct xfs_defer_ops *flist; /* deferred updates */
|
||||
struct xfs_defer_ops *dfops; /* deferred updates */
|
||||
xfs_agnumber_t agno; /* ag number */
|
||||
} a;
|
||||
struct { /* needed for BMAP */
|
||||
struct xfs_inode *ip; /* pointer to our inode */
|
||||
struct xfs_defer_ops *flist; /* deferred updates */
|
||||
struct xfs_defer_ops *dfops; /* deferred updates */
|
||||
xfs_fsblock_t firstblock; /* 1st blk allocated */
|
||||
int allocated; /* count of alloced */
|
||||
short forksize; /* fork's inode space */
|
||||
|
@@ -2029,7 +2029,7 @@ xfs_da_grow_inode_int(
|
||||
error = xfs_bmapi_write(tp, dp, *bno, count,
|
||||
xfs_bmapi_aflag(w)|XFS_BMAPI_METADATA|XFS_BMAPI_CONTIG,
|
||||
args->firstblock, args->total, &map, &nmap,
|
||||
args->flist);
|
||||
args->dfops);
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
@@ -2052,7 +2052,7 @@ xfs_da_grow_inode_int(
|
||||
error = xfs_bmapi_write(tp, dp, b, c,
|
||||
xfs_bmapi_aflag(w)|XFS_BMAPI_METADATA,
|
||||
args->firstblock, args->total,
|
||||
&mapp[mapi], &nmap, args->flist);
|
||||
&mapp[mapi], &nmap, args->dfops);
|
||||
if (error)
|
||||
goto out_free_map;
|
||||
if (nmap < 1)
|
||||
@@ -2362,7 +2362,7 @@ xfs_da_shrink_inode(
|
||||
*/
|
||||
error = xfs_bunmapi(tp, dp, dead_blkno, count,
|
||||
xfs_bmapi_aflag(w), 0, args->firstblock,
|
||||
args->flist, &done);
|
||||
args->dfops, &done);
|
||||
if (error == -ENOSPC) {
|
||||
if (w != XFS_DATA_FORK)
|
||||
break;
|
||||
|
@@ -70,7 +70,7 @@ typedef struct xfs_da_args {
|
||||
xfs_ino_t inumber; /* input/output inode number */
|
||||
struct xfs_inode *dp; /* directory inode to manipulate */
|
||||
xfs_fsblock_t *firstblock; /* ptr to firstblock for bmap calls */
|
||||
struct xfs_defer_ops *flist; /* ptr to freelist for bmap_finish */
|
||||
struct xfs_defer_ops *dfops; /* ptr to freelist for bmap_finish */
|
||||
struct xfs_trans *trans; /* current trans (changes over time) */
|
||||
xfs_extlen_t total; /* total blocks needed, for 1st bmap */
|
||||
int whichfork; /* data or attribute fork */
|
||||
|
@@ -260,7 +260,7 @@ xfs_dir_createname(
|
||||
struct xfs_name *name,
|
||||
xfs_ino_t inum, /* new entry inode number */
|
||||
xfs_fsblock_t *first, /* bmap's firstblock */
|
||||
struct xfs_defer_ops *flist, /* bmap's freeblock list */
|
||||
struct xfs_defer_ops *dfops, /* bmap's freeblock list */
|
||||
xfs_extlen_t total) /* bmap's total block count */
|
||||
{
|
||||
struct xfs_da_args *args;
|
||||
@@ -287,7 +287,7 @@ xfs_dir_createname(
|
||||
args->inumber = inum;
|
||||
args->dp = dp;
|
||||
args->firstblock = first;
|
||||
args->flist = flist;
|
||||
args->dfops = dfops;
|
||||
args->total = total;
|
||||
args->whichfork = XFS_DATA_FORK;
|
||||
args->trans = tp;
|
||||
@@ -437,7 +437,7 @@ xfs_dir_removename(
|
||||
struct xfs_name *name,
|
||||
xfs_ino_t ino,
|
||||
xfs_fsblock_t *first, /* bmap's firstblock */
|
||||
struct xfs_defer_ops *flist, /* bmap's freeblock list */
|
||||
struct xfs_defer_ops *dfops, /* bmap's freeblock list */
|
||||
xfs_extlen_t total) /* bmap's total block count */
|
||||
{
|
||||
struct xfs_da_args *args;
|
||||
@@ -459,7 +459,7 @@ xfs_dir_removename(
|
||||
args->inumber = ino;
|
||||
args->dp = dp;
|
||||
args->firstblock = first;
|
||||
args->flist = flist;
|
||||
args->dfops = dfops;
|
||||
args->total = total;
|
||||
args->whichfork = XFS_DATA_FORK;
|
||||
args->trans = tp;
|
||||
@@ -499,7 +499,7 @@ xfs_dir_replace(
|
||||
struct xfs_name *name, /* name of entry to replace */
|
||||
xfs_ino_t inum, /* new inode number */
|
||||
xfs_fsblock_t *first, /* bmap's firstblock */
|
||||
struct xfs_defer_ops *flist, /* bmap's freeblock list */
|
||||
struct xfs_defer_ops *dfops, /* bmap's freeblock list */
|
||||
xfs_extlen_t total) /* bmap's total block count */
|
||||
{
|
||||
struct xfs_da_args *args;
|
||||
@@ -524,7 +524,7 @@ xfs_dir_replace(
|
||||
args->inumber = inum;
|
||||
args->dp = dp;
|
||||
args->firstblock = first;
|
||||
args->flist = flist;
|
||||
args->dfops = dfops;
|
||||
args->total = total;
|
||||
args->whichfork = XFS_DATA_FORK;
|
||||
args->trans = tp;
|
||||
@@ -681,7 +681,7 @@ xfs_dir2_shrink_inode(
|
||||
|
||||
/* Unmap the fsblock(s). */
|
||||
error = xfs_bunmapi(tp, dp, da, args->geo->fsbcount, 0, 0,
|
||||
args->firstblock, args->flist, &done);
|
||||
args->firstblock, args->dfops, &done);
|
||||
if (error) {
|
||||
/*
|
||||
* ENOSPC actually can happen if we're in a removename with no
|
||||
|
@@ -129,18 +129,18 @@ extern int xfs_dir_init(struct xfs_trans *tp, struct xfs_inode *dp,
|
||||
extern int xfs_dir_createname(struct xfs_trans *tp, struct xfs_inode *dp,
|
||||
struct xfs_name *name, xfs_ino_t inum,
|
||||
xfs_fsblock_t *first,
|
||||
struct xfs_defer_ops *flist, xfs_extlen_t tot);
|
||||
struct xfs_defer_ops *dfops, xfs_extlen_t tot);
|
||||
extern int xfs_dir_lookup(struct xfs_trans *tp, struct xfs_inode *dp,
|
||||
struct xfs_name *name, xfs_ino_t *inum,
|
||||
struct xfs_name *ci_name);
|
||||
extern int xfs_dir_removename(struct xfs_trans *tp, struct xfs_inode *dp,
|
||||
struct xfs_name *name, xfs_ino_t ino,
|
||||
xfs_fsblock_t *first,
|
||||
struct xfs_defer_ops *flist, xfs_extlen_t tot);
|
||||
struct xfs_defer_ops *dfops, xfs_extlen_t tot);
|
||||
extern int xfs_dir_replace(struct xfs_trans *tp, struct xfs_inode *dp,
|
||||
struct xfs_name *name, xfs_ino_t inum,
|
||||
xfs_fsblock_t *first,
|
||||
struct xfs_defer_ops *flist, xfs_extlen_t tot);
|
||||
struct xfs_defer_ops *dfops, xfs_extlen_t tot);
|
||||
extern int xfs_dir_canenter(struct xfs_trans *tp, struct xfs_inode *dp,
|
||||
struct xfs_name *name);
|
||||
|
||||
|
@@ -1818,7 +1818,7 @@ xfs_difree_inode_chunk(
|
||||
struct xfs_mount *mp,
|
||||
xfs_agnumber_t agno,
|
||||
struct xfs_inobt_rec_incore *rec,
|
||||
struct xfs_defer_ops *flist)
|
||||
struct xfs_defer_ops *dfops)
|
||||
{
|
||||
xfs_agblock_t sagbno = XFS_AGINO_TO_AGBNO(mp, rec->ir_startino);
|
||||
int startidx, endidx;
|
||||
@@ -1829,7 +1829,7 @@ xfs_difree_inode_chunk(
|
||||
|
||||
if (!xfs_inobt_issparse(rec->ir_holemask)) {
|
||||
/* not sparse, calculate extent info directly */
|
||||
xfs_bmap_add_free(mp, flist, XFS_AGB_TO_FSB(mp, agno, sagbno),
|
||||
xfs_bmap_add_free(mp, dfops, XFS_AGB_TO_FSB(mp, agno, sagbno),
|
||||
mp->m_ialloc_blks);
|
||||
return;
|
||||
}
|
||||
@@ -1873,7 +1873,7 @@ xfs_difree_inode_chunk(
|
||||
|
||||
ASSERT(agbno % mp->m_sb.sb_spino_align == 0);
|
||||
ASSERT(contigblk % mp->m_sb.sb_spino_align == 0);
|
||||
xfs_bmap_add_free(mp, flist, XFS_AGB_TO_FSB(mp, agno, agbno),
|
||||
xfs_bmap_add_free(mp, dfops, XFS_AGB_TO_FSB(mp, agno, agbno),
|
||||
contigblk);
|
||||
|
||||
/* reset range to current bit and carry on... */
|
||||
@@ -1890,7 +1890,7 @@ xfs_difree_inobt(
|
||||
struct xfs_trans *tp,
|
||||
struct xfs_buf *agbp,
|
||||
xfs_agino_t agino,
|
||||
struct xfs_defer_ops *flist,
|
||||
struct xfs_defer_ops *dfops,
|
||||
struct xfs_icluster *xic,
|
||||
struct xfs_inobt_rec_incore *orec)
|
||||
{
|
||||
@@ -1977,7 +1977,7 @@ xfs_difree_inobt(
|
||||
goto error0;
|
||||
}
|
||||
|
||||
xfs_difree_inode_chunk(mp, agno, &rec, flist);
|
||||
xfs_difree_inode_chunk(mp, agno, &rec, dfops);
|
||||
} else {
|
||||
xic->deleted = 0;
|
||||
|
||||
@@ -2122,7 +2122,7 @@ int
|
||||
xfs_difree(
|
||||
struct xfs_trans *tp, /* transaction pointer */
|
||||
xfs_ino_t inode, /* inode to be freed */
|
||||
struct xfs_defer_ops *flist, /* extents to free */
|
||||
struct xfs_defer_ops *dfops, /* extents to free */
|
||||
struct xfs_icluster *xic) /* cluster info if deleted */
|
||||
{
|
||||
/* REFERENCED */
|
||||
@@ -2174,7 +2174,7 @@ xfs_difree(
|
||||
/*
|
||||
* Fix up the inode allocation btree.
|
||||
*/
|
||||
error = xfs_difree_inobt(mp, tp, agbp, agino, flist, xic, &rec);
|
||||
error = xfs_difree_inobt(mp, tp, agbp, agino, dfops, xic, &rec);
|
||||
if (error)
|
||||
goto error0;
|
||||
|
||||
|
@@ -95,7 +95,7 @@ int /* error */
|
||||
xfs_difree(
|
||||
struct xfs_trans *tp, /* transaction pointer */
|
||||
xfs_ino_t inode, /* inode to be freed */
|
||||
struct xfs_defer_ops *flist, /* extents to free */
|
||||
struct xfs_defer_ops *dfops, /* extents to free */
|
||||
struct xfs_icluster *ifree); /* cluster info if deleted */
|
||||
|
||||
/*
|
||||
|
مرجع در شماره جدید
Block a user