Home | History | Annotate | Download | only in resize_ffs

Lines Matching defs:oldsb

86 static struct fs *oldsb;	/* before we started */
333 cgblksz = roundup(oldsb->fs_cgsize, oldsb->fs_fsize);
334 cgs = nfmalloc(oldsb->fs_ncg * sizeof(*cgs), "cg pointers");
335 cgp = alloconce(oldsb->fs_ncg * cgblksz, "cgs");
336 cgflags = nfmalloc(oldsb->fs_ncg, "cg flags");
337 csums = nfmalloc(oldsb->fs_cssize, "cg summary");
338 for (cg = 0; cg < oldsb->fs_ncg; cg++) {
340 readat(FFS_FSBTODB(oldsb, cgtod(oldsb, cg)), cgp, cgblksz);
342 ffs_cg_swap(cgs[cg],cgs[cg],oldsb);
346 readat(FFS_FSBTODB(oldsb, oldsb->fs_csaddr), csums, oldsb->fs_cssize);
348 ffs_csum_swap(csums,csums,oldsb->fs_cssize);
833 nold = howmany(oldsb->fs_cssize, newsb->fs_fsize);
976 if (newsb->fs_size == oldsb->fs_size)
993 ", not growing.\n", newsb->fs_size, oldsb->fs_size);
999 " blocks.\n", oldsb->fs_size, newsb->fs_size);
1025 if (newsb->fs_cssize > oldsb->fs_cssize)
1029 if (newsb->fs_ncg > oldsb->fs_ncg) {
1034 memset(cgflags + oldsb->fs_ncg, 0,
1035 newsb->fs_ncg - oldsb->fs_ncg);
1036 cgp = alloconce((newsb->fs_ncg - oldsb->fs_ncg) * cgblksz,
1038 for (i = oldsb->fs_ncg; i < newsb->fs_ncg; i++) {
1041 i - oldsb->fs_ncg, newsb->fs_ncg - oldsb->fs_ncg);
1045 cgs[oldsb->fs_ncg - 1]->cg_old_ncyl = oldsb->fs_old_cpg;
1046 cgflags[oldsb->fs_ncg - 1] |= CGF_DIRTY;
1050 if (oldsb->fs_size % oldsb->fs_fpg) {
1055 cg = cgs[oldsb->fs_ncg - 1];
1056 cgflags[oldsb->fs_ncg - 1] |= CGF_DIRTY | CGF_BLKMAPS;
1057 prevcgtop = oldsb->fs_fpg * (oldsb->fs_ncg - 1);
1061 oldcgsize = oldsb->fs_size % oldsb->fs_fpg;
1063 cg->cg_old_ncyl = oldsb->fs_old_cpg;
1084 ni = oldsb->fs_ipg * ncg;
1244 blkmove = alloconce(oldsb->fs_size * sizeof(*blkmove), "blkmove");
1245 for (i = 0; i < oldsb->fs_size; i++)
1262 inodes = alloconce(oldsb->fs_ncg * oldsb->fs_ipg *
1264 iflags = alloconce(oldsb->fs_ncg * oldsb->fs_ipg, "inode flags");
1265 memset(iflags, 0, oldsb->fs_ncg * oldsb->fs_ipg);
1267 ibuf = nfmalloc(oldsb->fs_bsize,"inode block buf");
1273 for (ino = 0,imax = oldsb->fs_ipg * oldsb->fs_ncg; ino < imax; ) {
1274 readat(FFS_FSBTODB(oldsb, ino_to_fsba(oldsb, ino)), ibuf,
1275 oldsb->fs_bsize);
1277 for (i = 0; i < oldsb->fs_inopb; i++) {
1350 clr_bits(cg_blksfree(cgs[dtog(oldsb, off)], 0),
1351 dtogd(oldsb, off), run);
1373 base = cgbase(oldsb, cg->cg_cgx);
1379 if (minfrag % oldsb->fs_frag) {
1381 n = minfrag % oldsb->fs_frag;
1388 while (nfrag >= oldsb->fs_frag) {
1389 if (!blk_is_set(cg_blksfree(cg, 0), minfrag, oldsb->fs_frag)) {
1391 oldsb->fs_frag)) {
1396 mark_move(base + minfrag, off, oldsb->fs_frag);
1398 oldsb->fs_frag);
1399 clr_bits(cg_blksfree(cgs[dtog(oldsb, off)], 0),
1400 dtogd(oldsb, off), oldsb->fs_frag);
1402 fragmove(cg, base, minfrag, oldsb->fs_frag);
1405 minfrag += oldsb->fs_frag;
1406 nfrag -= oldsb->fs_frag;
1446 for (i = 0; i < oldsb->fs_size; i++) {
1452 readat(FFS_FSBTODB(oldsb, i - run), &buf[0],
1453 run << oldsb->fs_fshift);
1454 writeat(FFS_FSBTODB(oldsb, blkmove[i - run]),
1455 &buf[0], run << oldsb->fs_fshift);
1463 readat(FFS_FSBTODB(oldsb, i - run), &buf[0],
1464 run << oldsb->fs_fshift);
1465 writeat(FFS_FSBTODB(oldsb, blkmove[i - run]), &buf[0],
1466 run << oldsb->fs_fshift);
1498 if ((off_t)DIP(di,di_size) <= oldsb->fs_maxsymlinklen) {
1534 readat(FFS_FSBTODB(oldsb, off), &blk[0], oldsb->fs_bsize);
1538 if (movemap_blocks(&blk[0], FFS_NINDIR(oldsb))) {
1543 writeat(FFS_FSBTODB(oldsb, off), &blk[0], oldsb->fs_bsize);
1555 map_inodes(&moveblocks_callback, oldsb->fs_ncg, NULL);
1556 map_data_blocks(&moveindir_callback, oldsb->fs_ncg);
1566 inomove = alloconce(oldsb->fs_ipg * oldsb->fs_ncg * sizeof(*inomove),
1568 for (i = (oldsb->fs_ipg * oldsb->fs_ncg) - 1; i >= 0; i--)
1679 ni = oldsb->fs_ipg * oldsb->fs_ncg;
1725 readat(FFS_FSBTODB(oldsb, bn), &buf, size << oldsb->fs_fshift);
1727 writeat(FFS_FSBTODB(oldsb, bn), &buf,
1728 size << oldsb->fs_fshift);
1759 ", not shrinking.\n", newsb->fs_size, oldsb->fs_size);
1770 " blocks.\n", oldsb->fs_size, newsb->fs_size);
1786 for (i = newsb->fs_ncg; i < oldsb->fs_ncg; i++) {
1791 base = cgbase(oldsb, i);
1792 dlow = cgsblock(oldsb, i) - base;
1793 dhigh = cgdmin(oldsb, i) - base;
1794 dmax = oldsb->fs_size - base;
1815 oldcgsize = oldsb->fs_size - ((newsb->fs_ncg - 1) &
1816 oldsb->fs_fpg);
1817 if (oldcgsize > oldsb->fs_fpg)
1818 oldcgsize = oldsb->fs_fpg;
1830 for (; i < oldsb->fs_ncg; i++)
1831 slop -= oldsb->fs_ipg - cgs[i]->cg_cs.cs_nifree;
1842 for (i = newsb->fs_ncg; i < oldsb->fs_ncg; i++)
2075 /* copy newsb back to oldsb, so we can use it for offsets if
2077 memcpy(oldsb, newsb, SBLOCKSIZE);
2081 for (i = 0; i < oldsb->fs_ncg; i++) {
2083 i, oldsb->fs_ncg - 1);
2084 writeat(FFS_FSBTODB(oldsb, cgsblock(oldsb, i)), newsb, SBLOCKSIZE);
2100 " blocks\n", (int64_t)oldsb->fs_size);
2107 PRId64 " fsdb: %" PRId64 "\n", FFS_DBTOFSB(oldsb, newsize),
2108 (int64_t)oldsb->fs_size,
2109 (int64_t)oldsb->fs_fsbtodb);
2225 oldsb = (struct fs *) & sbbuf;
2228 readat(where / DEV_BSIZE, oldsb, SBLOCKSIZE);
2229 switch (oldsb->fs_magic) {
2254 ffs_sb_swap(oldsb,oldsb);
2255 if (oldsb->fs_magic == FS_UFS1_MAGIC &&
2256 (oldsb->fs_old_flags & FS_FLAGS_UPDATED) == 0) {
2257 oldsb->fs_csaddr = oldsb->fs_old_csaddr;
2258 oldsb->fs_size = oldsb->fs_old_size;
2259 oldsb->fs_dsize = oldsb->fs_old_dsize;
2260 oldsb->fs_cstotal.cs_ndir = oldsb->fs_old_cstotal.cs_ndir;
2261 oldsb->fs_cstotal.cs_nbfree = oldsb->fs_old_cstotal.cs_nbfree;
2262 oldsb->fs_cstotal.cs_nifree = oldsb->fs_old_cstotal.cs_nifree;
2263 oldsb->fs_cstotal.cs_nffree = oldsb->fs_old_cstotal.cs_nffree;
2268 oldsb->fs_qbmask = ~(int64_t) oldsb->fs_bmask;
2269 oldsb->fs_qfmask = ~(int64_t) oldsb->fs_fmask;
2270 if (oldsb->fs_ipg % FFS_INOPB(oldsb))
2272 (int) oldsb->fs_ipg, (int) FFS_INOPB(oldsb));
2277 memcpy(newsb, oldsb, SBLOCKSIZE);
2291 if (newsize > FFS_FSBTODB(oldsb, oldsb->fs_size)) {
2295 } else if (newsize < FFS_FSBTODB(oldsb, oldsb->fs_size)) {
2306 " blocks\n", (int64_t)oldsb->fs_size);