/*ARGSUSED*/
static int
ablock_f(
- int argc,
- char **argv)
+ int argc,
+ char **argv)
{
- bmap_ext_t bm;
- xfs_fileoff_t bno;
- xfs_fsblock_t dfsbno;
- int haveattr;
- int nex;
- char *p;
+ bmap_ext_t bm;
+ xfs_fileoff_t bno;
+ xfs_fsblock_t dfsbno;
+ int haveattr;
+ int nex;
+ char *p;
+ struct xfs_dinode *dip = iocur_top->data;
bno = (xfs_fileoff_t)strtoull(argv[1], &p, 0);
if (*p != '\0') {
}
push_cur();
set_cur_inode(iocur_top->ino);
- if (!iocur_top->data) {
+ if (!dip) {
pop_cur();
dbprintf(_("no current inode\n"));
return 0;
}
- haveattr = XFS_DFORK_Q((xfs_dinode_t *)iocur_top->data);
+ haveattr = dip->di_forkoff;
pop_cur();
if (!haveattr) {
dbprintf(_("no attribute data for file\n"));
ASSERT(bitoffs(startoff) == 0);
ASSERT(obj == iocur_top->data);
block = (xfs_bmdr_block_t *)((char *)obj + byteize(startoff));
- ASSERT(XFS_DFORK_Q(dip) && (char *)block == XFS_DFORK_APTR(dip));
+ ASSERT(dip->di_forkoff != 0 && (char *)block == XFS_DFORK_APTR(dip));
ASSERT(be16_to_cpu(block->bb_level) > 0);
return be16_to_cpu(block->bb_numrecs);
}
ASSERT(bitoffs(startoff) == 0);
ASSERT(obj == iocur_top->data);
block = (xfs_bmdr_block_t *)((char *)obj + byteize(startoff));
- ASSERT(XFS_DFORK_Q(dip) && (char *)block == XFS_DFORK_APTR(dip));
+ ASSERT(dip->di_forkoff != 0 && (char *)block == XFS_DFORK_APTR(dip));
ASSERT(be16_to_cpu(block->bb_level) > 0);
kp = XFS_BMDR_KEY_ADDR(block, idx);
return bitize((int)((char *)kp - (char *)block));
ASSERT(bitoffs(startoff) == 0);
ASSERT(obj == iocur_top->data);
block = (xfs_bmdr_block_t *)((char *)obj + byteize(startoff));
- ASSERT(XFS_DFORK_Q(dip) && (char *)block == XFS_DFORK_APTR(dip));
+ ASSERT(dip->di_forkoff != 0 && (char *)block == XFS_DFORK_APTR(dip));
ASSERT(be16_to_cpu(block->bb_level) > 0);
return be16_to_cpu(block->bb_numrecs);
}
ASSERT(obj == iocur_top->data);
dip = obj;
block = (xfs_bmdr_block_t *)((char *)obj + byteize(startoff));
- ASSERT(XFS_DFORK_Q(dip) && (char *)block == XFS_DFORK_APTR(dip));
+ ASSERT(dip->di_forkoff != 0 && (char *)block == XFS_DFORK_APTR(dip));
ASSERT(be16_to_cpu(block->bb_level) > 0);
pp = XFS_BMDR_PTR_ADDR(block, idx,
libxfs_bmdr_maxrecs(XFS_DFORK_ASIZE(dip, mp), 0));
dip = obj;
#ifdef DEBUG
block = (xfs_bmdr_block_t *)((char *)obj + byteize(startoff));
- ASSERT(XFS_DFORK_Q(dip) && (char *)block == XFS_DFORK_APTR(dip));
+ ASSERT(dip->di_forkoff != 0 && (char *)block == XFS_DFORK_APTR(dip));
#endif
return bitize((int)XFS_DFORK_ASIZE(dip, mp));
}
&nextents, &blkmap, XFS_DATA_FORK);
break;
}
- if (XFS_DFORK_Q(dip)) {
+ if (dip->di_forkoff) {
sbversion |= XFS_SB_VERSION_ATTRBIT;
switch (dip->di_aformat) {
case XFS_DINODE_FMT_LOCAL:
ideal = extcount_ideal;
if (!skipd)
process_fork(dip, XFS_DATA_FORK);
- skipa = !aflag || !XFS_DFORK_Q(dip);
+ skipa = !aflag || !dip->di_forkoff;
if (!skipa)
process_fork(dip, XFS_ATTR_FORK);
if (vflag && (!skipd || !skipa))
ASSERT(bitoffs(startoff) == 0);
ASSERT(obj == iocur_top->data);
dip = obj;
- if (!XFS_DFORK_Q(dip))
+ if (!dip->di_forkoff)
return 0;
ASSERT((char *)XFS_DFORK_APTR(dip) - (char *)dip == byteize(startoff));
return dip->di_aformat == XFS_DINODE_FMT_BTREE;
ASSERT(bitoffs(startoff) == 0);
ASSERT(obj == iocur_top->data);
dip = obj;
- if (!XFS_DFORK_Q(dip))
+ if (!dip->di_forkoff)
return 0;
ASSERT((char *)XFS_DFORK_APTR(dip) - (char *)dip == byteize(startoff));
return dip->di_aformat == XFS_DINODE_FMT_EXTENTS ?
ASSERT(startoff == 0);
dip = obj;
- return XFS_DFORK_Q(dip);
+ return dip->di_forkoff;
}
static int
ASSERT(startoff == 0);
ASSERT(idx == 0);
dip = obj;
- ASSERT(XFS_DFORK_Q(dip));
+ ASSERT(dip->di_forkoff != 0);
return bitize((int)((char *)XFS_DFORK_APTR(dip) - (char *)dip));
}
ASSERT(bitoffs(startoff) == 0);
ASSERT(obj == iocur_top->data);
dip = obj;
- if (!XFS_DFORK_Q(dip))
+ if (!dip->di_forkoff)
return 0;
ASSERT((char *)XFS_DFORK_APTR(dip) - (char *)dip == byteize(startoff));
return dip->di_aformat == XFS_DINODE_FMT_LOCAL;
/*
* Inode data & attribute fork sizes, per inode.
*/
-#define XFS_DFORK_Q(dip) ((dip)->di_forkoff != 0)
#define XFS_DFORK_BOFF(dip) ((int)((dip)->di_forkoff << 3))
#define XFS_DFORK_DSIZE(dip,mp) \
- (XFS_DFORK_Q(dip) ? XFS_DFORK_BOFF(dip) : XFS_LITINO(mp))
+ ((dip)->di_forkoff ? XFS_DFORK_BOFF(dip) : XFS_LITINO(mp))
#define XFS_DFORK_ASIZE(dip,mp) \
- (XFS_DFORK_Q(dip) ? XFS_LITINO(mp) - XFS_DFORK_BOFF(dip) : 0)
+ ((dip)->di_forkoff ? XFS_LITINO(mp) - XFS_DFORK_BOFF(dip) : 0)
#define XFS_DFORK_SIZE(dip,mp,w) \
((w) == XFS_DATA_FORK ? \
XFS_DFORK_DSIZE(dip, mp) : \
error = xfs_iformat_data_fork(ip, from);
if (error)
return error;
- if (XFS_DFORK_Q(from)) {
+ if (from->di_forkoff) {
error = xfs_iformat_attr_fork(ip, from);
if (error)
goto out_destroy_data_fork;
struct xfs_dinode *dip,
struct xfs_mount *mp)
{
- if (!XFS_DFORK_Q(dip))
+ if (!dip->di_forkoff)
return NULL;
switch (dip->di_format) {
return __this_address;
}
- if (XFS_DFORK_Q(dip)) {
+ if (dip->di_forkoff) {
fa = xfs_dinode_verify_fork(dip, mp, XFS_ATTR_FORK);
if (fa)
return fa;
int repair = 0;
int err;
- if (!XFS_DFORK_Q(dino)) {
+ if (!dino->di_forkoff) {
*anextents = 0;
if (dino->di_aformat != XFS_DINODE_FMT_EXTENTS) {
do_warn(_("bad attribute format %d in inode %" PRIu64 ", "),