fs_ipg
ufs_rw32(sbp->fs_ipg, needswap);
return sblock->fs_ipg * sblock->fs_ncg;
ino = cg * sblock->fs_ipg;
inosused = sblock->fs_ipg;
if (inum % sblock->fs_ipg != 0)
lastvalidinum = inum + sblock->fs_ipg - 1;
readpercg = sblock->fs_ipg / fullcnt;
partialcnt = sblock->fs_ipg % fullcnt;
if ((ino % sblock->fs_ipg) >= inostathead[cg].il_numalloced) {
newalloced = MIN(sblock->fs_ipg,
setbit(cg_inosused(cgp, 0), ino % sblock->fs_ipg);
clrbit(cg_inosused(cgp, 0), ino % sblock->fs_ipg);
inumber = c * sblock->fs_ipg;
inosused = sblock->fs_ipg;
if (inosused < (ino_t)sblock->fs_ipg || inumber == lastino)
if (lastino < (c * (ino_t)sblock->fs_ipg))
ninosused = lastino - (c * sblock->fs_ipg);
for (i = 0; i < sblock->fs_ipg; i++, inumber++) {
inumber = cg * sblock->fs_ipg;
inomapsize = howmany(fs->fs_ipg, CHAR_BIT);
newcg->cg_old_niblk = fs->fs_ipg;
newcg->cg_cs.cs_nifree = fs->fs_ipg;
if (cg->cg_irotor < fs->fs_ipg)
if ((unsigned)cg->cg_initediblk > (unsigned)fs->fs_ipg)
newcg->cg_initediblk = fs->fs_ipg;
inum = fs->fs_ipg * c;
for (i = 0; i < fs->fs_ipg; inum++, i++) {
c * fs->fs_ipg + i * 8 + k);
newcg->cg_niblk = fs->fs_ipg;
maxino = sblock->fs_ncg * sblock->fs_ipg;
asb->fs_ipg != sb->fs_ipg ||
ilp = &inostathead[inum / sblock->fs_ipg];
iloff = inum % sblock->fs_ipg;
inum = c * sblock->fs_ipg;
inosused = sblock->fs_ipg;
for (ino = 0, imax = fs->fs_ipg * fs->fs_ncg; ino < imax;) {
if (ino >= (ino_t)(sblock.fs_ipg * sblock.fs_ncg)) {
sblock.fs_ipg = inodes_per_cg;
sblock.fs_dblkno = sblock.fs_iblkno + sblock.fs_ipg / FFS_INOPF(&sblock);
sblock.fs_cstotal.cs_nifree = sblock.fs_ncg * sblock.fs_ipg - UFS_ROOTINO;
sblock.fs_fpg / sblock.fs_frag, sblock.fs_ipg);
acg.cg_niblk = sblock.fs_ipg;
acg.cg_initediblk = sblock.fs_ipg < 2 * FFS_INOPB(&sblock) ?
sblock.fs_ipg : 2 * FFS_INOPB(&sblock);
acg.cg_old_niblk = sblock.fs_ipg;
acg.cg_freeoff = acg.cg_iusedoff + howmany(sblock.fs_ipg, CHAR_BIT);
acg.cg_cs.cs_nifree += sblock.fs_ipg;
for (i = MIN(sblock.fs_ipg, 2) * FFS_INOPB(&sblock); i != 0; i--) {
dupper = sblock.fs_ipg / FFS_INOPF(&sblock);
zinodes2 = alloconce(newsb->fs_ipg * sizeof(*zinodes2),
memset(zinodes2, 0, newsb->fs_ipg * sizeof(*zinodes2));
zinodes1 = alloconce(newsb->fs_ipg * sizeof(*zinodes1),
memset(zinodes1, 0, newsb->fs_ipg * sizeof(*zinodes1));
ni = oldsb->fs_ipg * ncg;
inodes = alloconce(oldsb->fs_ncg * oldsb->fs_ipg *
iflags = alloconce(oldsb->fs_ncg * oldsb->fs_ipg, "inode flags");
memset(iflags, 0, oldsb->fs_ncg * oldsb->fs_ipg);
for (ino = 0,imax = oldsb->fs_ipg * oldsb->fs_ncg; ino < imax; ) {
inomove = alloconce(oldsb->fs_ipg * oldsb->fs_ncg * sizeof(*inomove),
for (i = (oldsb->fs_ipg * oldsb->fs_ncg) - 1; i >= 0; i--)
ni = newsb->fs_ipg * newsb->fs_ncg;
inum = newsb->fs_ipg * cg->cg_cgx;
for (i = 0; i < newsb->fs_ipg; i++, inum++) {
fi % newsb->fs_ipg, 1);
ni = oldsb->fs_ipg * oldsb->fs_ncg;
slop -= oldsb->fs_ipg - cgs[i]->cg_cs.cs_nifree;
memset(&cg_inosused(cg, 0)[0], 0, howmany(newsb->fs_ipg, NBBY));
inum = cgn * newsb->fs_ipg;
for (; iwc < newsb->fs_ipg; iwc++, inum++) {
if (oldsb->fs_ipg % FFS_INOPB(oldsb))
(int) oldsb->fs_ipg, (int) FFS_INOPB(oldsb));
cg->cg_niblk = newsb->fs_ipg;
cg->cg_initediblk = newsb->fs_ipg < 2 * FFS_INOPB(newsb) ?
newsb->fs_ipg : 2 * FFS_INOPB(newsb);
cg->cg_freeoff = cg->cg_iusedoff + howmany(newsb->fs_ipg, NBBY);
cg->cg_cs.cs_nifree = newsb->fs_ipg;
newsb->fs_ipg * sizeof(*zinodes1));
cgn = hand / newsb->fs_ipg;
iwc = hand % newsb->fs_ipg;
if (iwc >= newsb->fs_ipg) {
fsi_ffs.ipg = buf.sblk.fs_ipg;
fsi_ffs.ipg = buf.sblk.fs_ipg;
initediblk = fs->fs_ipg;
nalloc = fs->fs_ipg - ufs_rw32(cgp->cg_cs.cs_nifree, needswap);
ino_to_fsba(fs, cg * fs->fs_ipg + initediblk)),
ipref %= fs->fs_ipg;
UFS_WAPBL_REGISTER_INODE(ip->i_ump->um_mountp, cg * fs->fs_ipg + ipref,
return ((ino_t)(cg * fs->fs_ipg + ipref));
if (ino >= fs->fs_ipg * fs->fs_ncg)
if (ino >= fs->fs_ipg * fs->fs_ncg)
cgino = ino % fs->fs_ipg;
if (ino >= fs->fs_ipg * fs->fs_ncg)
ino %= fs->fs_ipg;
if (ipref >= fs->fs_ncg * fs->fs_ipg)
minndir = fs->fs_ipg;
return ((ino_t)(fs->fs_ipg * mincg));
maxndir = uimin(avgndir + fs->fs_ipg / 16, fs->fs_ipg);
fs->fs_ipg / fs->fs_avgfpdir);
return ((ino_t)(fs->fs_ipg * cg));
return ((ino_t)(fs->fs_ipg * cg));
return ((ino_t)(fs->fs_ipg * cg));
return ((ino_t)(fs->fs_ipg * cg));
if (fs->fs_ipg == 0)
sbp->f_files = fs->fs_ncg * fs->fs_ipg - UFS_ROOTINO;
if (ino < UFS_ROOTINO || ino >= fs->fs_ncg * fs->fs_ipg) {
if (cg * fs->fs_ipg + initediblk < ino) {
cg, fs->fs_ipg, initediblk, ino);
u_int32_t fs_ipg; /* inodes per group */
#define CGSIZE(fs) CGSIZE_IF((fs), (fs)->fs_ipg, (fs)->fs_fpg)
#define ino_to_cg(fs, x) (((ino_t)(x)) / (fs)->fs_ipg)
(ffs_blkstofrags((fs), ((((ino_t)(x)) % (fs)->fs_ipg) / FFS_INOPB(fs))))))
fs->fs_fpg / fs->fs_frag, fs->fs_fpg, fs->fs_ipg);
for (inum = c * afs.fs_ipg ; inum < (c+n) * afs.fs_ipg; inum += afs.fs_inopb) {
pbits(0 * c * afs.fs_ipg, cg_inosused(&acg, 0), afs.fs_ipg);
if (inum % afs.fs_ipg == 0)
if (inum % afs.fs_ipg == 0)
cgino = ino % fs->fs_ipg;
cg * fs->fs_ipg + initediblk)),
sblock.fs_ipg = FFS_INOPB(&sblock);
sblock.fs_ipg / FFS_INOPF(&sblock), sblock.fs_frag);
sblock.fs_ipg = roundup(howmany(sblock.fs_fpg, fragsperinode),
sblock.fs_ipg / FFS_INOPF(&sblock), sblock.fs_frag);
sblock.fs_ipg = roundup(howmany(sblock.fs_fpg, fragsperinode),
sblock.fs_ipg = roundup(howmany(sblock.fs_fpg, fragsperinode),
sblock.fs_ipg = roundup(howmany(sblock.fs_fpg, fragsperinode),
sblock.fs_ipg / FFS_INOPF(&sblock), sblock.fs_frag);
sblock.fs_ipg = roundup(howmany(sblock.fs_fpg, fragsperinode),
sblock.fs_dblkno = sblock.fs_iblkno + sblock.fs_ipg / FFS_INOPF(&sblock);
sblock.fs_cstotal.cs_nifree = sblock.fs_ncg * sblock.fs_ipg - UFS_ROOTINO;
sblock.fs_fpg / sblock.fs_frag, sblock.fs_ipg);
acg.cg_niblk = sblock.fs_ipg;
acg.cg_initediblk = sblock.fs_ipg < 2 * FFS_INOPB(&sblock) ?
sblock.fs_ipg : 2 * FFS_INOPB(&sblock);
acg.cg_freeoff = acg.cg_iusedoff + howmany(sblock.fs_ipg, CHAR_BIT);
acg.cg_cs.cs_nifree += sblock.fs_ipg;
i < sblock.fs_ipg / FFS_INOPF(&sblock);
maxino = super->fs_ncg * super->fs_ipg - 1;
maxino = super->fs_ncg * super->fs_ipg - 1;
maxino = super->fs_ncg * super->fs_ipg - 1;
#define INOCNT(fs) ((fs)->fs_ipg)
maxino = sblock.fs_ncg * sblock.fs_ipg;
ino = cg * sblock.fs_ipg;
inosused = sblock.fs_ipg;
if (inum % sblock.fs_ipg != 0)
lastvalidinum = inum + sblock.fs_ipg - 1;
readpercg = sblock.fs_ipg / fullcnt;
partialcnt = sblock.fs_ipg % fullcnt;