From 6f530e9a80f37bc9df6b64a15060e3bd3052f68d Mon Sep 17 00:00:00 2001 From: "Darrick J. Wong" Date: Wed, 10 Aug 2016 11:29:41 +1000 Subject: [PATCH] xfs: change xfs_bmap_{finish,cancel,init,free} -> xfs_defer_* Source kernel commit: 310a75a3c6c747857ad53dd25f2ede3de13612c9 Drop the compatibility shims that we were using to integrate the new deferred operation mechanism into the existing code. No new code. Signed-off-by: Darrick J. Wong Reviewed-by: Brian Foster Signed-off-by: Dave Chinner --- include/libxfs.h | 5 +-- libxfs/init.c | 3 +- libxfs/libxfs_api_defs.h | 4 +++ libxfs/util.c | 8 ++--- libxfs/xfs_attr.c | 58 +++++++++++++++++----------------- libxfs/xfs_attr_remote.c | 14 ++++----- libxfs/xfs_bmap.c | 46 +++++++++++++-------------- libxfs/xfs_bmap.h | 18 +++++------ libxfs/xfs_btree.h | 5 +-- libxfs/xfs_da_btree.h | 4 +-- libxfs/xfs_defer.h | 7 ----- libxfs/xfs_dir2.c | 6 ++-- libxfs/xfs_dir2.h | 8 ++--- libxfs/xfs_ialloc.c | 6 ++-- libxfs/xfs_ialloc.h | 2 +- libxfs/xfs_trans_resv.c | 4 +-- mkfs/proto.c | 30 +++++++++--------- repair/phase6.c | 68 ++++++++++++++++++++-------------------- 18 files changed, 146 insertions(+), 150 deletions(-) diff --git a/include/libxfs.h b/include/libxfs.h index 71e758b45..9af409112 100644 --- a/include/libxfs.h +++ b/include/libxfs.h @@ -164,11 +164,8 @@ extern unsigned int libxfs_log2_roundup(unsigned int i); extern int libxfs_alloc_file_space (struct xfs_inode *, xfs_off_t, xfs_off_t, int, int); -#define libxfs_bmap_finish xfs_defer_finish -#define libxfs_bmap_cancel xfs_defer_cancel -#define xfs_bmap_free_t struct xfs_defer_ops -extern void libxfs_fs_repair_cmn_err(int, struct xfs_mount *, char *, ...); +extern void libxfs_fs_repair_cmn_err(int, struct xfs_mount *, char *, ...); extern void libxfs_fs_cmn_err(int, struct xfs_mount *, char *, ...); /* XXX: this is messy and needs fixing */ diff --git a/libxfs/init.c b/libxfs/init.c index 697d30397..8df29e783 100644 --- a/libxfs/init.c +++ b/libxfs/init.c @@ -417,7 +417,8 @@ manage_zones(int release) xfs_btree_cur_zone = kmem_zone_init( sizeof(xfs_btree_cur_t), "xfs_btree_cur"); xfs_bmap_free_item_zone = kmem_zone_init( - sizeof(struct xfs_bmap_free_item), "xfs_bmap_free_item"); + sizeof(struct xfs_extent_free_item), + "xfs_bmap_free_item"); xfs_log_item_desc_zone = kmem_zone_init( sizeof(struct xfs_log_item_desc), "xfs_log_item_desc"); xfs_dir_startup(); diff --git a/libxfs/libxfs_api_defs.h b/libxfs/libxfs_api_defs.h index e283137b0..8d2a53c0c 100644 --- a/libxfs/libxfs_api_defs.h +++ b/libxfs/libxfs_api_defs.h @@ -72,6 +72,10 @@ #define xfs_rtfree_extent libxfs_rtfree_extent #define xfs_zero_extent libxfs_zero_extent +#define xfs_defer_init libxfs_defer_init +#define xfs_defer_finish libxfs_defer_finish +#define xfs_defer_cancel libxfs_defer_cancel + #define xfs_da_brelse libxfs_da_brelse #define xfs_da_hashname libxfs_da_hashname #define xfs_da_shrink_inode libxfs_da_shrink_inode diff --git a/libxfs/util.c b/libxfs/util.c index ecfe54757..366567acd 100644 --- a/libxfs/util.c +++ b/libxfs/util.c @@ -492,7 +492,7 @@ libxfs_alloc_file_space( xfs_filblks_t allocated_fsb; xfs_filblks_t allocatesize_fsb; xfs_fsblock_t firstfsb; - xfs_bmap_free_t free_list; + struct xfs_defer_ops free_list; xfs_bmbt_irec_t *imapp; xfs_bmbt_irec_t imaps[1]; int reccount; @@ -530,7 +530,7 @@ libxfs_alloc_file_space( } xfs_trans_ijoin(tp, ip, 0); - xfs_bmap_init(&free_list, &firstfsb); + xfs_defer_init(&free_list, &firstfsb); error = xfs_bmapi_write(tp, ip, startoffset_fsb, allocatesize_fsb, xfs_bmapi_flags, &firstfsb, 0, imapp, &reccount, &free_list); @@ -539,7 +539,7 @@ libxfs_alloc_file_space( goto error0; /* complete the transaction */ - error = xfs_bmap_finish(&tp, &free_list, ip); + error = xfs_defer_finish(&tp, &free_list, ip); if (error) goto error0; @@ -557,7 +557,7 @@ libxfs_alloc_file_space( return error; error0: /* Cancel bmap, cancel trans */ - xfs_bmap_cancel(&free_list); + xfs_defer_cancel(&free_list); xfs_trans_cancel(tp); return error; } diff --git a/libxfs/xfs_attr.c b/libxfs/xfs_attr.c index 7bc9be1a6..791886a30 100644 --- a/libxfs/xfs_attr.c +++ b/libxfs/xfs_attr.c @@ -197,7 +197,7 @@ xfs_attr_set( { struct xfs_mount *mp = dp->i_mount; struct xfs_da_args args; - struct xfs_bmap_free flist; + struct xfs_defer_ops flist; struct xfs_trans_res tres; xfs_fsblock_t firstblock; int rsvd = (flags & ATTR_ROOT) != 0; @@ -310,13 +310,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_bmap_init(args.flist, args.firstblock); + xfs_defer_init(args.flist, args.firstblock); error = xfs_attr_shortform_to_leaf(&args); if (!error) - error = xfs_bmap_finish(&args.trans, args.flist, dp); + error = xfs_defer_finish(&args.trans, args.flist, dp); if (error) { args.trans = NULL; - xfs_bmap_cancel(&flist); + xfs_defer_cancel(&flist); goto out; } @@ -376,7 +376,7 @@ xfs_attr_remove( { struct xfs_mount *mp = dp->i_mount; struct xfs_da_args args; - struct xfs_bmap_free flist; + struct xfs_defer_ops flist; xfs_fsblock_t firstblock; int error; @@ -578,13 +578,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_bmap_init(args->flist, args->firstblock); + xfs_defer_init(args->flist, args->firstblock); error = xfs_attr3_leaf_to_node(args); if (!error) - error = xfs_bmap_finish(&args->trans, args->flist, dp); + error = xfs_defer_finish(&args->trans, args->flist, dp); if (error) { args->trans = NULL; - xfs_bmap_cancel(args->flist); + xfs_defer_cancel(args->flist); return error; } @@ -668,15 +668,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_bmap_init(args->flist, args->firstblock); + xfs_defer_init(args->flist, args->firstblock); error = xfs_attr3_leaf_to_shortform(bp, args, forkoff); /* bp is gone due to xfs_da_shrink_inode */ if (!error) - error = xfs_bmap_finish(&args->trans, + error = xfs_defer_finish(&args->trans, args->flist, dp); if (error) { args->trans = NULL; - xfs_bmap_cancel(args->flist); + xfs_defer_cancel(args->flist); return error; } } @@ -731,14 +731,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_bmap_init(args->flist, args->firstblock); + xfs_defer_init(args->flist, args->firstblock); error = xfs_attr3_leaf_to_shortform(bp, args, forkoff); /* bp is gone due to xfs_da_shrink_inode */ if (!error) - error = xfs_bmap_finish(&args->trans, args->flist, dp); + error = xfs_defer_finish(&args->trans, args->flist, dp); if (error) { args->trans = NULL; - xfs_bmap_cancel(args->flist); + xfs_defer_cancel(args->flist); return error; } } @@ -857,14 +857,14 @@ restart: */ xfs_da_state_free(state); state = NULL; - xfs_bmap_init(args->flist, args->firstblock); + xfs_defer_init(args->flist, args->firstblock); error = xfs_attr3_leaf_to_node(args); if (!error) - error = xfs_bmap_finish(&args->trans, + error = xfs_defer_finish(&args->trans, args->flist, dp); if (error) { args->trans = NULL; - xfs_bmap_cancel(args->flist); + xfs_defer_cancel(args->flist); goto out; } @@ -885,13 +885,13 @@ restart: * in the index/blkno/rmtblkno/rmtblkcnt fields and * in the index2/blkno2/rmtblkno2/rmtblkcnt2 fields. */ - xfs_bmap_init(args->flist, args->firstblock); + xfs_defer_init(args->flist, args->firstblock); error = xfs_da3_split(state); if (!error) - error = xfs_bmap_finish(&args->trans, args->flist, dp); + error = xfs_defer_finish(&args->trans, args->flist, dp); if (error) { args->trans = NULL; - xfs_bmap_cancel(args->flist); + xfs_defer_cancel(args->flist); goto out; } } else { @@ -984,14 +984,14 @@ restart: * Check to see if the tree needs to be collapsed. */ if (retval && (state->path.active > 1)) { - xfs_bmap_init(args->flist, args->firstblock); + xfs_defer_init(args->flist, args->firstblock); error = xfs_da3_join(state); if (!error) - error = xfs_bmap_finish(&args->trans, + error = xfs_defer_finish(&args->trans, args->flist, dp); if (error) { args->trans = NULL; - xfs_bmap_cancel(args->flist); + xfs_defer_cancel(args->flist); goto out; } } @@ -1107,13 +1107,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_bmap_init(args->flist, args->firstblock); + xfs_defer_init(args->flist, args->firstblock); error = xfs_da3_join(state); if (!error) - error = xfs_bmap_finish(&args->trans, args->flist, dp); + error = xfs_defer_finish(&args->trans, args->flist, dp); if (error) { args->trans = NULL; - xfs_bmap_cancel(args->flist); + xfs_defer_cancel(args->flist); goto out; } /* @@ -1140,15 +1140,15 @@ xfs_attr_node_removename(xfs_da_args_t *args) goto out; if ((forkoff = xfs_attr_shortform_allfit(bp, dp))) { - xfs_bmap_init(args->flist, args->firstblock); + xfs_defer_init(args->flist, args->firstblock); error = xfs_attr3_leaf_to_shortform(bp, args, forkoff); /* bp is gone due to xfs_da_shrink_inode */ if (!error) - error = xfs_bmap_finish(&args->trans, + error = xfs_defer_finish(&args->trans, args->flist, dp); if (error) { args->trans = NULL; - xfs_bmap_cancel(args->flist); + xfs_defer_cancel(args->flist); goto out; } } else diff --git a/libxfs/xfs_attr_remote.c b/libxfs/xfs_attr_remote.c index ed4cc9451..dc545f04a 100644 --- a/libxfs/xfs_attr_remote.c +++ b/libxfs/xfs_attr_remote.c @@ -456,16 +456,16 @@ xfs_attr_rmtval_set( * extent and then crash then the block may not contain the * correct metadata after log recovery occurs. */ - xfs_bmap_init(args->flist, args->firstblock); + xfs_defer_init(args->flist, 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); if (!error) - error = xfs_bmap_finish(&args->trans, args->flist, dp); + error = xfs_defer_finish(&args->trans, args->flist, dp); if (error) { args->trans = NULL; - xfs_bmap_cancel(args->flist); + xfs_defer_cancel(args->flist); return error; } @@ -499,7 +499,7 @@ xfs_attr_rmtval_set( ASSERT(blkcnt > 0); - xfs_bmap_init(args->flist, args->firstblock); + xfs_defer_init(args->flist, args->firstblock); nmap = 1; error = xfs_bmapi_read(dp, (xfs_fileoff_t)lblkno, blkcnt, &map, &nmap, @@ -599,16 +599,16 @@ xfs_attr_rmtval_remove( blkcnt = args->rmtblkcnt; done = 0; while (!done) { - xfs_bmap_init(args->flist, args->firstblock); + xfs_defer_init(args->flist, args->firstblock); error = xfs_bunmapi(args->trans, args->dp, lblkno, blkcnt, XFS_BMAPI_ATTRFORK, 1, args->firstblock, args->flist, &done); if (!error) - error = xfs_bmap_finish(&args->trans, args->flist, + error = xfs_defer_finish(&args->trans, args->flist, args->dp); if (error) { args->trans = NULL; - xfs_bmap_cancel(args->flist); + xfs_defer_cancel(args->flist); return error; } diff --git a/libxfs/xfs_bmap.c b/libxfs/xfs_bmap.c index 5d9eec655..82f91ca75 100644 --- a/libxfs/xfs_bmap.c +++ b/libxfs/xfs_bmap.c @@ -564,11 +564,11 @@ xfs_bmap_validate_ret( void xfs_bmap_add_free( 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_filblks_t len) /* length of extent */ { - struct xfs_bmap_free_item *new; /* new element */ + struct xfs_extent_free_item *new; /* new element */ #ifdef DEBUG xfs_agnumber_t agno; xfs_agblock_t agbno; @@ -586,9 +586,9 @@ xfs_bmap_add_free( #endif ASSERT(xfs_bmap_free_item_zone != NULL); 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); } /* @@ -664,7 +664,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 */ - 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 */ int wasdel, /* converting a delayed alloc */ int *logflagsp, /* inode logging flags */ @@ -932,7 +932,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 */ - 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 */ { xfs_btree_cur_t *cur; /* btree cursor */ @@ -975,7 +975,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 */ - 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 */ { xfs_btree_cur_t *cur; /* bmap btree cursor */ @@ -1010,7 +1010,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 */ - 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 */ { xfs_da_args_t dargs; /* args for dir/attr code */ @@ -1051,7 +1051,7 @@ xfs_bmap_add_attrfork( int rsvd) /* xact may use reserved blks */ { 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_trans_t *tp; /* transaction pointer */ int blks; /* space reservation */ @@ -1117,7 +1117,7 @@ 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_bmap_init(&flist, &firstblock); + xfs_defer_init(&flist, &firstblock); switch (ip->i_d.di_format) { case XFS_DINODE_FMT_LOCAL: error = xfs_bmap_add_attrfork_local(tp, ip, &firstblock, &flist, @@ -1157,7 +1157,7 @@ xfs_bmap_add_attrfork( xfs_log_sb(tp); } - error = xfs_bmap_finish(&tp, &flist, NULL); + error = xfs_defer_finish(&tp, &flist, NULL); if (error) goto bmap_cancel; error = xfs_trans_commit(tp); @@ -1165,7 +1165,7 @@ xfs_bmap_add_attrfork( return error; bmap_cancel: - xfs_bmap_cancel(&flist); + xfs_defer_cancel(&flist); trans_cancel: xfs_trans_cancel(tp); xfs_iunlock(ip, XFS_ILOCK_EXCL); @@ -2206,7 +2206,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 */ - 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 */ { xfs_btree_cur_t *cur; /* btree cursor */ @@ -4439,7 +4439,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_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_ifork *ifp; @@ -4727,7 +4727,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 */ - 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_bmbt_irec_t *del, /* data to remove from extents */ int *logflagsp, /* inode logging flags */ @@ -5056,7 +5056,7 @@ xfs_bunmapi( xfs_extnum_t nexts, /* number of extents max */ xfs_fsblock_t *firstblock, /* first allocated block 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 */ { xfs_btree_cur_t *cur; /* bmap btree cursor */ @@ -5672,7 +5672,7 @@ xfs_bmap_shift_extents( int *done, xfs_fileoff_t stop_fsb, xfs_fsblock_t *firstblock, - struct xfs_bmap_free *flist, + struct xfs_defer_ops *flist, enum shift_direction direction, int num_exts) { @@ -5826,7 +5826,7 @@ xfs_bmap_split_extent_at( struct xfs_inode *ip, xfs_fileoff_t split_fsb, xfs_fsblock_t *firstfsb, - struct xfs_bmap_free *free_list) + struct xfs_defer_ops *free_list) { int whichfork = XFS_DATA_FORK; struct xfs_btree_cur *cur = NULL; @@ -5965,7 +5965,7 @@ xfs_bmap_split_extent( { struct xfs_mount *mp = ip->i_mount; struct xfs_trans *tp; - struct xfs_bmap_free free_list; + struct xfs_defer_ops free_list; xfs_fsblock_t firstfsb; int error; @@ -5977,21 +5977,21 @@ xfs_bmap_split_extent( xfs_ilock(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, &firstfsb, &free_list); if (error) goto out; - error = xfs_bmap_finish(&tp, &free_list, NULL); + error = xfs_defer_finish(&tp, &free_list, NULL); if (error) goto out; return xfs_trans_commit(tp); out: - xfs_bmap_cancel(&free_list); + xfs_defer_cancel(&free_list); xfs_trans_cancel(tp); return error; } diff --git a/libxfs/xfs_bmap.h b/libxfs/xfs_bmap.h index 9a7461020..f4d0fd0d6 100644 --- a/libxfs/xfs_bmap.h +++ b/libxfs/xfs_bmap.h @@ -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_bmap_free *flist; /* bmap freelist */ + struct xfs_defer_ops *flist; /* 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 */ @@ -62,11 +62,11 @@ struct xfs_bmalloca { * List of extents to be free "later". * The list is kept sorted on xbf_startblock. */ -struct xfs_bmap_free_item +struct xfs_extent_free_item { - xfs_fsblock_t xbfi_startblock;/* starting fs block number */ - xfs_extlen_t xbfi_blockcount;/* number of blocks in extent */ - struct list_head xbfi_list; + xfs_fsblock_t xefi_startblock;/* starting fs block number */ + xfs_extlen_t xefi_blockcount;/* number of blocks in extent */ + struct list_head xefi_list; }; #define XFS_BMAP_MAX_NMAP 4 @@ -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_bmap_free *flist, +void xfs_bmap_add_free(struct xfs_mount *mp, struct xfs_defer_ops *flist, 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_bmap_free *flist); + struct xfs_defer_ops *flist); 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_bmap_free *flist, int *done); + struct xfs_defer_ops *flist, 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_bmap_free *flist, enum shift_direction direction, + struct xfs_defer_ops *flist, enum shift_direction direction, int num_exts); int xfs_bmap_split_extent(struct xfs_inode *ip, xfs_fileoff_t split_offset); diff --git a/libxfs/xfs_btree.h b/libxfs/xfs_btree.h index 37e365f23..6a325bd61 100644 --- a/libxfs/xfs_btree.h +++ b/libxfs/xfs_btree.h @@ -19,7 +19,7 @@ #define __XFS_BTREE_H__ struct xfs_buf; -struct xfs_bmap_free; +struct xfs_defer_ops; struct xfs_inode; struct xfs_mount; struct xfs_trans; @@ -255,11 +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 */ xfs_agnumber_t agno; /* ag number */ } a; struct { /* needed for BMAP */ struct xfs_inode *ip; /* pointer to our inode */ - struct xfs_bmap_free *flist; /* list to free after */ + struct xfs_defer_ops *flist; /* deferred updates */ xfs_fsblock_t firstblock; /* 1st blk allocated */ int allocated; /* count of alloced */ short forksize; /* fork's inode space */ diff --git a/libxfs/xfs_da_btree.h b/libxfs/xfs_da_btree.h index 6e153e399..249813a92 100644 --- a/libxfs/xfs_da_btree.h +++ b/libxfs/xfs_da_btree.h @@ -19,7 +19,7 @@ #ifndef __XFS_DA_BTREE_H__ #define __XFS_DA_BTREE_H__ -struct xfs_bmap_free; +struct xfs_defer_ops; struct xfs_inode; struct xfs_trans; struct zone; @@ -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_bmap_free *flist; /* ptr to freelist for bmap_finish */ + struct xfs_defer_ops *flist; /* 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 */ diff --git a/libxfs/xfs_defer.h b/libxfs/xfs_defer.h index 8d2508640..b9b5a92ff 100644 --- a/libxfs/xfs_defer.h +++ b/libxfs/xfs_defer.h @@ -93,11 +93,4 @@ struct xfs_defer_op_type { void xfs_defer_init_op_type(const struct xfs_defer_op_type *type); -/* XXX: compatibility shims, will go away in the next patch */ -#define xfs_bmap_finish xfs_defer_finish -#define xfs_bmap_cancel xfs_defer_cancel -#define xfs_bmap_init xfs_defer_init -#define xfs_bmap_free xfs_defer_ops -typedef struct xfs_defer_ops xfs_bmap_free_t; - #endif /* __XFS_DEFER_H__ */ diff --git a/libxfs/xfs_dir2.c b/libxfs/xfs_dir2.c index 402611f96..6edaa8e64 100644 --- a/libxfs/xfs_dir2.c +++ b/libxfs/xfs_dir2.c @@ -258,7 +258,7 @@ xfs_dir_createname( struct xfs_name *name, xfs_ino_t inum, /* new entry inode number */ xfs_fsblock_t *first, /* bmap's firstblock */ - xfs_bmap_free_t *flist, /* bmap's freeblock list */ + struct xfs_defer_ops *flist, /* bmap's freeblock list */ xfs_extlen_t total) /* bmap's total block count */ { struct xfs_da_args *args; @@ -435,7 +435,7 @@ xfs_dir_removename( struct xfs_name *name, xfs_ino_t ino, xfs_fsblock_t *first, /* bmap's firstblock */ - xfs_bmap_free_t *flist, /* bmap's freeblock list */ + struct xfs_defer_ops *flist, /* bmap's freeblock list */ xfs_extlen_t total) /* bmap's total block count */ { struct xfs_da_args *args; @@ -497,7 +497,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 */ - xfs_bmap_free_t *flist, /* bmap's freeblock list */ + struct xfs_defer_ops *flist, /* bmap's freeblock list */ xfs_extlen_t total) /* bmap's total block count */ { struct xfs_da_args *args; diff --git a/libxfs/xfs_dir2.h b/libxfs/xfs_dir2.h index 0129e37c4..fe57e952a 100644 --- a/libxfs/xfs_dir2.h +++ b/libxfs/xfs_dir2.h @@ -18,7 +18,7 @@ #ifndef __XFS_DIR2_H__ #define __XFS_DIR2_H__ -struct xfs_bmap_free; +struct xfs_defer_ops; struct xfs_da_args; struct xfs_inode; struct xfs_mount; @@ -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_bmap_free *flist, xfs_extlen_t tot); + struct xfs_defer_ops *flist, 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_bmap_free *flist, xfs_extlen_t tot); + struct xfs_defer_ops *flist, 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_bmap_free *flist, xfs_extlen_t tot); + struct xfs_defer_ops *flist, xfs_extlen_t tot); extern int xfs_dir_canenter(struct xfs_trans *tp, struct xfs_inode *dp, struct xfs_name *name); diff --git a/libxfs/xfs_ialloc.c b/libxfs/xfs_ialloc.c index c63c3dcbf..148820f2c 100644 --- a/libxfs/xfs_ialloc.c +++ b/libxfs/xfs_ialloc.c @@ -1812,7 +1812,7 @@ xfs_difree_inode_chunk( struct xfs_mount *mp, xfs_agnumber_t agno, struct xfs_inobt_rec_incore *rec, - struct xfs_bmap_free *flist) + struct xfs_defer_ops *flist) { xfs_agblock_t sagbno = XFS_AGINO_TO_AGBNO(mp, rec->ir_startino); int startidx, endidx; @@ -1885,7 +1885,7 @@ xfs_difree_inobt( struct xfs_trans *tp, struct xfs_buf *agbp, xfs_agino_t agino, - struct xfs_bmap_free *flist, + struct xfs_defer_ops *flist, struct xfs_icluster *xic, struct xfs_inobt_rec_incore *orec) { @@ -2117,7 +2117,7 @@ int xfs_difree( struct xfs_trans *tp, /* transaction pointer */ xfs_ino_t inode, /* inode to be freed */ - struct xfs_bmap_free *flist, /* extents to free */ + struct xfs_defer_ops *flist, /* extents to free */ struct xfs_icluster *xic) /* cluster info if deleted */ { /* REFERENCED */ diff --git a/libxfs/xfs_ialloc.h b/libxfs/xfs_ialloc.h index 6e450df29..2e06b675d 100644 --- a/libxfs/xfs_ialloc.h +++ b/libxfs/xfs_ialloc.h @@ -95,7 +95,7 @@ int /* error */ xfs_difree( struct xfs_trans *tp, /* transaction pointer */ xfs_ino_t inode, /* inode to be freed */ - struct xfs_bmap_free *flist, /* extents to free */ + struct xfs_defer_ops *flist, /* extents to free */ struct xfs_icluster *ifree); /* cluster info if deleted */ /* diff --git a/libxfs/xfs_trans_resv.c b/libxfs/xfs_trans_resv.c index 9e519a5d0..c55220f4a 100644 --- a/libxfs/xfs_trans_resv.c +++ b/libxfs/xfs_trans_resv.c @@ -152,9 +152,9 @@ xfs_calc_finobt_res( * item logged to try to account for the overhead of the transaction mechanism. * * Note: Most of the reservations underestimate the number of allocation - * groups into which they could free extents in the xfs_bmap_finish() call. + * groups into which they could free extents in the xfs_defer_finish() call. * This is because the number in the worst case is quite high and quite - * unusual. In order to fix this we need to change xfs_bmap_finish() to free + * unusual. In order to fix this we need to change xfs_defer_finish() to free * extents in only a single AG at a time. This will require changes to the * EFI code as well, however, so that the EFI for the extents not freed is * logged again in each transaction. See SGI PV #261917. diff --git a/mkfs/proto.c b/mkfs/proto.c index 5f7f0b40b..653c41c78 100644 --- a/mkfs/proto.c +++ b/mkfs/proto.c @@ -27,7 +27,7 @@ static char *getstr(char **pp); static void fail(char *msg, int i); static struct xfs_trans * getres(struct xfs_mount *mp, uint blocks); static void rsvfile(xfs_mount_t *mp, xfs_inode_t *ip, long long len); -static int newfile(xfs_trans_t *tp, xfs_inode_t *ip, xfs_bmap_free_t *flist, +static int newfile(xfs_trans_t *tp, xfs_inode_t *ip, struct xfs_defer_ops *flist, xfs_fsblock_t *first, int dolocal, int logit, char *buf, int len); static char *newregfile(char **pp, int *len); static void rtinit(xfs_mount_t *mp); @@ -231,7 +231,7 @@ static int newfile( xfs_trans_t *tp, xfs_inode_t *ip, - xfs_bmap_free_t *flist, + struct xfs_defer_ops *flist, xfs_fsblock_t *first, int dolocal, int logit, @@ -324,7 +324,7 @@ newdirent( struct xfs_name *name, xfs_ino_t inum, xfs_fsblock_t *first, - xfs_bmap_free_t *flist) + struct xfs_defer_ops *flist) { int error; int rsv; @@ -370,7 +370,7 @@ parseproto( int error; xfs_fsblock_t first; int flags; - xfs_bmap_free_t flist; + struct xfs_defer_ops flist; int fmt; int i; xfs_inode_t *ip; @@ -455,7 +455,7 @@ parseproto( xname.len = name ? strlen(name) : 0; xname.type = 0; flags = XFS_ILOG_CORE; - xfs_bmap_init(&flist, &first); + libxfs_defer_init(&flist, &first); switch (fmt) { case IF_REGULAR: buf = newregfile(pp, &len); @@ -495,7 +495,7 @@ parseproto( newdirent(mp, tp, pip, &xname, ip->i_ino, &first, &flist); libxfs_trans_log_inode(tp, ip, flags); - error = -libxfs_bmap_finish(&tp, &flist, ip); + error = -libxfs_defer_finish(&tp, &flist, ip); if (error) fail(_("Pre-allocated file creation failed"), error); libxfs_trans_commit(tp); @@ -577,7 +577,7 @@ parseproto( } newdirectory(mp, tp, ip, pip); libxfs_trans_log_inode(tp, ip, flags); - error = -libxfs_bmap_finish(&tp, &flist, ip); + error = -libxfs_defer_finish(&tp, &flist, ip); if (error) fail(_("Directory creation failed"), error); libxfs_trans_commit(tp); @@ -603,7 +603,7 @@ parseproto( fail(_("Unknown format"), EINVAL); } libxfs_trans_log_inode(tp, ip, flags); - error = -libxfs_bmap_finish(&tp, &flist, ip); + error = -libxfs_defer_finish(&tp, &flist, ip); if (error) { fail(_("Error encountered creating file from prototype file"), error); @@ -633,7 +633,7 @@ rtinit( xfs_bmbt_irec_t *ep; int error; xfs_fsblock_t first; - xfs_bmap_free_t flist; + struct xfs_defer_ops flist; int i; xfs_bmbt_irec_t map[XFS_BMAP_MAX_NMAP]; xfs_extlen_t nsumblocks; @@ -693,7 +693,7 @@ rtinit( libxfs_trans_ijoin(tp, rbmip, 0); bno = 0; - xfs_bmap_init(&flist, &first); + libxfs_defer_init(&flist, &first); while (bno < mp->m_sb.sb_rbmblocks) { nmap = XFS_BMAP_MAX_NMAP; error = -libxfs_bmapi_write(tp, rbmip, bno, @@ -712,7 +712,7 @@ rtinit( } } - error = -libxfs_bmap_finish(&tp, &flist, rbmip); + error = -libxfs_defer_finish(&tp, &flist, rbmip); if (error) { fail(_("Completion of the realtime bitmap failed"), error); } @@ -729,7 +729,7 @@ rtinit( res_failed(i); libxfs_trans_ijoin(tp, rsumip, 0); bno = 0; - xfs_bmap_init(&flist, &first); + libxfs_defer_init(&flist, &first); while (bno < nsumblocks) { nmap = XFS_BMAP_MAX_NMAP; error = -libxfs_bmapi_write(tp, rsumip, bno, @@ -747,7 +747,7 @@ rtinit( bno += ep->br_blockcount; } } - error = -libxfs_bmap_finish(&tp, &flist, rsumip); + error = -libxfs_defer_finish(&tp, &flist, rsumip); if (error) { fail(_("Completion of the realtime summary failed"), error); } @@ -762,7 +762,7 @@ rtinit( if (i) res_failed(i); libxfs_trans_ijoin(tp, rbmip, 0); - xfs_bmap_init(&flist, &first); + libxfs_defer_init(&flist, &first); ebno = XFS_RTMIN(mp->m_sb.sb_rextents, bno + NBBY * mp->m_sb.sb_blocksize); error = -libxfs_rtfree_extent(tp, bno, (xfs_extlen_t)(ebno-bno)); @@ -770,7 +770,7 @@ rtinit( fail(_("Error initializing the realtime space"), error); } - error = -libxfs_bmap_finish(&tp, &flist, rbmip); + error = -libxfs_defer_finish(&tp, &flist, rbmip); if (error) { fail(_("Error completing the realtime space"), error); } diff --git a/repair/phase6.c b/repair/phase6.c index 419eb8939..f88c7e039 100644 --- a/repair/phase6.c +++ b/repair/phase6.c @@ -484,7 +484,7 @@ mk_rbmino(xfs_mount_t *mp) int i; int nmap; int error; - xfs_bmap_free_t flist; + struct xfs_defer_ops flist; xfs_fileoff_t bno; xfs_bmbt_irec_t map[XFS_BMAP_MAX_NMAP]; int vers; @@ -550,7 +550,7 @@ mk_rbmino(xfs_mount_t *mp) libxfs_trans_ijoin(tp, ip, 0); bno = 0; - xfs_bmap_init(&flist, &first); + libxfs_defer_init(&flist, &first); while (bno < mp->m_sb.sb_rbmblocks) { nmap = XFS_BMAP_MAX_NMAP; error = -libxfs_bmapi_write(tp, ip, bno, @@ -569,7 +569,7 @@ mk_rbmino(xfs_mount_t *mp) bno += ep->br_blockcount; } } - error = -libxfs_bmap_finish(&tp, &flist, ip); + error = -libxfs_defer_finish(&tp, &flist, ip); if (error) { do_error( _("allocation of the realtime bitmap failed, error = %d\n"), @@ -731,7 +731,7 @@ mk_rsumino(xfs_mount_t *mp) int nmap; int error; int nsumblocks; - xfs_bmap_free_t flist; + struct xfs_defer_ops flist; xfs_fileoff_t bno; xfs_bmbt_irec_t map[XFS_BMAP_MAX_NMAP]; int vers; @@ -789,7 +789,7 @@ mk_rsumino(xfs_mount_t *mp) * then allocate blocks for file and fill with zeroes (stolen * from mkfs) */ - xfs_bmap_init(&flist, &first); + libxfs_defer_init(&flist, &first); nsumblocks = mp->m_rsumsize >> mp->m_sb.sb_blocklog; tres.tr_logres = BBTOB(128); @@ -803,7 +803,7 @@ mk_rsumino(xfs_mount_t *mp) libxfs_trans_ijoin(tp, ip, 0); bno = 0; - xfs_bmap_init(&flist, &first); + libxfs_defer_init(&flist, &first); while (bno < nsumblocks) { nmap = XFS_BMAP_MAX_NMAP; error = -libxfs_bmapi_write(tp, ip, bno, @@ -821,7 +821,7 @@ mk_rsumino(xfs_mount_t *mp) bno += ep->br_blockcount; } } - error = -libxfs_bmap_finish(&tp, &flist, ip); + error = -libxfs_defer_finish(&tp, &flist, ip); if (error) { do_error( _("allocation of the realtime summary ino failed, error = %d\n"), @@ -918,7 +918,7 @@ mk_orphanage(xfs_mount_t *mp) int ino_offset = 0; int i; int error; - xfs_bmap_free_t flist; + struct xfs_defer_ops flist; const int mode = 0755; int nres; struct xfs_name xname; @@ -943,7 +943,7 @@ mk_orphanage(xfs_mount_t *mp) /* * could not be found, create it */ - xfs_bmap_init(&flist, &first); + libxfs_defer_init(&flist, &first); nres = XFS_MKDIR_SPACE_RES(mp, xname.len); i = -libxfs_trans_alloc(mp, &M_RES(mp)->tr_mkdir, nres, 0, 0, &tp); if (i) @@ -1025,7 +1025,7 @@ mk_orphanage(xfs_mount_t *mp) libxfs_dir_init(tp, ip, pip); libxfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); - error = -libxfs_bmap_finish(&tp, &flist, ip); + error = -libxfs_defer_finish(&tp, &flist, ip); if (error) { do_error(_("%s directory creation failed -- bmapf error %d\n"), ORPHANAGE, error); @@ -1054,7 +1054,7 @@ mv_orphanage( xfs_inode_t *ino_p; xfs_trans_t *tp; xfs_fsblock_t first; - xfs_bmap_free_t flist; + struct xfs_defer_ops flist; int err; unsigned char fname[MAXPATHLEN + 1]; int nres; @@ -1107,7 +1107,7 @@ mv_orphanage( libxfs_trans_ijoin(tp, orphanage_ip, 0); libxfs_trans_ijoin(tp, ino_p, 0); - xfs_bmap_init(&flist, &first); + libxfs_defer_init(&flist, &first); err = -libxfs_dir_createname(tp, orphanage_ip, &xname, ino, &first, &flist, nres); if (err) @@ -1131,7 +1131,7 @@ mv_orphanage( inc_nlink(VFS_I(ino_p)); libxfs_trans_log_inode(tp, ino_p, XFS_ILOG_CORE); - err = -libxfs_bmap_finish(&tp, &flist, ino_p); + err = -libxfs_defer_finish(&tp, &flist, ino_p); if (err) do_error( _("bmap finish failed (err - %d), filesystem may be out of space\n"), @@ -1149,7 +1149,7 @@ mv_orphanage( libxfs_trans_ijoin(tp, orphanage_ip, 0); libxfs_trans_ijoin(tp, ino_p, 0); - xfs_bmap_init(&flist, &first); + libxfs_defer_init(&flist, &first); err = -libxfs_dir_createname(tp, orphanage_ip, &xname, ino, &first, &flist, nres); @@ -1178,7 +1178,7 @@ mv_orphanage( err); } - err = -libxfs_bmap_finish(&tp, &flist, ino_p); + err = -libxfs_defer_finish(&tp, &flist, ino_p); if (err) do_error( _("bmap finish failed (%d), filesystem may be out of space\n"), @@ -1205,7 +1205,7 @@ mv_orphanage( libxfs_trans_ijoin(tp, orphanage_ip, 0); libxfs_trans_ijoin(tp, ino_p, 0); - xfs_bmap_init(&flist, &first); + libxfs_defer_init(&flist, &first); err = -libxfs_dir_createname(tp, orphanage_ip, &xname, ino, &first, &flist, nres); if (err) @@ -1217,7 +1217,7 @@ mv_orphanage( set_nlink(VFS_I(ino_p), 1); libxfs_trans_log_inode(tp, ino_p, XFS_ILOG_CORE); - err = -libxfs_bmap_finish(&tp, &flist, ino_p); + err = -libxfs_defer_finish(&tp, &flist, ino_p); if (err) do_error( _("bmap finish failed (%d), filesystem may be out of space\n"), @@ -1266,7 +1266,7 @@ longform_dir2_rebuild( xfs_trans_t *tp; xfs_fileoff_t lastblock; xfs_fsblock_t firstblock; - xfs_bmap_free_t flist; + struct xfs_defer_ops flist; xfs_inode_t pip; dir_hash_ent_t *p; int done; @@ -1289,7 +1289,7 @@ longform_dir2_rebuild( xfs_dir_ino_validate(mp, pip.i_ino)) pip.i_ino = mp->m_sb.sb_rootino; - xfs_bmap_init(&flist, &firstblock); + libxfs_defer_init(&flist, &firstblock); nres = XFS_REMOVE_SPACE_RES(mp); error = -libxfs_trans_alloc(mp, &M_RES(mp)->tr_remove, nres, 0, 0, &tp); @@ -1317,7 +1317,7 @@ longform_dir2_rebuild( goto out_bmap_cancel; } - error = -libxfs_bmap_finish(&tp, &flist, ip); + error = -libxfs_defer_finish(&tp, &flist, ip); libxfs_trans_commit(tp); @@ -1341,7 +1341,7 @@ longform_dir2_rebuild( libxfs_trans_ijoin(tp, ip, 0); - xfs_bmap_init(&flist, &firstblock); + libxfs_defer_init(&flist, &firstblock); error = -libxfs_dir_createname(tp, ip, &p->name, p->inum, &firstblock, &flist, nres); if (error) { @@ -1351,7 +1351,7 @@ _("name create failed in ino %" PRIu64 " (%d), filesystem may be out of space\n" goto out_bmap_cancel; } - error = -libxfs_bmap_finish(&tp, &flist, ip); + error = -libxfs_defer_finish(&tp, &flist, ip); if (error) { do_warn( _("bmap finish failed (%d), filesystem may be out of space\n"), @@ -1365,7 +1365,7 @@ _("name create failed in ino %" PRIu64 " (%d), filesystem may be out of space\n" return; out_bmap_cancel: - libxfs_bmap_cancel(&flist); + libxfs_defer_cancel(&flist); libxfs_trans_cancel(tp); return; } @@ -1385,7 +1385,7 @@ dir2_kill_block( xfs_da_args_t args; int error; xfs_fsblock_t firstblock; - xfs_bmap_free_t flist; + struct xfs_defer_ops flist; int nres; xfs_trans_t *tp; @@ -1396,7 +1396,7 @@ dir2_kill_block( libxfs_trans_ijoin(tp, ip, 0); libxfs_trans_bjoin(tp, bp); memset(&args, 0, sizeof(args)); - xfs_bmap_init(&flist, &firstblock); + libxfs_defer_init(&flist, &firstblock); args.dp = ip; args.trans = tp; args.firstblock = &firstblock; @@ -1411,7 +1411,7 @@ dir2_kill_block( if (error) do_error(_("shrink_inode failed inode %" PRIu64 " block %u\n"), ip->i_ino, da_bno); - libxfs_bmap_finish(&tp, &flist, ip); + libxfs_defer_finish(&tp, &flist, ip); libxfs_trans_commit(tp); } @@ -1445,7 +1445,7 @@ longform_dir2_entry_check_data( char *endptr; int error; xfs_fsblock_t firstblock; - xfs_bmap_free_t flist; + struct xfs_defer_ops flist; char fname[MAXNAMELEN + 1]; freetab_t *freetab; int i; @@ -1587,7 +1587,7 @@ longform_dir2_entry_check_data( libxfs_trans_ijoin(tp, ip, 0); libxfs_trans_bjoin(tp, bp); libxfs_trans_bhold(tp, bp); - xfs_bmap_init(&flist, &firstblock); + libxfs_defer_init(&flist, &firstblock); if (be32_to_cpu(d->magic) != wantmagic) { do_warn( _("bad directory block magic # %#x for directory inode %" PRIu64 " block %d: "), @@ -1886,7 +1886,7 @@ _("entry \"%s\" in dir inode %" PRIu64 " inconsistent with .. value (%" PRIu64 " libxfs_dir2_data_freescan(mp->m_dir_geo, M_DIROPS(mp), d, &i); if (needlog) libxfs_dir2_data_log_header(&da, bp); - libxfs_bmap_finish(&tp, &flist, ip); + libxfs_defer_finish(&tp, &flist, ip); libxfs_trans_commit(tp); /* record the largest free space in the freetab for later checking */ @@ -2802,7 +2802,7 @@ process_dir_inode( int ino_offset) { xfs_ino_t ino; - xfs_bmap_free_t flist; + struct xfs_defer_ops flist; xfs_fsblock_t first; xfs_inode_t *ip; xfs_trans_t *tp; @@ -2939,7 +2939,7 @@ process_dir_inode( libxfs_trans_ijoin(tp, ip, 0); - xfs_bmap_init(&flist, &first); + libxfs_defer_init(&flist, &first); error = -libxfs_dir_createname(tp, ip, &xfs_name_dotdot, ip->i_ino, &first, &flist, nres); @@ -2949,7 +2949,7 @@ process_dir_inode( libxfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); - error = -libxfs_bmap_finish(&tp, &flist, ip); + error = -libxfs_defer_finish(&tp, &flist, ip); ASSERT(error == 0); libxfs_trans_commit(tp); @@ -2996,7 +2996,7 @@ process_dir_inode( libxfs_trans_ijoin(tp, ip, 0); - xfs_bmap_init(&flist, &first); + libxfs_defer_init(&flist, &first); error = -libxfs_dir_createname(tp, ip, &xfs_name_dot, ip->i_ino, &first, &flist, nres); @@ -3007,7 +3007,7 @@ process_dir_inode( libxfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); - error = -libxfs_bmap_finish(&tp, &flist, ip); + error = -libxfs_defer_finish(&tp, &flist, ip); ASSERT(error == 0); libxfs_trans_commit(tp); } -- 2.50.1