ping? On Thu, Nov 14, 2013 at 08:46:03AM -0800, Christoph Hellwig wrote: > Trying to support tiny disks only and saving a bit memory might have > made sense on an SGI O2 15 years ago, but is pretty pointless today. > > Remove the rarely tested codepath that uses various smaller in-memory > types to reduce our test matrix and make the codebase a little bit > smaller and less complicated. > > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > > diff --git a/fs/xfs/Kconfig b/fs/xfs/Kconfig > index 399e8ce..5d47b4d 100644 > --- a/fs/xfs/Kconfig > +++ b/fs/xfs/Kconfig > @@ -1,6 +1,7 @@ > config XFS_FS > tristate "XFS filesystem support" > depends on BLOCK > + depends on (64BIT || LBDAF) > select EXPORTFS > select LIBCRC32C > help > diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c > index 1c02da8..b0eccfc 100644 > --- a/fs/xfs/xfs_bmap.c > +++ b/fs/xfs/xfs_bmap.c > @@ -393,7 +393,7 @@ xfs_bmap_check_leaf_extents( > pp = XFS_BMAP_BROOT_PTR_ADDR(mp, block, 1, ifp->if_broot_bytes); > bno = be64_to_cpu(*pp); > > - ASSERT(bno != NULLDFSBNO); > + ASSERT(bno != NULLFSBLOCK); > ASSERT(XFS_FSB_TO_AGNO(mp, bno) < mp->m_sb.sb_agcount); > ASSERT(XFS_FSB_TO_AGBNO(mp, bno) < mp->m_sb.sb_agblocks); > > @@ -1295,7 +1295,7 @@ xfs_bmap_read_extents( > ASSERT(level > 0); > pp = XFS_BMAP_BROOT_PTR_ADDR(mp, block, 1, ifp->if_broot_bytes); > bno = be64_to_cpu(*pp); > - ASSERT(bno != NULLDFSBNO); > + ASSERT(bno != NULLFSBLOCK); > ASSERT(XFS_FSB_TO_AGNO(mp, bno) < mp->m_sb.sb_agcount); > ASSERT(XFS_FSB_TO_AGBNO(mp, bno) < mp->m_sb.sb_agblocks); > /* > @@ -1425,11 +1425,7 @@ xfs_bmap_search_multi_extents( > gotp->br_startoff = 0xffa5a5a5a5a5a5a5LL; > gotp->br_blockcount = 0xa55a5a5a5a5a5a5aLL; > gotp->br_state = XFS_EXT_INVALID; > -#if XFS_BIG_BLKNOS > gotp->br_startblock = 0xffffa5a5a5a5a5a5LL; > -#else > - gotp->br_startblock = 0xffffa5a5; > -#endif > prevp->br_startoff = NULLFILEOFF; > > ep = xfs_iext_bno_to_ext(ifp, bno, &lastx); > diff --git a/fs/xfs/xfs_bmap_btree.c b/fs/xfs/xfs_bmap_btree.c > index 706bc3f..9c05b00 100644 > --- a/fs/xfs/xfs_bmap_btree.c > +++ b/fs/xfs/xfs_bmap_btree.c > @@ -111,23 +111,8 @@ __xfs_bmbt_get_all( > ext_flag = (int)(l0 >> (64 - BMBT_EXNTFLAG_BITLEN)); > s->br_startoff = ((xfs_fileoff_t)l0 & > xfs_mask64lo(64 - BMBT_EXNTFLAG_BITLEN)) >> 9; > -#if XFS_BIG_BLKNOS > s->br_startblock = (((xfs_fsblock_t)l0 & xfs_mask64lo(9)) << 43) | > (((xfs_fsblock_t)l1) >> 21); > -#else > -#ifdef DEBUG > - { > - xfs_dfsbno_t b; > - > - b = (((xfs_dfsbno_t)l0 & xfs_mask64lo(9)) << 43) | > - (((xfs_dfsbno_t)l1) >> 21); > - ASSERT((b >> 32) == 0 || isnulldstartblock(b)); > - s->br_startblock = (xfs_fsblock_t)b; > - } > -#else /* !DEBUG */ > - s->br_startblock = (xfs_fsblock_t)(((xfs_dfsbno_t)l1) >> 21); > -#endif /* DEBUG */ > -#endif /* XFS_BIG_BLKNOS */ > s->br_blockcount = (xfs_filblks_t)(l1 & xfs_mask64lo(21)); > /* This is xfs_extent_state() in-line */ > if (ext_flag) { > @@ -163,21 +148,8 @@ xfs_fsblock_t > xfs_bmbt_get_startblock( > xfs_bmbt_rec_host_t *r) > { > -#if XFS_BIG_BLKNOS > return (((xfs_fsblock_t)r->l0 & xfs_mask64lo(9)) << 43) | > (((xfs_fsblock_t)r->l1) >> 21); > -#else > -#ifdef DEBUG > - xfs_dfsbno_t b; > - > - b = (((xfs_dfsbno_t)r->l0 & xfs_mask64lo(9)) << 43) | > - (((xfs_dfsbno_t)r->l1) >> 21); > - ASSERT((b >> 32) == 0 || isnulldstartblock(b)); > - return (xfs_fsblock_t)b; > -#else /* !DEBUG */ > - return (xfs_fsblock_t)(((xfs_dfsbno_t)r->l1) >> 21); > -#endif /* DEBUG */ > -#endif /* XFS_BIG_BLKNOS */ > } > > /* > @@ -241,7 +213,6 @@ xfs_bmbt_set_allf( > ASSERT((startoff & xfs_mask64hi(64-BMBT_STARTOFF_BITLEN)) == 0); > ASSERT((blockcount & xfs_mask64hi(64-BMBT_BLOCKCOUNT_BITLEN)) == 0); > > -#if XFS_BIG_BLKNOS > ASSERT((startblock & xfs_mask64hi(64-BMBT_STARTBLOCK_BITLEN)) == 0); > > r->l0 = ((xfs_bmbt_rec_base_t)extent_flag << 63) | > @@ -250,23 +221,6 @@ xfs_bmbt_set_allf( > r->l1 = ((xfs_bmbt_rec_base_t)startblock << 21) | > ((xfs_bmbt_rec_base_t)blockcount & > (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); > -#else /* !XFS_BIG_BLKNOS */ > - if (isnullstartblock(startblock)) { > - r->l0 = ((xfs_bmbt_rec_base_t)extent_flag << 63) | > - ((xfs_bmbt_rec_base_t)startoff << 9) | > - (xfs_bmbt_rec_base_t)xfs_mask64lo(9); > - r->l1 = xfs_mask64hi(11) | > - ((xfs_bmbt_rec_base_t)startblock << 21) | > - ((xfs_bmbt_rec_base_t)blockcount & > - (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); > - } else { > - r->l0 = ((xfs_bmbt_rec_base_t)extent_flag << 63) | > - ((xfs_bmbt_rec_base_t)startoff << 9); > - r->l1 = ((xfs_bmbt_rec_base_t)startblock << 21) | > - ((xfs_bmbt_rec_base_t)blockcount & > - (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); > - } > -#endif /* XFS_BIG_BLKNOS */ > } > > /* > @@ -298,8 +252,6 @@ xfs_bmbt_disk_set_allf( > ASSERT(state == XFS_EXT_NORM || state == XFS_EXT_UNWRITTEN); > ASSERT((startoff & xfs_mask64hi(64-BMBT_STARTOFF_BITLEN)) == 0); > ASSERT((blockcount & xfs_mask64hi(64-BMBT_BLOCKCOUNT_BITLEN)) == 0); > - > -#if XFS_BIG_BLKNOS > ASSERT((startblock & xfs_mask64hi(64-BMBT_STARTBLOCK_BITLEN)) == 0); > > r->l0 = cpu_to_be64( > @@ -310,26 +262,6 @@ xfs_bmbt_disk_set_allf( > ((xfs_bmbt_rec_base_t)startblock << 21) | > ((xfs_bmbt_rec_base_t)blockcount & > (xfs_bmbt_rec_base_t)xfs_mask64lo(21))); > -#else /* !XFS_BIG_BLKNOS */ > - if (isnullstartblock(startblock)) { > - r->l0 = cpu_to_be64( > - ((xfs_bmbt_rec_base_t)extent_flag << 63) | > - ((xfs_bmbt_rec_base_t)startoff << 9) | > - (xfs_bmbt_rec_base_t)xfs_mask64lo(9)); > - r->l1 = cpu_to_be64(xfs_mask64hi(11) | > - ((xfs_bmbt_rec_base_t)startblock << 21) | > - ((xfs_bmbt_rec_base_t)blockcount & > - (xfs_bmbt_rec_base_t)xfs_mask64lo(21))); > - } else { > - r->l0 = cpu_to_be64( > - ((xfs_bmbt_rec_base_t)extent_flag << 63) | > - ((xfs_bmbt_rec_base_t)startoff << 9)); > - r->l1 = cpu_to_be64( > - ((xfs_bmbt_rec_base_t)startblock << 21) | > - ((xfs_bmbt_rec_base_t)blockcount & > - (xfs_bmbt_rec_base_t)xfs_mask64lo(21))); > - } > -#endif /* XFS_BIG_BLKNOS */ > } > > /* > @@ -365,24 +297,11 @@ xfs_bmbt_set_startblock( > xfs_bmbt_rec_host_t *r, > xfs_fsblock_t v) > { > -#if XFS_BIG_BLKNOS > ASSERT((v & xfs_mask64hi(12)) == 0); > r->l0 = (r->l0 & (xfs_bmbt_rec_base_t)xfs_mask64hi(55)) | > (xfs_bmbt_rec_base_t)(v >> 43); > r->l1 = (r->l1 & (xfs_bmbt_rec_base_t)xfs_mask64lo(21)) | > (xfs_bmbt_rec_base_t)(v << 21); > -#else /* !XFS_BIG_BLKNOS */ > - if (isnullstartblock(v)) { > - r->l0 |= (xfs_bmbt_rec_base_t)xfs_mask64lo(9); > - r->l1 = (xfs_bmbt_rec_base_t)xfs_mask64hi(11) | > - ((xfs_bmbt_rec_base_t)v << 21) | > - (r->l1 & (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); > - } else { > - r->l0 &= ~(xfs_bmbt_rec_base_t)xfs_mask64lo(9); > - r->l1 = ((xfs_bmbt_rec_base_t)v << 21) | > - (r->l1 & (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); > - } > -#endif /* XFS_BIG_BLKNOS */ > } > > /* > @@ -438,8 +357,8 @@ xfs_bmbt_to_bmdr( > cpu_to_be64(XFS_BUF_DADDR_NULL)); > } else > ASSERT(rblock->bb_magic == cpu_to_be32(XFS_BMAP_MAGIC)); > - ASSERT(rblock->bb_u.l.bb_leftsib == cpu_to_be64(NULLDFSBNO)); > - ASSERT(rblock->bb_u.l.bb_rightsib == cpu_to_be64(NULLDFSBNO)); > + ASSERT(rblock->bb_u.l.bb_leftsib == cpu_to_be64(NULLFSBLOCK)); > + ASSERT(rblock->bb_u.l.bb_rightsib == cpu_to_be64(NULLFSBLOCK)); > ASSERT(rblock->bb_level != 0); > dblock->bb_level = rblock->bb_level; > dblock->bb_numrecs = rblock->bb_numrecs; > @@ -765,11 +684,11 @@ xfs_bmbt_verify( > > /* sibling pointer verification */ > if (!block->bb_u.l.bb_leftsib || > - (block->bb_u.l.bb_leftsib != cpu_to_be64(NULLDFSBNO) && > + (block->bb_u.l.bb_leftsib != cpu_to_be64(NULLFSBLOCK) && > !XFS_FSB_SANITY_CHECK(mp, be64_to_cpu(block->bb_u.l.bb_leftsib)))) > return false; > if (!block->bb_u.l.bb_rightsib || > - (block->bb_u.l.bb_rightsib != cpu_to_be64(NULLDFSBNO) && > + (block->bb_u.l.bb_rightsib != cpu_to_be64(NULLFSBLOCK) && > !XFS_FSB_SANITY_CHECK(mp, be64_to_cpu(block->bb_u.l.bb_rightsib)))) > return false; > > diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c > index 5887e41..699776e 100644 > --- a/fs/xfs/xfs_bmap_util.c > +++ b/fs/xfs/xfs_bmap_util.c > @@ -467,7 +467,7 @@ xfs_bmap_count_blocks( > ASSERT(level > 0); > pp = XFS_BMAP_BROOT_PTR_ADDR(mp, block, 1, ifp->if_broot_bytes); > bno = be64_to_cpu(*pp); > - ASSERT(bno != NULLDFSBNO); > + ASSERT(bno != NULLFSBLOCK); > ASSERT(XFS_FSB_TO_AGNO(mp, bno) < mp->m_sb.sb_agcount); > ASSERT(XFS_FSB_TO_AGBNO(mp, bno) < mp->m_sb.sb_agblocks); > > diff --git a/fs/xfs/xfs_btree.c b/fs/xfs/xfs_btree.c > index 9adaae4..6f217a5 100644 > --- a/fs/xfs/xfs_btree.c > +++ b/fs/xfs/xfs_btree.c > @@ -76,11 +76,11 @@ xfs_btree_check_lblock( > be16_to_cpu(block->bb_numrecs) <= > cur->bc_ops->get_maxrecs(cur, level) && > block->bb_u.l.bb_leftsib && > - (block->bb_u.l.bb_leftsib == cpu_to_be64(NULLDFSBNO) || > + (block->bb_u.l.bb_leftsib == cpu_to_be64(NULLFSBLOCK) || > XFS_FSB_SANITY_CHECK(mp, > be64_to_cpu(block->bb_u.l.bb_leftsib))) && > block->bb_u.l.bb_rightsib && > - (block->bb_u.l.bb_rightsib == cpu_to_be64(NULLDFSBNO) || > + (block->bb_u.l.bb_rightsib == cpu_to_be64(NULLFSBLOCK) || > XFS_FSB_SANITY_CHECK(mp, > be64_to_cpu(block->bb_u.l.bb_rightsib))); > > @@ -165,12 +165,12 @@ xfs_btree_check_block( > int /* error (0 or EFSCORRUPTED) */ > xfs_btree_check_lptr( > struct xfs_btree_cur *cur, /* btree cursor */ > - xfs_dfsbno_t bno, /* btree block disk address */ > + xfs_fsblock_t bno, /* btree block disk address */ > int level) /* btree block level */ > { > XFS_WANT_CORRUPTED_RETURN( > level > 0 && > - bno != NULLDFSBNO && > + bno != NULLFSBLOCK && > XFS_FSB_SANITY_CHECK(cur->bc_mp, bno)); > return 0; > } > @@ -601,7 +601,7 @@ xfs_btree_islastblock( > block = xfs_btree_get_block(cur, level, &bp); > xfs_btree_check_block(cur, block, level, bp); > if (cur->bc_flags & XFS_BTREE_LONG_PTRS) > - return block->bb_u.l.bb_rightsib == cpu_to_be64(NULLDFSBNO); > + return block->bb_u.l.bb_rightsib == cpu_to_be64(NULLFSBLOCK); > else > return block->bb_u.s.bb_rightsib == cpu_to_be32(NULLAGBLOCK); > } > @@ -778,16 +778,16 @@ xfs_btree_readahead_lblock( > struct xfs_btree_block *block) > { > int rval = 0; > - xfs_dfsbno_t left = be64_to_cpu(block->bb_u.l.bb_leftsib); > - xfs_dfsbno_t right = be64_to_cpu(block->bb_u.l.bb_rightsib); > + xfs_fsblock_t left = be64_to_cpu(block->bb_u.l.bb_leftsib); > + xfs_fsblock_t right = be64_to_cpu(block->bb_u.l.bb_rightsib); > > - if ((lr & XFS_BTCUR_LEFTRA) && left != NULLDFSBNO) { > + if ((lr & XFS_BTCUR_LEFTRA) && left != NULLFSBLOCK) { > xfs_btree_reada_bufl(cur->bc_mp, left, 1, > cur->bc_ops->buf_ops); > rval++; > } > > - if ((lr & XFS_BTCUR_RIGHTRA) && right != NULLDFSBNO) { > + if ((lr & XFS_BTCUR_RIGHTRA) && right != NULLFSBLOCK) { > xfs_btree_reada_bufl(cur->bc_mp, right, 1, > cur->bc_ops->buf_ops); > rval++; > @@ -859,7 +859,7 @@ xfs_btree_ptr_to_daddr( > union xfs_btree_ptr *ptr) > { > if (cur->bc_flags & XFS_BTREE_LONG_PTRS) { > - ASSERT(ptr->l != cpu_to_be64(NULLDFSBNO)); > + ASSERT(ptr->l != cpu_to_be64(NULLFSBLOCK)); > > return XFS_FSB_TO_DADDR(cur->bc_mp, be64_to_cpu(ptr->l)); > } else { > @@ -907,9 +907,9 @@ xfs_btree_setbuf( > > b = XFS_BUF_TO_BLOCK(bp); > if (cur->bc_flags & XFS_BTREE_LONG_PTRS) { > - if (b->bb_u.l.bb_leftsib == cpu_to_be64(NULLDFSBNO)) > + if (b->bb_u.l.bb_leftsib == cpu_to_be64(NULLFSBLOCK)) > cur->bc_ra[lev] |= XFS_BTCUR_LEFTRA; > - if (b->bb_u.l.bb_rightsib == cpu_to_be64(NULLDFSBNO)) > + if (b->bb_u.l.bb_rightsib == cpu_to_be64(NULLFSBLOCK)) > cur->bc_ra[lev] |= XFS_BTCUR_RIGHTRA; > } else { > if (b->bb_u.s.bb_leftsib == cpu_to_be32(NULLAGBLOCK)) > @@ -925,7 +925,7 @@ xfs_btree_ptr_is_null( > union xfs_btree_ptr *ptr) > { > if (cur->bc_flags & XFS_BTREE_LONG_PTRS) > - return ptr->l == cpu_to_be64(NULLDFSBNO); > + return ptr->l == cpu_to_be64(NULLFSBLOCK); > else > return ptr->s == cpu_to_be32(NULLAGBLOCK); > } > @@ -936,7 +936,7 @@ xfs_btree_set_ptr_null( > union xfs_btree_ptr *ptr) > { > if (cur->bc_flags & XFS_BTREE_LONG_PTRS) > - ptr->l = cpu_to_be64(NULLDFSBNO); > + ptr->l = cpu_to_be64(NULLFSBLOCK); > else > ptr->s = cpu_to_be32(NULLAGBLOCK); > } > @@ -1004,8 +1004,8 @@ xfs_btree_init_block_int( > buf->bb_numrecs = cpu_to_be16(numrecs); > > if (flags & XFS_BTREE_LONG_PTRS) { > - buf->bb_u.l.bb_leftsib = cpu_to_be64(NULLDFSBNO); > - buf->bb_u.l.bb_rightsib = cpu_to_be64(NULLDFSBNO); > + buf->bb_u.l.bb_leftsib = cpu_to_be64(NULLFSBLOCK); > + buf->bb_u.l.bb_rightsib = cpu_to_be64(NULLFSBLOCK); > if (flags & XFS_BTREE_CRC_BLOCKS) { > buf->bb_u.l.bb_blkno = cpu_to_be64(blkno); > buf->bb_u.l.bb_owner = cpu_to_be64(owner); > diff --git a/fs/xfs/xfs_btree.h b/fs/xfs/xfs_btree.h > index 91e34f2..a5f0ee7 100644 > --- a/fs/xfs/xfs_btree.h > +++ b/fs/xfs/xfs_btree.h > @@ -255,7 +255,7 @@ xfs_btree_check_block( > int /* error (0 or EFSCORRUPTED) */ > xfs_btree_check_lptr( > struct xfs_btree_cur *cur, /* btree cursor */ > - xfs_dfsbno_t ptr, /* btree block disk address */ > + xfs_fsblock_t ptr, /* btree block disk address */ > int level); /* btree block level */ > > /* > diff --git a/fs/xfs/xfs_da_btree.c b/fs/xfs/xfs_da_btree.c > index 796272a..6ea2c63 100644 > --- a/fs/xfs/xfs_da_btree.c > +++ b/fs/xfs/xfs_da_btree.c > @@ -2002,7 +2002,7 @@ xfs_da_grow_inode_int( > struct xfs_trans *tp = args->trans; > struct xfs_inode *dp = args->dp; > int w = args->whichfork; > - xfs_drfsbno_t nblks = dp->i_d.di_nblocks; > + xfs_rfsblock_t nblks = dp->i_d.di_nblocks; > struct xfs_bmbt_irec map, *mapp; > int nmap, error, got, i, mapi; > > diff --git a/fs/xfs/xfs_dir2_sf.c b/fs/xfs/xfs_dir2_sf.c > index aafc6e4..411407d 100644 > --- a/fs/xfs/xfs_dir2_sf.c > +++ b/fs/xfs/xfs_dir2_sf.c > @@ -51,10 +51,9 @@ static void xfs_dir2_sf_check(xfs_da_args_t *args); > #else > #define xfs_dir2_sf_check(args) > #endif /* DEBUG */ > -#if XFS_BIG_INUMS > + > static void xfs_dir2_sf_toino4(xfs_da_args_t *args); > static void xfs_dir2_sf_toino8(xfs_da_args_t *args); > -#endif /* XFS_BIG_INUMS */ > > /* > * Given a block directory (dp/block), calculate its size as a shortform (sf) > @@ -115,10 +114,10 @@ xfs_dir2_block_sfsize( > isdotdot = > dep->namelen == 2 && > dep->name[0] == '.' && dep->name[1] == '.'; > -#if XFS_BIG_INUMS > + > if (!isdot) > i8count += be64_to_cpu(dep->inumber) > XFS_DIR2_MAX_SHORT_INUM; > -#endif > + > /* take into account the file type field */ > if (!isdot && !isdotdot) { > count++; > @@ -309,7 +308,7 @@ xfs_dir2_sf_addname( > add_entsize = dp->d_ops->sf_entsize(sfp, args->namelen); > incr_isize = add_entsize; > objchange = 0; > -#if XFS_BIG_INUMS > + > /* > * Do we have to change to 8 byte inodes? > */ > @@ -326,7 +325,7 @@ xfs_dir2_sf_addname( > (uint)sizeof(xfs_dir2_ino4_t)); > objchange = 1; > } > -#endif > + > old_isize = (int)dp->i_d.di_size; > new_isize = old_isize + incr_isize; > /* > @@ -365,10 +364,8 @@ xfs_dir2_sf_addname( > */ > else { > ASSERT(pick == 2); > -#if XFS_BIG_INUMS > if (objchange) > xfs_dir2_sf_toino8(args); > -#endif > xfs_dir2_sf_addname_hard(args, objchange, new_isize); > } > xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); > @@ -420,10 +417,8 @@ xfs_dir2_sf_addname_easy( > * Update the header and inode. > */ > sfp->count++; > -#if XFS_BIG_INUMS > if (args->inumber > XFS_DIR2_MAX_SHORT_INUM) > sfp->i8count++; > -#endif > dp->i_d.di_size = new_isize; > xfs_dir2_sf_check(args); > } > @@ -511,10 +506,8 @@ xfs_dir2_sf_addname_hard( > dp->d_ops->sf_put_ino(sfp, sfep, args->inumber); > dp->d_ops->sf_put_ftype(sfep, args->filetype); > sfp->count++; > -#if XFS_BIG_INUMS > if (args->inumber > XFS_DIR2_MAX_SHORT_INUM && !objchange) > sfp->i8count++; > -#endif > /* > * If there's more left to copy, do that. > */ > @@ -588,13 +581,8 @@ xfs_dir2_sf_addname_pick( > /* > * If changing the inode number size, do it the hard way. > */ > -#if XFS_BIG_INUMS > - if (objchange) { > + if (objchange) > return 2; > - } > -#else > - ASSERT(objchange == 0); > -#endif > /* > * If it won't fit at the end then do it the hard way (use the hole). > */ > @@ -645,7 +633,6 @@ xfs_dir2_sf_check( > ASSERT(dp->d_ops->sf_get_ftype(sfep) < XFS_DIR3_FT_MAX); > } > ASSERT(i8count == sfp->i8count); > - ASSERT(XFS_BIG_INUMS || i8count == 0); > ASSERT((char *)sfep - (char *)sfp == dp->i_d.di_size); > ASSERT(offset + > (sfp->count + 2) * (uint)sizeof(xfs_dir2_leaf_entry_t) + > @@ -865,7 +852,6 @@ xfs_dir2_sf_removename( > */ > xfs_idata_realloc(dp, newsize - oldsize, XFS_DATA_FORK); > sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; > -#if XFS_BIG_INUMS > /* > * Are we changing inode number size? > */ > @@ -875,7 +861,6 @@ xfs_dir2_sf_removename( > else > sfp->i8count--; > } > -#endif > xfs_dir2_sf_check(args); > xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); > return 0; > @@ -890,12 +875,8 @@ xfs_dir2_sf_replace( > { > xfs_inode_t *dp; /* incore directory inode */ > int i; /* entry index */ > -#if XFS_BIG_INUMS || defined(DEBUG) > xfs_ino_t ino=0; /* entry old inode number */ > -#endif > -#if XFS_BIG_INUMS > int i8elevated; /* sf_toino8 set i8count=1 */ > -#endif > xfs_dir2_sf_entry_t *sfep; /* shortform directory entry */ > xfs_dir2_sf_hdr_t *sfp; /* shortform structure */ > > @@ -915,7 +896,7 @@ xfs_dir2_sf_replace( > ASSERT(dp->i_df.if_u1.if_data != NULL); > sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; > ASSERT(dp->i_d.di_size >= xfs_dir2_sf_hdr_size(sfp->i8count)); > -#if XFS_BIG_INUMS > + > /* > * New inode number is large, and need to convert to 8-byte inodes. > */ > @@ -946,17 +927,15 @@ xfs_dir2_sf_replace( > sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; > } else > i8elevated = 0; > -#endif > + > ASSERT(args->namelen != 1 || args->name[0] != '.'); > /* > * Replace ..'s entry. > */ > if (args->namelen == 2 && > args->name[0] == '.' && args->name[1] == '.') { > -#if XFS_BIG_INUMS || defined(DEBUG) > ino = dp->d_ops->sf_get_parent_ino(sfp); > ASSERT(args->inumber != ino); > -#endif > dp->d_ops->sf_put_parent_ino(sfp, args->inumber); > } > /* > @@ -967,10 +946,8 @@ xfs_dir2_sf_replace( > i++, sfep = dp->d_ops->sf_nextentry(sfp, sfep)) { > if (xfs_da_compname(args, sfep->name, sfep->namelen) == > XFS_CMP_EXACT) { > -#if XFS_BIG_INUMS || defined(DEBUG) > ino = dp->d_ops->sf_get_ino(sfp, sfep); > ASSERT(args->inumber != ino); > -#endif > dp->d_ops->sf_put_ino(sfp, sfep, args->inumber); > dp->d_ops->sf_put_ftype(sfep, args->filetype); > break; > @@ -981,14 +958,11 @@ xfs_dir2_sf_replace( > */ > if (i == sfp->count) { > ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); > -#if XFS_BIG_INUMS > if (i8elevated) > xfs_dir2_sf_toino4(args); > -#endif > return XFS_ERROR(ENOENT); > } > } > -#if XFS_BIG_INUMS > /* > * See if the old number was large, the new number is small. > */ > @@ -1015,13 +989,11 @@ xfs_dir2_sf_replace( > if (!i8elevated) > sfp->i8count++; > } > -#endif > xfs_dir2_sf_check(args); > xfs_trans_log_inode(args->trans, dp, XFS_ILOG_DDATA); > return 0; > } > > -#if XFS_BIG_INUMS > /* > * Convert from 8-byte inode numbers to 4-byte inode numbers. > * The last 8-byte inode number is gone, but the count is still 1. > @@ -1176,4 +1148,3 @@ xfs_dir2_sf_toino8( > dp->i_d.di_size = newsize; > xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); > } > -#endif /* XFS_BIG_INUMS */ > diff --git a/fs/xfs/xfs_format.h b/fs/xfs/xfs_format.h > index b6ab5a3..e6b8f7d 100644 > --- a/fs/xfs/xfs_format.h > +++ b/fs/xfs/xfs_format.h > @@ -68,11 +68,7 @@ struct xfs_ifork; > #define XFS_RTLOBIT(w) xfs_lowbit32(w) > #define XFS_RTHIBIT(w) xfs_highbit32(w) > > -#if XFS_BIG_BLKNOS > #define XFS_RTBLOCKLOG(b) xfs_highbit64(b) > -#else > -#define XFS_RTBLOCKLOG(b) xfs_highbit32(b) > -#endif > > /* > * Dquot and dquot block format definitions > @@ -290,23 +286,15 @@ typedef struct xfs_bmbt_rec_host { > * Values and macros for delayed-allocation startblock fields. > */ > #define STARTBLOCKVALBITS 17 > -#define STARTBLOCKMASKBITS (15 + XFS_BIG_BLKNOS * 20) > -#define DSTARTBLOCKMASKBITS (15 + 20) > +#define STARTBLOCKMASKBITS (15 + 20) > #define STARTBLOCKMASK \ > (((((xfs_fsblock_t)1) << STARTBLOCKMASKBITS) - 1) << STARTBLOCKVALBITS) > -#define DSTARTBLOCKMASK \ > - (((((xfs_dfsbno_t)1) << DSTARTBLOCKMASKBITS) - 1) << STARTBLOCKVALBITS) > > static inline int isnullstartblock(xfs_fsblock_t x) > { > return ((x) & STARTBLOCKMASK) == STARTBLOCKMASK; > } > > -static inline int isnulldstartblock(xfs_dfsbno_t x) > -{ > - return ((x) & DSTARTBLOCKMASK) == DSTARTBLOCKMASK; > -} > - > static inline xfs_fsblock_t nullstartblock(int k) > { > ASSERT(k < (1 << STARTBLOCKVALBITS)); > diff --git a/fs/xfs/xfs_fs.h b/fs/xfs/xfs_fs.h > index c5fc116..7e907f2 100644 > --- a/fs/xfs/xfs_fs.h > +++ b/fs/xfs/xfs_fs.h > @@ -254,8 +254,8 @@ typedef struct xfs_fsop_resblks { > ((2 * 1024 * 1024 * 1024ULL) - XFS_MIN_LOG_BYTES) > > /* Used for sanity checks on superblock */ > -#define XFS_MAX_DBLOCKS(s) ((xfs_drfsbno_t)(s)->sb_agcount * (s)->sb_agblocks) > -#define XFS_MIN_DBLOCKS(s) ((xfs_drfsbno_t)((s)->sb_agcount - 1) * \ > +#define XFS_MAX_DBLOCKS(s) ((xfs_rfsblock_t)(s)->sb_agcount * (s)->sb_agblocks) > +#define XFS_MIN_DBLOCKS(s) ((xfs_rfsblock_t)((s)->sb_agcount - 1) * \ > (s)->sb_agblocks + XFS_MIN_AG_BLOCKS) > > /* > diff --git a/fs/xfs/xfs_inode_fork.c b/fs/xfs/xfs_inode_fork.c > index cfee14a..cb2677c 100644 > --- a/fs/xfs/xfs_inode_fork.c > +++ b/fs/xfs/xfs_inode_fork.c > @@ -526,7 +526,7 @@ xfs_iroot_realloc( > ifp->if_broot_bytes = (int)new_size; > ASSERT(XFS_BMAP_BMDR_SPACE(ifp->if_broot) <= > XFS_IFORK_SIZE(ip, whichfork)); > - memmove(np, op, cur_max * (uint)sizeof(xfs_dfsbno_t)); > + memmove(np, op, cur_max * (uint)sizeof(xfs_fsblock_t)); > return; > } > > @@ -573,7 +573,7 @@ xfs_iroot_realloc( > ifp->if_broot_bytes); > np = (char *)XFS_BMAP_BROOT_PTR_ADDR(mp, new_broot, 1, > (int)new_size); > - memcpy(np, op, new_max * (uint)sizeof(xfs_dfsbno_t)); > + memcpy(np, op, new_max * (uint)sizeof(xfs_fsblock_t)); > } > kmem_free(ifp->if_broot); > ifp->if_broot = new_broot; > diff --git a/fs/xfs/xfs_inum.h b/fs/xfs/xfs_inum.h > index 90efdaf..4ff2278 100644 > --- a/fs/xfs/xfs_inum.h > +++ b/fs/xfs/xfs_inum.h > @@ -54,11 +54,7 @@ struct xfs_mount; > #define XFS_OFFBNO_TO_AGINO(mp,b,o) \ > ((xfs_agino_t)(((b) << XFS_INO_OFFSET_BITS(mp)) | (o))) > > -#if XFS_BIG_INUMS > #define XFS_MAXINUMBER ((xfs_ino_t)((1ULL << 56) - 1ULL)) > -#else > -#define XFS_MAXINUMBER ((xfs_ino_t)((1ULL << 32) - 1ULL)) > -#endif > #define XFS_MAXINUMBER_32 ((xfs_ino_t)((1ULL << 32) - 1ULL)) > > #endif /* __XFS_INUM_H__ */ > diff --git a/fs/xfs/xfs_linux.h b/fs/xfs/xfs_linux.h > index f9bb590..9dc1349 100644 > --- a/fs/xfs/xfs_linux.h > +++ b/fs/xfs/xfs_linux.h > @@ -21,18 +21,6 @@ > #include <linux/types.h> > > /* > - * XFS_BIG_BLKNOS needs block layer disk addresses to be 64 bits. > - * XFS_BIG_INUMS requires XFS_BIG_BLKNOS to be set. > - */ > -#if defined(CONFIG_LBDAF) || (BITS_PER_LONG == 64) > -# define XFS_BIG_BLKNOS 1 > -# define XFS_BIG_INUMS 1 > -#else > -# define XFS_BIG_BLKNOS 0 > -# define XFS_BIG_INUMS 0 > -#endif > - > -/* > * Kernel specific type declarations for XFS > */ > typedef signed char __int8_t; > diff --git a/fs/xfs/xfs_log_format.h b/fs/xfs/xfs_log_format.h > index f0969c7..aff12f2 100644 > --- a/fs/xfs/xfs_log_format.h > +++ b/fs/xfs/xfs_log_format.h > @@ -380,7 +380,7 @@ typedef struct xfs_icdinode { > xfs_ictimestamp_t di_mtime; /* time last modified */ > xfs_ictimestamp_t di_ctime; /* time created/inode modified */ > xfs_fsize_t di_size; /* number of bytes in file */ > - xfs_drfsbno_t di_nblocks; /* # of direct & btree blocks used */ > + xfs_rfsblock_t di_nblocks; /* # of direct & btree blocks used */ > xfs_extlen_t di_extsize; /* basic/minimum extent size for file */ > xfs_extnum_t di_nextents; /* number of extents in data fork */ > xfs_aextnum_t di_anextents; /* number of extents in attribute fork*/ > @@ -516,7 +516,7 @@ xfs_blft_from_flags(struct xfs_buf_log_format *blf) > * EFI/EFD log format definitions > */ > typedef struct xfs_extent { > - xfs_dfsbno_t ext_start; > + xfs_fsblock_t ext_start; > xfs_extlen_t ext_len; > } xfs_extent_t; > > diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c > index da88f16..1053aa2 100644 > --- a/fs/xfs/xfs_mount.c > +++ b/fs/xfs/xfs_mount.c > @@ -172,13 +172,9 @@ xfs_sb_validate_fsb_count( > ASSERT(PAGE_SHIFT >= sbp->sb_blocklog); > ASSERT(sbp->sb_blocklog >= BBSHIFT); > > -#if XFS_BIG_BLKNOS /* Limited by ULONG_MAX of page cache index */ > + /* Limited by ULONG_MAX of page cache index */ > if (nblocks >> (PAGE_CACHE_SHIFT - sbp->sb_blocklog) > ULONG_MAX) > return EFBIG; > -#else /* Limited by UINT_MAX of sectors */ > - if (nblocks << (sbp->sb_blocklog - BBSHIFT) > UINT_MAX) > - return EFBIG; > -#endif > return 0; > } > > diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c > index a6a76b2..4176e8d 100644 > --- a/fs/xfs/xfs_rtalloc.c > +++ b/fs/xfs/xfs_rtalloc.c > @@ -944,9 +944,9 @@ xfs_growfs_rt( > xfs_buf_t *bp; /* temporary buffer */ > int error; /* error return value */ > xfs_mount_t *nmp; /* new (fake) mount structure */ > - xfs_drfsbno_t nrblocks; /* new number of realtime blocks */ > + xfs_rfsblock_t nrblocks; /* new number of realtime blocks */ > xfs_extlen_t nrbmblocks; /* new number of rt bitmap blocks */ > - xfs_drtbno_t nrextents; /* new number of realtime extents */ > + xfs_rtblock_t nrextents; /* new number of realtime extents */ > uint8_t nrextslog; /* new log2 of sb_rextents */ > xfs_extlen_t nrsumblocks; /* new number of summary blocks */ > uint nrsumlevels; /* new rt summary levels */ > diff --git a/fs/xfs/xfs_sb.h b/fs/xfs/xfs_sb.h > index 35061d4..c24a9ab 100644 > --- a/fs/xfs/xfs_sb.h > +++ b/fs/xfs/xfs_sb.h > @@ -104,11 +104,11 @@ struct xfs_trans; > typedef struct xfs_sb { > __uint32_t sb_magicnum; /* magic number == XFS_SB_MAGIC */ > __uint32_t sb_blocksize; /* logical block size, bytes */ > - xfs_drfsbno_t sb_dblocks; /* number of data blocks */ > - xfs_drfsbno_t sb_rblocks; /* number of realtime blocks */ > - xfs_drtbno_t sb_rextents; /* number of realtime extents */ > + xfs_rfsblock_t sb_dblocks; /* number of data blocks */ > + xfs_rfsblock_t sb_rblocks; /* number of realtime blocks */ > + xfs_rtblock_t sb_rextents; /* number of realtime extents */ > uuid_t sb_uuid; /* file system unique id */ > - xfs_dfsbno_t sb_logstart; /* starting block of log if internal */ > + xfs_fsblock_t sb_logstart; /* starting block of log if internal */ > xfs_ino_t sb_rootino; /* root inode number */ > xfs_ino_t sb_rbmino; /* bitmap inode for realtime extents */ > xfs_ino_t sb_rsumino; /* summary inode for rt bitmap */ > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c > index d971f49..0eeb30c 100644 > --- a/fs/xfs/xfs_super.c > +++ b/fs/xfs/xfs_super.c > @@ -204,9 +204,6 @@ xfs_parseargs( > */ > mp->m_flags |= XFS_MOUNT_BARRIER; > mp->m_flags |= XFS_MOUNT_COMPAT_IOSIZE; > -#if !XFS_BIG_INUMS > - mp->m_flags |= XFS_MOUNT_SMALL_INUMS; > -#endif > > /* > * These can be overridden by the mount option parsing. > @@ -313,11 +310,6 @@ xfs_parseargs( > mp->m_flags |= XFS_MOUNT_SMALL_INUMS; > } else if (!strcmp(this_char, MNTOPT_64BITINODE)) { > mp->m_flags &= ~XFS_MOUNT_SMALL_INUMS; > -#if !XFS_BIG_INUMS > - xfs_warn(mp, "%s option not allowed on this system", > - this_char); > - return EINVAL; > -#endif > } else if (!strcmp(this_char, MNTOPT_NOUUID)) { > mp->m_flags |= XFS_MOUNT_NOUUID; > } else if (!strcmp(this_char, MNTOPT_BARRIER)) { > diff --git a/fs/xfs/xfs_super.h b/fs/xfs/xfs_super.h > index bbe3d15..31f757c 100644 > --- a/fs/xfs/xfs_super.h > +++ b/fs/xfs/xfs_super.h > @@ -44,16 +44,6 @@ extern void xfs_qm_exit(void); > # define XFS_REALTIME_STRING > #endif > > -#if XFS_BIG_BLKNOS > -# if XFS_BIG_INUMS > -# define XFS_BIGFS_STRING "large block/inode numbers, " > -# else > -# define XFS_BIGFS_STRING "large block numbers, " > -# endif > -#else > -# define XFS_BIGFS_STRING > -#endif > - > #ifdef DEBUG > # define XFS_DBG_STRING "debug" > #else > @@ -64,7 +54,6 @@ extern void xfs_qm_exit(void); > #define XFS_BUILD_OPTIONS XFS_ACL_STRING \ > XFS_SECURITY_STRING \ > XFS_REALTIME_STRING \ > - XFS_BIGFS_STRING \ > XFS_DBG_STRING /* DBG must be last */ > > struct xfs_inode; > diff --git a/fs/xfs/xfs_types.h b/fs/xfs/xfs_types.h > index 82bbc34..14e3d87 100644 > --- a/fs/xfs/xfs_types.h > +++ b/fs/xfs/xfs_types.h > @@ -38,43 +38,18 @@ typedef __int32_t xfs_tid_t; /* transaction identifier */ > typedef __uint32_t xfs_dablk_t; /* dir/attr block number (in file) */ > typedef __uint32_t xfs_dahash_t; /* dir/attr hash value */ > > -/* > - * These types are 64 bits on disk but are either 32 or 64 bits in memory. > - * Disk based types: > - */ > -typedef __uint64_t xfs_dfsbno_t; /* blockno in filesystem (agno|agbno) */ > -typedef __uint64_t xfs_drfsbno_t; /* blockno in filesystem (raw) */ > -typedef __uint64_t xfs_drtbno_t; /* extent (block) in realtime area */ > -typedef __uint64_t xfs_dfiloff_t; /* block number in a file */ > -typedef __uint64_t xfs_dfilblks_t; /* number of blocks in a file */ > - > -/* > - * Memory based types are conditional. > - */ > -#if XFS_BIG_BLKNOS > typedef __uint64_t xfs_fsblock_t; /* blockno in filesystem (agno|agbno) */ > typedef __uint64_t xfs_rfsblock_t; /* blockno in filesystem (raw) */ > typedef __uint64_t xfs_rtblock_t; /* extent (block) in realtime area */ > -typedef __int64_t xfs_srtblock_t; /* signed version of xfs_rtblock_t */ > -#else > -typedef __uint32_t xfs_fsblock_t; /* blockno in filesystem (agno|agbno) */ > -typedef __uint32_t xfs_rfsblock_t; /* blockno in filesystem (raw) */ > -typedef __uint32_t xfs_rtblock_t; /* extent (block) in realtime area */ > -typedef __int32_t xfs_srtblock_t; /* signed version of xfs_rtblock_t */ > -#endif > typedef __uint64_t xfs_fileoff_t; /* block number in a file */ > -typedef __int64_t xfs_sfiloff_t; /* signed block number in a file */ > typedef __uint64_t xfs_filblks_t; /* number of blocks in a file */ > > +typedef __int64_t xfs_srtblock_t; /* signed version of xfs_rtblock_t */ > +typedef __int64_t xfs_sfiloff_t; /* signed block number in a file */ > > /* > * Null values for the types. > */ > -#define NULLDFSBNO ((xfs_dfsbno_t)-1) > -#define NULLDRFSBNO ((xfs_drfsbno_t)-1) > -#define NULLDRTBNO ((xfs_drtbno_t)-1) > -#define NULLDFILOFF ((xfs_dfiloff_t)-1) > - > #define NULLFSBLOCK ((xfs_fsblock_t)-1) > #define NULLRFSBLOCK ((xfs_rfsblock_t)-1) > #define NULLRTBLOCK ((xfs_rtblock_t)-1) ---end quoted text--- _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs