ULFS_NDADDR
#define BASE_SINDIR (ULFS_NDADDR)
#define BASE_DINDIR (ULFS_NDADDR+LFS_NINDIR(fs))
#define BASE_TINDIR (ULFS_NDADDR+LFS_NINDIR(fs)+LFS_NINDIR(fs)*LFS_NINDIR(fs))
if (lbn == ULFS_NDADDR) {
residue = (lbn-ULFS_NDADDR) % LFS_NINDIR(fs);
if (lbn < ULFS_NDADDR)
up = -(((lbn-ULFS_NDADDR) / D_UNITS) * D_UNITS + ULFS_NDADDR);
off = (lbn-ULFS_NDADDR) % D_UNITS;
if (lastbn >= ULFS_NDADDR - 1 || lfs_dino_getdb(fs, dp, lastbn) == 0 ||
for (lbn = 0; lbn < ULFS_NDADDR; lbn++) {
remsize = lfs_dino_getsize(fs, &dino) - lfs_sb_getbsize(fs) * ULFS_NDADDR;
if (blks > ULFS_NDADDR)
blks = ULFS_NDADDR + ULFS_NIADDR;
for (i=0; i<blks && i<ULFS_NDADDR; i++) {
inp->i_blks[i] = lfs_dino_getib(fs, dp, i - ULFS_NDADDR);
if (lastblock < ULFS_NDADDR && lastblock < lbn) {
if (lbn < ULFS_NDADDR && lfs_lblkno(fs, lfs_dino_getsize(fs, ip->i_din)) <= lbn) {
if (bn >= 0 && bn < ULFS_NDADDR) {
bn -= ULFS_NDADDR;
memset(ip->i_lfs_fragsize, 0, ULFS_NDADDR * sizeof(*ip->i_lfs_fragsize));
for (i = 0; i < ULFS_NDADDR; i++)
for (i=0; i<ULFS_NDADDR; i++) {
if (ndb > ULFS_NDADDR) {
j = ndb - ULFS_NDADDR;
ndb += ULFS_NDADDR;
for (j = ndb; j < ULFS_NDADDR; j++)
for (j = 0, ndb -= ULFS_NDADDR; ndb > 0; j++)
ii < ULFS_NDADDR; ii++) {
lfs_dino_setib(fs, &dino, ii - ULFS_NDADDR,
if (lbn >= 0 && lbn < ULFS_NDADDR)
if (lbn < ULFS_NDADDR) {
if (lbn >= 0 && lbn < ULFS_NDADDR)
for (i = 0; i < ULFS_NDADDR; i++) {
lbn = -(ULFS_NDADDR + off + i);
for (k=0; k<ULFS_NDADDR; k++) {
return (lbn < 0 && (-lbn - ULFS_NDADDR) % LFS_NINDIR(fs) == 0);
return (lbn < 0 && (-lbn - ULFS_NDADDR) % LFS_NINDIR(fs) == 1);
return (lbn < 0 && (-lbn - ULFS_NDADDR) % LFS_NINDIR(fs) == 2);
if (lbn >= 0 && lbn < ULFS_NDADDR)
if (lbn >= 0 && lbn < ULFS_NDADDR)
maxblock = ULFS_NDADDR + nptr + nptr * nptr + nptr * nptr * nptr;
maxblock = ULFS_NDADDR + nptr + nptr * nptr + nptr * nptr * nptr;
if (nblocks >= ULFS_NDADDR)
if (ULFS_NDADDR < nblocks) {
bb = nblocks - ULFS_NDADDR;
for (i = 0; i < MIN(nblocks,ULFS_NDADDR); i++) {
if (nblocks > ULFS_NDADDR) {
bb = howmany(nblocks - ULFS_NDADDR, LFS_NINDIR(fs)) - 1;
base = -ULFS_NDADDR - factor;
for (i = 0; i < ULFS_NDADDR && i < (lfs_dino_getsize(fs, dip) >> lfs_sb_getbshift(fs)); i++)
for (i = 0; i < ULFS_NDADDR && i < howmany(LFS_DIRBLKSIZ, lfs_sb_getbsize(fs)); i++)
for (i = 0; i < ULFS_NDADDR && i < howmany(DIRBLKSIZ, lfs_sb_getbsize(fs)); i++)
int32_t di_db[ULFS_NDADDR]; /* 40: Direct disk blocks. */
int64_t di_db[ULFS_NDADDR]; /* 112: Direct disk blocks. */
(((lbn) >= ULFS_NDADDR || lfs_dino_getsize(fs, dp) >= ((lbn) + 1) << lfs_sb_getbshift(fs)) \
if (lbn >= ULFS_NDADDR || lfs_dino_getsize(fs, ip->i_din) >= (lbn + 1) << lfs_sb_getbshift(fs)) {
#define LFS32_MAXSYMLINKLEN ((ULFS_NDADDR + ULFS_NIADDR) * sizeof(int32_t))
#define LFS64_MAXSYMLINKLEN ((ULFS_NDADDR + ULFS_NIADDR) * sizeof(int64_t))
KASSERT(ix < ULFS_NDADDR);
KASSERT(ix < ULFS_NDADDR);
if (lastblock < ULFS_NDADDR && lastblock < lbn) {
if (lbn < ULFS_NDADDR && lfs_lblkno(fs, ip->i_size) <= lbn) {
for (i = 0; i < ULFS_NDADDR; i++) {
daddr_t newblks[ULFS_NDADDR + ULFS_NIADDR] __diagused;
if (lfs_lblkno(fs, osize) < ULFS_NDADDR &&
lastiblock[SINGLE] = lastblock - ULFS_NDADDR;
for (i=0; i<ULFS_NDADDR; i++) {
newblks[ULFS_NDADDR + i] = lfs_dino_getib(fs, oip->i_din, i);
newblks[ULFS_NDADDR+level] = 0;
for (i = ULFS_NDADDR - 1; i > lastblock; i--)
indir_lbn[SINGLE] = -ULFS_NDADDR;
for (i = ULFS_NDADDR - 1; i > lastblock; i--) {
KASSERTMSG(((newblks[ULFS_NDADDR + level] == 0) ==
for (i = 0; i < ULFS_NDADDR; i++)
size_t lfs_fragsize[ULFS_NDADDR]; /* size of on-disk direct blocks */
if (loff >= (ULFS_NDADDR << lfs_sb_getbshift(fs))) {
|| !(lfs_lblkno(fs, ip->i_size) > ULFS_NDADDR ||
KASSERT(lfs_lblkno(fs, ip->i_size) > ULFS_NDADDR ||
for (i=0; i<ULFS_NDADDR; i++) {
i < ULFS_NDADDR; i++) {
if (lbn >= 0 && lbn < ULFS_NDADDR)
if (lbn >= 0 && lbn < ULFS_NDADDR)
return (lbn < 0 && (-lbn - ULFS_NDADDR) % LFS_NINDIR(fs) == 0);
return (lbn < 0 && (-lbn - ULFS_NDADDR) % LFS_NINDIR(fs) == 1);
return (lbn < 0 && (-lbn - ULFS_NDADDR) % LFS_NINDIR(fs) == 2);
for (i = 0; i < ULFS_NDADDR; i++)
if (blkp->bi_lbn >= 0 && blkp->bi_lbn < ULFS_NDADDR) {
ULFS_NDADDR * sizeof(*ip->i_lfs_fragsize));
memset(ip->i_lfs_fragsize, 0, ULFS_NDADDR * sizeof(*ip->i_lfs_fragsize));
i < ULFS_NDADDR; i++) {
for ( ; i < ULFS_NDADDR + ULFS_NIADDR; i++) {
if (lfs_dino_getib(fs, ip->i_din, i - ULFS_NDADDR) != 0) {
for (i = 0; i < ULFS_NDADDR; i++)
if (!(flags & GOP_SIZE_MEM) && nlbn < ULFS_NDADDR && olbn <= nlbn) {
if (bn >= 0 && bn < ULFS_NDADDR) {
for (++bn; bn < ULFS_NDADDR && *runp < maxrun &&
for (++bn; bn < ULFS_NDADDR && *runp < maxrun &&
KASSERT(bn >= ULFS_NDADDR);
bn -= ULFS_NDADDR;
#define S_INDIR(fs) -ULFS_NDADDR
if (nsize > osize && lfs_lblkno(fs, osize) < ULFS_NDADDR &&
block_limit = MIN(nblocks, ULFS_NDADDR);
if (nblocks <= ULFS_NDADDR)
if (nblocks <= ULFS_NDADDR + lfs_sb_getnindir(lfsp))
for (i = 0; i < ULFS_NDADDR; i++) {