NDADDR
if (DIP(dp, di_size) > sblock->fs_bsize * NDADDR) {
howmany(sizeest - NDADDR * sblock->fs_bsize / TP_BSIZE,
for (ret = 0, i = 0; filesize > 0 && i < NDADDR; i++) {
if (DIP(dp, di_size) > NDADDR * sblock->fs_bsize)
cnt = NDADDR * sblock->fs_frag;
if ((size = DIP(dp, di_size) - NDADDR * sblock->fs_bsize) <= 0)
if (lastbn >= NDADDR - 1 || letoh32(dp->e2di_blocks[lastbn]) == 0 ||
for (ap = &dino.e2di_blocks[0]; ap < &dino.e2di_blocks[NDADDR];
remsize = inosize(&dino) - sblock.e2fs_bsize * NDADDR;
for (ap = &dino.e2di_blocks[NDADDR], n = 1; n <= NIADDR; ap++, n++) {
if (blks > NDADDR)
blks = NDADDR + NIADDR;
(NDADDR + NIADDR) * sizeof(u_int32_t)) ||
if (ndb > NDADDR) {
j = ndb - NDADDR;
ndb += NDADDR;
for (j = ndb; j < NDADDR; j++)
for (j = 0, ndb -= NDADDR; ndb > 0; j++)
if (dp->e2di_blocks[j+NDADDR] != 0) {
letoh32(dp->e2di_blocks[j+NDADDR]));
maxfilesize = sblock.e2fs_bsize * NDADDR - 1;
if (lastbn >= NDADDR - 1 || DIP(dp, di_db[lastbn]) == 0 ||
remsize = DIP(&dino, di_size) - sblock.fs_bsize * NDADDR;
if (blks > NDADDR)
blks = NDADDR + NIADDR;
for (i = 0; i < (blks < NDADDR ? blks : NDADDR); i++)
if (blks > NDADDR)
inp->i_blks[NDADDR + i] = DIP(dp, di_ib[i]);
for (i = 0; i < NDADDR; i++) {
NDADDR * sizeof(int32_t)) ||
NDADDR * sizeof(daddr_t)) ||
if (ndb > NDADDR) {
j = ndb - NDADDR;
ndb += NDADDR;
for (j = ndb; j < NDADDR; j++)
for (j = 0, ndb -= NDADDR; ndb > 0; j++)
i < (inp->i_numblks<NDADDR ? inp->i_numblks : NDADDR);
if (inp->i_numblks > NDADDR)
DIP_SET(dp, di_ib[i], inp->i_blks[NDADDR + i]);
maxfilesize = sblock.fs_bsize * NDADDR - 1;
len = numblks < NDADDR ? numblks : NDADDR;
len = numblks - NDADDR;
lbn = NDADDR;
for (i = 0; filesize > 0 && i < NDADDR; i++) {
sblock.fs_maxfilesize = sblock.fs_bsize * NDADDR - 1;
isize = (uint64_t)sblock.e2fs_bsize * NDADDR +
for (i = 0; i < NDADDR; i++)
node.e2di_blocks[NDADDR + SINGLE] = 0;
node.e2di_blocks[NDADDR + TRIPLE] = 0;
node.e2di_blocks[NDADDR + DOUBLE] =
if (node.e2di_blocks[NDADDR + DOUBLE] == 0)
wtfs(fsbtodb(&sblock, node.e2di_blocks[NDADDR + DOUBLE]),
for (i = 0; i < NDADDR + NIADDR; i++)
if (nblks_lostfound > NDADDR)
nblks_lostfound = NDADDR;
for (i = 0; i < NDADDR && *ap1 && ndb; i++, ap1++, ndb--) {
for (i = 0; i < NDADDR && *ap2 && ndb; i++, ap2++, ndb--) {
if (file_block < NDADDR) {
file_block -= NDADDR;
fs->fs_maxfilesize = fs->fs_bsize * NDADDR - 1; /* XXX */
if (file_block < NDADDR) {
file_block -= NDADDR;
fs->fs_maxfilesize = fs->fs_bsize * NDADDR - 1; /* XXX */
if (file_block < NDADDR) {
file_block -= NDADDR;
fs->fs_maxfilesize = fs->fs_bsize * NDADDR - 1; /* XXX */
nb = letoh32(ip->i_e2fs_blocks[NDADDR + indirs[0].in_off]);
allocib = &ip->i_e2fs_blocks[NDADDR + indirs[0].in_off];
if (bn < NDADDR) {
for (++bn; bn < NDADDR && *runp < maxrun &&
daddr = letoh32(ip->i_e2fs_blocks[NDADDR + xap->in_off]);
(NDADDR+NIADDR) * sizeof(int));
#define E2MAXSYMLINKLEN ((NDADDR + NIADDR) * sizeof(u_int32_t))
#define EXT2_MAXSYMLINKLEN ((NDADDR+NIADDR) * sizeof (u_int32_t))
u_int32_t e2di_blocks[NDADDR+NIADDR]; /* 40: disk blocks */
int32_t oldblks[NDADDR + NIADDR], newblks[NDADDR + NIADDR];
lastiblock[SINGLE] = lastblock - NDADDR;
oip->i_e2fs_blocks[NDADDR + level] = 0;
for (i = NDADDR - 1; i > lastblock; i--)
indir_lbn[SINGLE] = -NDADDR;
bn = letoh32(oip->i_e2fs_blocks[NDADDR + level]);
oip->i_e2fs_blocks[NDADDR + level] = 0;
for (i = NDADDR - 1; i > lastblock; i--) {
if (newblks[NDADDR + level] !=
oip->i_e2fs_blocks[NDADDR + level])
for (i = 0; i < NDADDR; i++)
if (indx == -1 && lbn < NDADDR + NINDIR(fs) &&
ip->i_din1->di_db[NDADDR - 1] != 0)
pref = ip->i_din1->di_db[NDADDR - 1] + fs->fs_frag;
if (lbn == NDADDR) {
if (lbn < NDADDR + NINDIR(fs))
if (indx == -1 && lbn < NDADDR + NINDIR(fs) &&
ip->i_din2->di_db[NDADDR - 1] != 0)
pref = ip->i_din2->di_db[NDADDR - 1] + fs->fs_frag;
if (lbn == NDADDR) {
if (lbn < NDADDR + NINDIR(fs))
if (nb < NDADDR && nb < lbn) {
if (lbn < NDADDR) {
if (lastlbn < NDADDR && lastlbn < lbn) {
if (lbn < NDADDR) {
daddr_t oldblks[NDADDR + NIADDR], newblks[NDADDR + NIADDR];
lastiblock[SINGLE] = lastblock - NDADDR;
oldblks[NDADDR + level] = DIP(oip, ib[level]);
for (i = 0; i < NDADDR; i++) {
for (i = 0; i < NDADDR; i++) {
newblks[NDADDR + i] = DIP(oip, ib[i]);
DIP_ASSIGN(oip, ib[i], oldblks[NDADDR + i]);
indir_lbn[SINGLE] = -NDADDR;
for (i = NDADDR - 1; i > lastblock; i--) {
if (newblks[NDADDR + level] != DIP(oip, ib[level]))
for (i = 0; i < NDADDR; i++)
fs->fs_maxfilesize = fs->fs_bsize * NDADDR - 1; /* XXX */
(((lbn) >= NDADDR || DIP((ip), size) >= ((lbn) + 1) << (fs)->fs_bshift) \
(((lbn) >= NDADDR || (dip)->di_size >= ((lbn) + 1) << (fs)->fs_bshift) \
(((lbn) >= NDADDR || (size) >= ((lbn) + 1) << (fs)->fs_bshift) \
int64_t di_db[NDADDR]; /* 112: Direct disk blocks. */
#define MAXSYMLINKLEN_UFS1 ((NDADDR + NIADDR) * sizeof(int32_t))
#define MAXSYMLINKLEN_UFS2 ((NDADDR + NIADDR) * sizeof(int64_t))
int32_t di_db[NDADDR]; /* 40: Direct disk blocks. */
for (++bn; bn < NDADDR && *runp < maxrun &&
if (realbn < 0 && realbn > -NDADDR) {
if (bn < NDADDR)
for (blockcnt = 1, i = NIADDR, bn -= NDADDR;; i--, bn -= blockcnt) {
if (lbn < NDADDR + NINDIR(fs)) {
if (lbn < NDADDR + NINDIR(fs)) {
if (lastlbn < NDADDR && lastlbn < lbn) {
if (lbn < NDADDR) {
if (lastlbn < NDADDR && lastlbn < lbn) {
if (lbn < NDADDR) {
sblock.fs_maxsymlinklen = (NDADDR + NIADDR) * sizeof (int32_t);
sblock.fs_maxsymlinklen = (NDADDR + NIADDR) * sizeof (int64_t);
sblock.fs_maxfilesize = sblock.fs_bsize * NDADDR - 1;
assert (bn >= NDADDR);
bn -= NDADDR;
if (lblkno(super, sz) >= NDADDR) {
sz = howmany(sz - NDADDR, NINDIR(super));
fs->fs_maxfilesize = fs->fs_bsize * NDADDR - 1; /* XXX */