@@ -90,7 +90,7 @@ bmap(
push_cur();
rblock = (xfs_bmdr_block_t *)XFS_DFORK_PTR(dip, whichfork);
fsize = XFS_DFORK_SIZE(dip, mp, whichfork);
- pp = XFS_BMDR_PTR_ADDR(rblock, 1, xfs_bmdr_maxrecs(fsize, 0));
+ pp = XFS_BMDR_PTR_ADDR(rblock, 1, libxfs_bmdr_maxrecs(fsize, 0));
kp = XFS_BMDR_KEY_ADDR(rblock, 1);
bno = select_child(curoffset, kp, pp,
be16_to_cpu(rblock->bb_numrecs));
@@ -101,7 +101,7 @@ bmap(
if (be16_to_cpu(block->bb_level) == 0)
break;
pp = XFS_BMBT_PTR_ADDR(mp, block, 1,
- xfs_bmbt_maxrecs(mp, mp->m_sb.sb_blocksize, 0));
+ libxfs_bmbt_maxrecs(mp, mp->m_sb.sb_blocksize, 0));
kp = XFS_BMBT_KEY_ADDR(mp, block, 1);
bno = select_child(curoffset, kp, pp,
be16_to_cpu(block->bb_numrecs));
@@ -140,7 +140,7 @@ bmroota_ptr_offset(
ASSERT(XFS_DFORK_Q(dip) && (char *)block == XFS_DFORK_APTR(dip));
ASSERT(be16_to_cpu(block->bb_level) > 0);
pp = XFS_BMDR_PTR_ADDR(block, idx,
- xfs_bmdr_maxrecs(XFS_DFORK_ASIZE(dip, mp), 0));
+ libxfs_bmdr_maxrecs(XFS_DFORK_ASIZE(dip, mp), 0));
return bitize((int)((char *)pp - (char *)block));
}
@@ -235,7 +235,7 @@ bmrootd_ptr_offset(
block = (xfs_bmdr_block_t *)((char *)obj + byteize(startoff));
ASSERT(be16_to_cpu(block->bb_level) > 0);
pp = XFS_BMDR_PTR_ADDR(block, idx,
- xfs_bmdr_maxrecs(XFS_DFORK_DSIZE(dip, mp), 0));
+ libxfs_bmdr_maxrecs(XFS_DFORK_DSIZE(dip, mp), 0));
return bitize((int)((char *)pp - (char *)block));
}
@@ -2186,7 +2186,7 @@ process_btinode(
return;
}
if (be16_to_cpu(dib->bb_numrecs) >
- xfs_bmdr_maxrecs(XFS_DFORK_SIZE(dip, mp, whichfork),
+ libxfs_bmdr_maxrecs(XFS_DFORK_SIZE(dip, mp, whichfork),
be16_to_cpu(dib->bb_level) == 0)) {
if (!sflag || id->ilist)
dbprintf(_("numrecs for ino %lld %s fork bmap root too "
@@ -2204,7 +2204,7 @@ process_btinode(
*nex += be16_to_cpu(dib->bb_numrecs);
return;
} else {
- pp = XFS_BMDR_PTR_ADDR(dib, 1, xfs_bmdr_maxrecs(
+ pp = XFS_BMDR_PTR_ADDR(dib, 1, libxfs_bmdr_maxrecs(
XFS_DFORK_SIZE(dip, mp, whichfork), 0));
for (i = 0; i < be16_to_cpu(dib->bb_numrecs); i++)
scan_lbtree(get_unaligned_be64(&pp[i]),
@@ -2684,7 +2684,7 @@ process_inode(
error++;
return;
}
- if (!xfs_dinode_good_version(mp, xino.i_d.di_version)) {
+ if (!libxfs_dinode_good_version(mp, xino.i_d.di_version)) {
if (isfree || v)
dbprintf(_("bad version number %#x for inode %lld\n"),
xino.i_d.di_version, ino);
@@ -260,7 +260,7 @@ process_btinode(
return;
}
pp = XFS_BMDR_PTR_ADDR(dib, 1,
- xfs_bmdr_maxrecs(XFS_DFORK_SIZE(dip, mp, whichfork), 0));
+ libxfs_bmdr_maxrecs(XFS_DFORK_SIZE(dip, mp, whichfork), 0));
for (i = 0; i < be16_to_cpu(dib->bb_numrecs); i++)
scan_lbtree(get_unaligned_be64(&pp[i]),
be16_to_cpu(dib->bb_level), scanfunc_bmap, extmapp,
@@ -85,13 +85,13 @@ fsmap(
if (agno == end_ag)
high.rm_startblock = XFS_FSB_TO_AGBNO(mp, end_fsb);
- error = xfs_alloc_read_agf(mp, NULL, agno, 0, &agbp);
+ error = -libxfs_alloc_read_agf(mp, NULL, agno, 0, &agbp);
if (error) {
dbprintf(_("Error %d while reading AGF.\n"), error);
return;
}
- bt_cur = xfs_rmapbt_init_cursor(mp, NULL, agbp, agno);
+ bt_cur = libxfs_rmapbt_init_cursor(mp, NULL, agbp, agno);
if (!bt_cur) {
libxfs_putbuf(agbp);
dbprintf(_("Not enough memory.\n"));
@@ -102,14 +102,14 @@ fsmap(
error = -libxfs_rmap_query_range(bt_cur, &low, &high,
fsmap_fn, &info);
if (error) {
- xfs_btree_del_cursor(bt_cur, XFS_BTREE_ERROR);
+ libxfs_btree_del_cursor(bt_cur, XFS_BTREE_ERROR);
libxfs_putbuf(agbp);
dbprintf(_("Error %d while querying fsmap btree.\n"),
error);
return;
}
- xfs_btree_del_cursor(bt_cur, XFS_BTREE_NOERROR);
+ libxfs_btree_del_cursor(bt_cur, XFS_BTREE_NOERROR);
libxfs_putbuf(agbp);
if (agno == start_ag)
@@ -164,7 +164,7 @@ init(
*/
if (sbp->sb_rootino != NULLFSINO &&
xfs_sb_version_haslazysbcount(&mp->m_sb)) {
- int error = xfs_initialize_perag_data(mp, sbp->sb_agcount);
+ int error = -libxfs_initialize_perag_data(mp, sbp->sb_agcount);
if (error) {
fprintf(stderr,
_("%s: cannot init perag data (%d). Continuing anyway.\n"),
@@ -101,7 +101,7 @@ logformat_f(int argc, char **argv)
dbprintf("Formatting the log to cycle %d, stripe unit %d bytes.\n",
cycle, lsunit);
- error = libxfs_log_clear(mp->m_logdev_targp, NULL,
+ error = -libxfs_log_clear(mp->m_logdev_targp, NULL,
mp->m_log->l_logBBstart,
mp->m_log->l_logBBsize,
&mp->m_sb.sb_uuid, logversion, lsunit,
@@ -2016,7 +2016,7 @@ process_btinode(
nrecs, itype);
}
- maxrecs = xfs_bmdr_maxrecs(XFS_DFORK_SIZE(dip, mp, whichfork), 0);
+ maxrecs = libxfs_bmdr_maxrecs(XFS_DFORK_SIZE(dip, mp, whichfork), 0);
if (nrecs > maxrecs) {
if (show_warnings)
print_warning("invalid numrecs (%u) in inode %lld %s "
@@ -2132,7 +2132,7 @@ process_inode(
/* we only care about crc recalculation if we will modify the inode. */
if (obfuscate || zero_stale_data) {
- crc_was_ok = xfs_verify_cksum((char *)dip,
+ crc_was_ok = libxfs_verify_cksum((char *)dip,
mp->m_sb.sb_inodesize,
offsetof(struct xfs_dinode, di_crc));
}
@@ -878,7 +878,7 @@ inode_f(
lastgrp--;
lastino = igroup[lastgrp].xi_startino +
- xfs_highbit64(igroup[lastgrp].xi_allocmask);
+ libxfs_highbit64(igroup[lastgrp].xi_allocmask);
if (verbose)
printf("%llu:%d\n", lastino,
@@ -122,4 +122,19 @@
#define xfs_verify_cksum libxfs_verify_cksum
+#define xfs_alloc_ag_max_usable libxfs_alloc_ag_max_usable
+#define xfs_allocbt_maxrecs libxfs_allocbt_maxrecs
+#define xfs_bmbt_maxrecs libxfs_bmbt_maxrecs
+#define xfs_bmdr_maxrecs libxfs_bmdr_maxrecs
+#define xfs_btree_init_block libxfs_btree_init_block
+#define xfs_dir_ino_validate libxfs_dir_ino_validate
+#define xfs_initialize_perag_data libxfs_initialize_perag_data
+#define xfs_inobt_maxrecs libxfs_inobt_maxrecs
+#define xfs_iread_extents libxfs_iread_extents
+#define xfs_log_calc_minimum_size libxfs_log_calc_minimum_size
+#define xfs_perag_get libxfs_perag_get
+#define xfs_perag_put libxfs_perag_put
+#define xfs_prealloc_blocks libxfs_prealloc_blocks
+#define xfs_dinode_good_version libxfs_dinode_good_version
+
#endif /* __LIBXFS_API_DEFS_H__ */
@@ -77,7 +77,7 @@ max_trans_res(
sbp->sb_features_ro_compat |= XFS_SB_FEAT_RO_COMPAT_RMAPBT;
libxfs_mount(&mount, sbp, 0,0,0,0);
- maxfsb = xfs_log_calc_minimum_size(&mount);
+ maxfsb = libxfs_log_calc_minimum_size(&mount);
libxfs_umount(&mount);
#if 0
@@ -2675,7 +2675,7 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
/*
* sb_versionnum, finobt and rmapbt flags must be set before we use
- * xfs_prealloc_blocks().
+ * libxfs_prealloc_blocks().
*/
sb_set_features(&mp->m_sb, &sb_feat, sectorsize, lsectorsize, dsunit);
@@ -2687,12 +2687,12 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
*/
if (!logsize) {
logblocks = MIN(logblocks,
- xfs_alloc_ag_max_usable(mp));
+ libxfs_alloc_ag_max_usable(mp));
/* revalidate the log size is valid if we changed it */
validate_log_size(logblocks, blocklog, min_logblocks);
}
- if (logblocks > agsize - xfs_prealloc_blocks(mp)) {
+ if (logblocks > agsize - libxfs_prealloc_blocks(mp)) {
fprintf(stderr,
_("internal log size %lld too large, must fit in allocation group\n"),
(long long)logblocks);
@@ -2709,7 +2709,7 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
} else
logagno = (xfs_agnumber_t)(agcount / 2);
- logstart = XFS_AGB_TO_FSB(mp, logagno, xfs_prealloc_blocks(mp));
+ logstart = XFS_AGB_TO_FSB(mp, logagno, libxfs_prealloc_blocks(mp));
/*
* Align the logstart at stripe unit boundary.
*/
@@ -2788,7 +2788,7 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
sbp->sb_imax_pct = imaxpct;
sbp->sb_icount = 0;
sbp->sb_ifree = 0;
- sbp->sb_fdblocks = dblocks - agcount * xfs_prealloc_blocks(mp) -
+ sbp->sb_fdblocks = dblocks - agcount * libxfs_prealloc_blocks(mp) -
(loginternal ? logblocks : 0);
sbp->sb_frextents = 0; /* will do a free later */
sbp->sb_uquotino = sbp->sb_gquotino = sbp->sb_pquotino = 0;
@@ -2893,7 +2893,7 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
for (agno = 0; agno < agcount; agno++) {
struct xfs_agfl *agfl;
int bucket;
- struct xfs_perag *pag = xfs_perag_get(mp, agno);
+ struct xfs_perag *pag = libxfs_perag_get(mp, agno);
/*
* Superblock.
@@ -2937,7 +2937,7 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
agf->agf_flfirst = 0;
agf->agf_fllast = cpu_to_be32(XFS_AGFL_SIZE(mp) - 1);
agf->agf_flcount = 0;
- nbmblocks = (xfs_extlen_t)(agsize - xfs_prealloc_blocks(mp));
+ nbmblocks = (xfs_extlen_t)(agsize - libxfs_prealloc_blocks(mp));
agf->agf_freeblks = cpu_to_be32(nbmblocks);
agf->agf_longest = cpu_to_be32(nbmblocks);
if (xfs_sb_version_hascrc(&mp->m_sb))
@@ -2948,8 +2948,8 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
agf->agf_longest = cpu_to_be32(agsize -
XFS_FSB_TO_AGBNO(mp, logstart) - logblocks);
}
- if (xfs_alloc_min_freelist(mp, pag) > worst_freelist)
- worst_freelist = xfs_alloc_min_freelist(mp, pag);
+ if (libxfs_alloc_min_freelist(mp, pag) > worst_freelist)
+ worst_freelist = libxfs_alloc_min_freelist(mp, pag);
libxfs_writebuf(buf, LIBXFS_EXIT_ON_FAILURE);
/*
@@ -3011,14 +3011,14 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
block = XFS_BUF_TO_BLOCK(buf);
memset(block, 0, blocksize);
if (xfs_sb_version_hascrc(&mp->m_sb))
- xfs_btree_init_block(mp, buf, XFS_ABTB_CRC_MAGIC, 0, 1,
+ libxfs_btree_init_block(mp, buf, XFS_ABTB_CRC_MAGIC, 0, 1,
agno, XFS_BTREE_CRC_BLOCKS);
else
- xfs_btree_init_block(mp, buf, XFS_ABTB_MAGIC, 0, 1,
+ libxfs_btree_init_block(mp, buf, XFS_ABTB_MAGIC, 0, 1,
agno, 0);
arec = XFS_ALLOC_REC_ADDR(mp, block, 1);
- arec->ar_startblock = cpu_to_be32(xfs_prealloc_blocks(mp));
+ arec->ar_startblock = cpu_to_be32(libxfs_prealloc_blocks(mp));
if (loginternal && agno == logagno) {
if (lalign) {
/*
@@ -3066,14 +3066,14 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
block = XFS_BUF_TO_BLOCK(buf);
memset(block, 0, blocksize);
if (xfs_sb_version_hascrc(&mp->m_sb))
- xfs_btree_init_block(mp, buf, XFS_ABTC_CRC_MAGIC, 0, 1,
+ libxfs_btree_init_block(mp, buf, XFS_ABTC_CRC_MAGIC, 0, 1,
agno, XFS_BTREE_CRC_BLOCKS);
else
- xfs_btree_init_block(mp, buf, XFS_ABTC_MAGIC, 0, 1,
+ libxfs_btree_init_block(mp, buf, XFS_ABTC_MAGIC, 0, 1,
agno, 0);
arec = XFS_ALLOC_REC_ADDR(mp, block, 1);
- arec->ar_startblock = cpu_to_be32(xfs_prealloc_blocks(mp));
+ arec->ar_startblock = cpu_to_be32(libxfs_prealloc_blocks(mp));
if (loginternal && agno == logagno) {
if (lalign) {
arec->ar_blockcount = cpu_to_be32(
@@ -3111,10 +3111,10 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
block = XFS_BUF_TO_BLOCK(buf);
memset(block, 0, blocksize);
if (xfs_sb_version_hascrc(&mp->m_sb))
- xfs_btree_init_block(mp, buf, XFS_IBT_CRC_MAGIC, 0, 0,
+ libxfs_btree_init_block(mp, buf, XFS_IBT_CRC_MAGIC, 0, 0,
agno, XFS_BTREE_CRC_BLOCKS);
else
- xfs_btree_init_block(mp, buf, XFS_IBT_MAGIC, 0, 0,
+ libxfs_btree_init_block(mp, buf, XFS_IBT_MAGIC, 0, 0,
agno, 0);
libxfs_writebuf(buf, LIBXFS_EXIT_ON_FAILURE);
@@ -3129,10 +3129,10 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
block = XFS_BUF_TO_BLOCK(buf);
memset(block, 0, blocksize);
if (xfs_sb_version_hascrc(&mp->m_sb))
- xfs_btree_init_block(mp, buf, XFS_FIBT_CRC_MAGIC, 0, 0,
+ libxfs_btree_init_block(mp, buf, XFS_FIBT_CRC_MAGIC, 0, 0,
agno, XFS_BTREE_CRC_BLOCKS);
else
- xfs_btree_init_block(mp, buf, XFS_FIBT_MAGIC, 0, 0,
+ libxfs_btree_init_block(mp, buf, XFS_FIBT_MAGIC, 0, 0,
agno, 0);
libxfs_writebuf(buf, LIBXFS_EXIT_ON_FAILURE);
}
@@ -3148,7 +3148,7 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
block = XFS_BUF_TO_BLOCK(buf);
memset(block, 0, blocksize);
- xfs_btree_init_block(mp, buf, XFS_RMAP_CRC_MAGIC, 0, 0,
+ libxfs_btree_init_block(mp, buf, XFS_RMAP_CRC_MAGIC, 0, 0,
agno, XFS_BTREE_CRC_BLOCKS);
/*
@@ -3203,7 +3203,7 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
libxfs_writebuf(buf, LIBXFS_EXIT_ON_FAILURE);
}
- xfs_perag_put(pag);
+ libxfs_perag_put(pag);
}
/*
@@ -3241,10 +3241,10 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
args.mp = mp;
args.agno = agno;
args.alignment = 1;
- args.pag = xfs_perag_get(mp,agno);
+ args.pag = libxfs_perag_get(mp,agno);
libxfs_alloc_fix_freelist(&args, 0);
- xfs_perag_put(args.pag);
+ libxfs_perag_put(args.pag);
libxfs_trans_commit(tp);
}
@@ -131,7 +131,7 @@ clear_dinode_core(struct xfs_mount *mp, xfs_dinode_t *dinoc, xfs_ino_t ino_num)
dinoc->di_magic = cpu_to_be16(XFS_DINODE_MAGIC);
}
- if (!xfs_dinode_good_version(mp, dinoc->di_version)) {
+ if (!libxfs_dinode_good_version(mp, dinoc->di_version)) {
__dirty_no_modify_ret(dirty);
if (xfs_sb_version_hascrc(&mp->m_sb))
dinoc->di_version = 3;
@@ -966,7 +966,7 @@ _("bad numrecs 0 in inode %" PRIu64 " bmap btree root block\n"),
init_bm_cursor(&cursor, level + 1);
pp = XFS_BMDR_PTR_ADDR(dib, 1,
- xfs_bmdr_maxrecs(XFS_DFORK_SIZE(dip, mp, whichfork), 0));
+ libxfs_bmdr_maxrecs(XFS_DFORK_SIZE(dip, mp, whichfork), 0));
pkey = XFS_BMDR_KEY_ADDR(dib, 1);
last_key = NULLFILEOFF;
@@ -2240,7 +2240,7 @@ process_dinode_int(xfs_mount_t *mp,
* rewritten, and the CRC is updated automagically.
*/
if (xfs_sb_version_hascrc(&mp->m_sb) &&
- !xfs_verify_cksum((char *)dino, mp->m_sb.sb_inodesize,
+ !libxfs_verify_cksum((char *)dino, mp->m_sb.sb_inodesize,
XFS_DINODE_CRC_OFF)) {
retval = 1;
if (!uncertain)
@@ -2271,7 +2271,7 @@ process_dinode_int(xfs_mount_t *mp,
}
}
- if (!xfs_dinode_good_version(mp, dino->di_version)) {
+ if (!libxfs_dinode_good_version(mp, dino->di_version)) {
retval = 1;
if (!uncertain)
do_warn(_("bad version number 0x%x on inode %" PRIu64 "%c"),
@@ -360,7 +360,7 @@ finish_cursor(bt_status_t *curs)
* XXX(hch): any reason we don't just look at mp->m_alloc_mxr?
*/
#define XR_ALLOC_BLOCK_MAXRECS(mp, level) \
- (xfs_allocbt_maxrecs((mp), (mp)->m_sb.sb_blocksize, (level) == 0) - 2)
+ (libxfs_allocbt_maxrecs((mp), (mp)->m_sb.sb_blocksize, (level) == 0) - 2)
/*
* this calculates a freespace cursor for an ag.
@@ -693,10 +693,10 @@ prop_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno,
bt_hdr = XFS_BUF_TO_BLOCK(lptr->buf_p);
memset(bt_hdr, 0, mp->m_sb.sb_blocksize);
if (xfs_sb_version_hascrc(&mp->m_sb))
- xfs_btree_init_block(mp, lptr->buf_p, crc_magic, level,
+ libxfs_btree_init_block(mp, lptr->buf_p, crc_magic, level,
0, agno, XFS_BTREE_CRC_BLOCKS);
else
- xfs_btree_init_block(mp, lptr->buf_p, magic, level,
+ libxfs_btree_init_block(mp, lptr->buf_p, magic, level,
0, agno, 0);
bt_hdr->bb_u.s.bb_leftsib = cpu_to_be32(lptr->prev_agbno);
@@ -779,10 +779,10 @@ build_freespace_tree(xfs_mount_t *mp, xfs_agnumber_t agno,
bt_hdr = XFS_BUF_TO_BLOCK(lptr->buf_p);
memset(bt_hdr, 0, mp->m_sb.sb_blocksize);
if (xfs_sb_version_hascrc(&mp->m_sb))
- xfs_btree_init_block(mp, lptr->buf_p, crc_magic, i,
+ libxfs_btree_init_block(mp, lptr->buf_p, crc_magic, i,
0, agno, XFS_BTREE_CRC_BLOCKS);
else
- xfs_btree_init_block(mp, lptr->buf_p, magic, i,
+ libxfs_btree_init_block(mp, lptr->buf_p, magic, i,
0, agno, 0);
}
/*
@@ -811,10 +811,10 @@ build_freespace_tree(xfs_mount_t *mp, xfs_agnumber_t agno,
bt_hdr = XFS_BUF_TO_BLOCK(lptr->buf_p);
memset(bt_hdr, 0, mp->m_sb.sb_blocksize);
if (xfs_sb_version_hascrc(&mp->m_sb))
- xfs_btree_init_block(mp, lptr->buf_p, crc_magic, 0,
+ libxfs_btree_init_block(mp, lptr->buf_p, crc_magic, 0,
0, agno, XFS_BTREE_CRC_BLOCKS);
else
- xfs_btree_init_block(mp, lptr->buf_p, magic, 0,
+ libxfs_btree_init_block(mp, lptr->buf_p, magic, 0,
0, agno, 0);
bt_hdr->bb_u.s.bb_leftsib = cpu_to_be32(lptr->prev_agbno);
@@ -895,7 +895,7 @@ build_freespace_tree(xfs_mount_t *mp, xfs_agnumber_t agno,
* XXX(hch): any reason we don't just look at mp->m_inobt_mxr?
*/
#define XR_INOBT_BLOCK_MAXRECS(mp, level) \
- xfs_inobt_maxrecs((mp), (mp)->m_sb.sb_blocksize, \
+ libxfs_inobt_maxrecs((mp), (mp)->m_sb.sb_blocksize, \
(level) == 0)
/*
@@ -1073,11 +1073,11 @@ prop_ino_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, bt_status_t *btree_curs,
bt_hdr = XFS_BUF_TO_BLOCK(lptr->buf_p);
memset(bt_hdr, 0, mp->m_sb.sb_blocksize);
if (xfs_sb_version_hascrc(&mp->m_sb))
- xfs_btree_init_block(mp, lptr->buf_p, XFS_IBT_CRC_MAGIC,
+ libxfs_btree_init_block(mp, lptr->buf_p, XFS_IBT_CRC_MAGIC,
level, 0, agno,
XFS_BTREE_CRC_BLOCKS);
else
- xfs_btree_init_block(mp, lptr->buf_p, XFS_IBT_MAGIC,
+ libxfs_btree_init_block(mp, lptr->buf_p, XFS_IBT_MAGIC,
level, 0, agno, 0);
bt_hdr->bb_u.s.bb_leftsib = cpu_to_be32(lptr->prev_agbno);
@@ -1198,11 +1198,11 @@ build_ino_tree(xfs_mount_t *mp, xfs_agnumber_t agno,
bt_hdr = XFS_BUF_TO_BLOCK(lptr->buf_p);
memset(bt_hdr, 0, mp->m_sb.sb_blocksize);
if (xfs_sb_version_hascrc(&mp->m_sb))
- xfs_btree_init_block(mp, lptr->buf_p, magic,
+ libxfs_btree_init_block(mp, lptr->buf_p, magic,
i, 0, agno,
XFS_BTREE_CRC_BLOCKS);
else
- xfs_btree_init_block(mp, lptr->buf_p, magic,
+ libxfs_btree_init_block(mp, lptr->buf_p, magic,
i, 0, agno, 0);
}
@@ -1232,11 +1232,11 @@ build_ino_tree(xfs_mount_t *mp, xfs_agnumber_t agno,
bt_hdr = XFS_BUF_TO_BLOCK(lptr->buf_p);
memset(bt_hdr, 0, mp->m_sb.sb_blocksize);
if (xfs_sb_version_hascrc(&mp->m_sb))
- xfs_btree_init_block(mp, lptr->buf_p, magic,
+ libxfs_btree_init_block(mp, lptr->buf_p, magic,
0, 0, agno,
XFS_BTREE_CRC_BLOCKS);
else
- xfs_btree_init_block(mp, lptr->buf_p, magic,
+ libxfs_btree_init_block(mp, lptr->buf_p, magic,
0, 0, agno, 0);
bt_hdr->bb_u.s.bb_leftsib = cpu_to_be32(lptr->prev_agbno);
@@ -1490,7 +1490,7 @@ prop_rmap_cursor(
lptr->buf_p->b_ops = &xfs_rmapbt_buf_ops;
bt_hdr = XFS_BUF_TO_BLOCK(lptr->buf_p);
memset(bt_hdr, 0, mp->m_sb.sb_blocksize);
- xfs_btree_init_block(mp, lptr->buf_p, XFS_RMAP_CRC_MAGIC,
+ libxfs_btree_init_block(mp, lptr->buf_p, XFS_RMAP_CRC_MAGIC,
level, 0, agno,
XFS_BTREE_CRC_BLOCKS);
@@ -1604,7 +1604,7 @@ build_rmap_tree(
lptr->buf_p->b_ops = &xfs_rmapbt_buf_ops;
bt_hdr = XFS_BUF_TO_BLOCK(lptr->buf_p);
memset(bt_hdr, 0, mp->m_sb.sb_blocksize);
- xfs_btree_init_block(mp, lptr->buf_p, XFS_RMAP_CRC_MAGIC,
+ libxfs_btree_init_block(mp, lptr->buf_p, XFS_RMAP_CRC_MAGIC,
i, 0, agno,
XFS_BTREE_CRC_BLOCKS);
}
@@ -1629,7 +1629,7 @@ _("Insufficient memory to construct reverse-map cursor."));
lptr->buf_p->b_ops = &xfs_rmapbt_buf_ops;
bt_hdr = XFS_BUF_TO_BLOCK(lptr->buf_p);
memset(bt_hdr, 0, mp->m_sb.sb_blocksize);
- xfs_btree_init_block(mp, lptr->buf_p, XFS_RMAP_CRC_MAGIC,
+ libxfs_btree_init_block(mp, lptr->buf_p, XFS_RMAP_CRC_MAGIC,
0, 0, agno,
XFS_BTREE_CRC_BLOCKS);
@@ -2162,21 +2162,21 @@ phase5(xfs_mount_t *mp)
#ifdef XR_BLD_FREE_TRACE
fprintf(stderr, "inobt level 1, maxrec = %d, minrec = %d\n",
- xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 0),
- xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 0) / 2);
+ libxfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 0),
+ libxfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 0) / 2);
fprintf(stderr, "inobt level 0 (leaf), maxrec = %d, minrec = %d\n",
- xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 1),
- xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 1) / 2);
+ libxfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 1),
+ libxfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 1) / 2);
fprintf(stderr, "xr inobt level 0 (leaf), maxrec = %d\n",
XR_INOBT_BLOCK_MAXRECS(mp, 0));
fprintf(stderr, "xr inobt level 1 (int), maxrec = %d\n",
XR_INOBT_BLOCK_MAXRECS(mp, 1));
fprintf(stderr, "bnobt level 1, maxrec = %d, minrec = %d\n",
- xfs_allocbt_maxrecs(mp, mp->m_sb.sb_blocksize, 0),
- xfs_allocbt_maxrecs(mp, mp->m_sb.sb_blocksize, 0) / 2);
+ libxfs_allocbt_maxrecs(mp, mp->m_sb.sb_blocksize, 0),
+ libxfs_allocbt_maxrecs(mp, mp->m_sb.sb_blocksize, 0) / 2);
fprintf(stderr, "bnobt level 0 (leaf), maxrec = %d, minrec = %d\n",
- xfs_allocbt_maxrecs(mp, mp->m_sb.sb_blocksize, 1),
- xfs_allocbt_maxrecs(mp, mp->m_sb.sb_blocksize, 1) / 2);
+ libxfs_allocbt_maxrecs(mp, mp->m_sb.sb_blocksize, 1),
+ libxfs_allocbt_maxrecs(mp, mp->m_sb.sb_blocksize, 1) / 2);
#endif
/*
* make sure the root and realtime inodes show up allocated
@@ -451,7 +451,7 @@ bmap_next_offset(
}
ifp = XFS_IFORK_PTR(ip, whichfork);
if (!(ifp->if_flags & XFS_IFEXTENTS) &&
- (error = xfs_iread_extents(tp, ip, whichfork)))
+ (error = -libxfs_iread_extents(tp, ip, whichfork)))
return error;
bno = *bnop + 1;
libxfs_bmap_search_extents(ip, bno, whichfork, &eof, &lastx,
@@ -1286,7 +1286,7 @@ longform_dir2_rebuild(
*/
pip.i_ino = get_inode_parent(irec, ino_offset);
if (pip.i_ino == NULLFSINO ||
- xfs_dir_ino_validate(mp, pip.i_ino))
+ libxfs_dir_ino_validate(mp, pip.i_ino))
pip.i_ino = mp->m_sb.sb_rootino;
libxfs_defer_init(&dfops, &firstblock);
@@ -1311,7 +1311,7 @@ longform_dir2_rebuild(
ASSERT(done);
- error = libxfs_dir_init(tp, ip, &pip);
+ error = -libxfs_dir_init(tp, ip, &pip);
if (error) {
do_warn(_("xfs_dir_init failed -- error - %d\n"), error);
goto out_bmap_cancel;
@@ -369,7 +369,7 @@ pf_read_btinode(
return;
dsize = XFS_DFORK_DSIZE(dino, mp);
- pp = XFS_BMDR_PTR_ADDR(dib, 1, xfs_bmdr_maxrecs(dsize, 0));
+ pp = XFS_BMDR_PTR_ADDR(dib, 1, libxfs_bmdr_maxrecs(dsize, 0));
for (i = 0; i < numrecs; i++) {
dbno = get_unaligned_be64(&pp[i]);
@@ -431,7 +431,7 @@ pf_read_inode_dirs(
if (be16_to_cpu(dino->di_magic) != XFS_DINODE_MAGIC)
continue;
- if (!xfs_dinode_good_version(mp, dino->di_version))
+ if (!libxfs_dinode_good_version(mp, dino->di_version))
continue;
if (be64_to_cpu(dino->di_size) <= XFS_DFORK_DSIZE(dino, mp))
@@ -61,8 +61,8 @@ rmap_compare(
__u64 ob;
pa = a; pb = b;
- oa = xfs_rmap_irec_offset_pack(pa);
- ob = xfs_rmap_irec_offset_pack(pb);
+ oa = libxfs_rmap_irec_offset_pack(pa);
+ ob = libxfs_rmap_irec_offset_pack(pb);
if (pa->rm_startblock < pb->rm_startblock)
return -1;
@@ -498,7 +498,7 @@ store_ag_btree_rmap_data(
goto err;
/* Add the AGFL blocks to the rmap list */
- error = libxfs_trans_read_buf(
+ error = -libxfs_trans_read_buf(
mp, NULL, mp->m_ddev_targp,
XFS_AG_DADDR(mp, agno, XFS_AGFL_DADDR(mp)),
XFS_FSS_TO_BB(mp, 1), 0, &agflbp, &xfs_agfl_buf_ops);
@@ -536,13 +536,13 @@ store_ag_btree_rmap_data(
if (error)
goto err_slab;
- error = libxfs_alloc_read_agf(mp, tp, agno, 0, &agbp);
+ error = -libxfs_alloc_read_agf(mp, tp, agno, 0, &agbp);
if (error)
goto err_trans;
ASSERT(XFS_RMAP_NON_INODE_OWNER(rm_rec->rm_owner));
libxfs_rmap_ag_owner(&oinfo, rm_rec->rm_owner);
- error = libxfs_rmap_alloc(tp, agbp, agno, rm_rec->rm_startblock,
+ error = -libxfs_rmap_alloc(tp, agbp, agno, rm_rec->rm_startblock,
rm_rec->rm_blockcount, &oinfo);
if (error)
goto err_trans;
@@ -716,9 +716,9 @@ check_rmaps(
goto err;
/* Leave the per-ag data "uninitialized" since we rewrite it later */
- pag = xfs_perag_get(mp, agno);
+ pag = libxfs_perag_get(mp, agno);
pag->pagf_init = 0;
- xfs_perag_put(pag);
+ libxfs_perag_put(pag);
bt_cur = libxfs_rmapbt_init_cursor(mp, NULL, agbp, agno);
if (!bt_cur) {
@@ -804,10 +804,10 @@ rmap_diffkeys(
tmp = *kp1;
tmp.rm_flags &= ~XFS_RMAP_REC_FLAGS;
- oa = xfs_rmap_irec_offset_pack(&tmp);
+ oa = libxfs_rmap_irec_offset_pack(&tmp);
tmp = *kp2;
tmp.rm_flags &= ~XFS_RMAP_REC_FLAGS;
- ob = xfs_rmap_irec_offset_pack(&tmp);
+ ob = libxfs_rmap_irec_offset_pack(&tmp);
d = (__int64_t)kp1->rm_startblock - kp2->rm_startblock;
if (d)
@@ -867,7 +867,7 @@ fix_freelist(
args.mp = mp;
args.agno = agno;
args.alignment = 1;
- args.pag = xfs_perag_get(mp, agno);
+ args.pag = libxfs_perag_get(mp, agno);
error = -libxfs_trans_alloc(mp, &tres,
libxfs_alloc_min_freelist(mp, args.pag), 0, 0, &tp);
if (error)
@@ -899,8 +899,8 @@ fix_freelist(
flags = XFS_ALLOC_FLAG_NOSHRINK;
if (skip_rmapbt)
flags |= XFS_ALLOC_FLAG_NORMAP;
- error = libxfs_alloc_fix_freelist(&args, flags);
- xfs_perag_put(args.pag);
+ error = -libxfs_alloc_fix_freelist(&args, flags);
+ libxfs_perag_put(args.pag);
if (error) {
do_error(_("failed to fix AGFL on AG %d, error %d\n"),
agno, error);
@@ -384,7 +384,7 @@ verify_sb(char *sb_buf, xfs_sb_t *sb, int is_primary_sb)
/* sector size in range - CRC check time */
if (xfs_sb_version_hascrc(sb) &&
- !xfs_verify_cksum(sb_buf, sb->sb_sectsize, XFS_SB_CRC_OFF))
+ !libxfs_verify_cksum(sb_buf, sb->sb_sectsize, XFS_SB_CRC_OFF))
return XR_BAD_CRC;
/* check to ensure blocksize and blocklog are legal */
new file mode 100755
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+# Find libxfs API violations -- calls to functions defined in libxfs/*.c that
+# don't use the libxfs wrappers; or failing to negate the integer return
+# values.
+
+# NOTE: This script doesn't look for API violations in function parameters.
+
+tool_dirs="copy db estimate fs fsck fsr growfs io mdrestore mkfs quota repair rtcp"
+
+# Calls to xfs_* functions in libxfs/*.c without the libxfs_ prefix
+find_possible_api_calls() {
+ grep -rn '[[:space:],-(]xfs_[a-z_]*(' $tool_dirs | sed -e 's/^.*\(xfs_[a-z_]*\)(.*$/\1/g' | sort | uniq
+}
+
+check_if_api_calls() {
+ while read f; do grep "^$f(" libxfs/*.c; done | sed -e 's/^.*:xfs_/xfs_/g' -e 's/.$//g'
+}
+
+find_libxfs_violations() {
+ grep -r -n -f <(find_possible_api_calls | check_if_api_calls | sed -e 's/^/[[:space:],-(]/g' -e 's/$/(/g' ) $tool_dirs
+}
+
+# libxfs calls without negated error codes
+find_errcode_violations() {
+ grep -r -n 'err.* = libxfs' $tool_dirs
+}
+
+# Find xfs_* calls that are in the libxfs definition list
+find_possible_libxfs_api_calls() {
+ grep '#define[[:space:]]*xfs' libxfs/libxfs_api_defs.h | awk '{print $2}'
+}
+
+find_libxfs_api_violations() {
+ grep -r -n -f <(find_possible_libxfs_api_calls | sed -e 's/^/[[:space:],-(]/g' -e 's/$/(/g') $tool_dirs
+}
+
+(find_libxfs_violations ; find_errcode_violations ; find_libxfs_api_violations) | sort -g -t ':' -k 2 | sort -g -t ':' -k 1 | uniq
Fix all the client programs to use 'libxfs_' prefixes for non-inline function calls and to negate integer return codes. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> --- db/bmap.c | 4 ++- db/bmroot.c | 4 ++- db/check.c | 6 +++-- db/frag.c | 2 +- db/fsmap.c | 8 +++---- db/init.c | 2 +- db/logformat.c | 2 +- db/metadump.c | 4 ++- io/open.c | 2 +- libxfs/libxfs_api_defs.h | 15 +++++++++++++ mkfs/maxtrres.c | 2 +- mkfs/xfs_mkfs.c | 46 +++++++++++++++++++-------------------- repair/dinode.c | 8 +++---- repair/phase5.c | 50 +++++++++++++++++++++--------------------- repair/phase6.c | 6 +++-- repair/prefetch.c | 4 ++- repair/rmap.c | 24 ++++++++++---------- repair/sb.c | 2 +- tools/find-api-violations.sh | 38 ++++++++++++++++++++++++++++++++ 19 files changed, 141 insertions(+), 88 deletions(-) create mode 100755 tools/find-api-violations.sh