Remove DUX/OSF code
[openafs.git] / src / vfsck / pass5.c
index c011a22..0bcd157 100644 (file)
 #include <afsconfig.h>
 #include <afs/param.h>
 
-RCSID("$Header$");
+#include <roken.h>
+
+#include <ctype.h>
 
 #define VICE
-#include <sys/param.h>
-#include <sys/time.h>
-#ifdef AFS_OSF_ENV
-#include <sys/vnode.h>
-#include <sys/mount.h>
-#include <ufs/inode.h>
-#include <ufs/fs.h>
-#define        _BSD
-#define        _KERNEL
-#include <ufs/dir.h>
-#undef _KERNEL
-#undef _BSD
-#include <stdio.h>
-#else  /* AFS_OSF_ENV */
 #ifdef AFS_VFSINCL_ENV
 #include <sys/vnode.h>
 #ifdef   AFS_SUN5_ENV
-#include <stdio.h>
-#include <unistd.h>
 #include <sys/fs/ufs_inode.h>
 #include <sys/fs/ufs_fs.h>
 #define _KERNEL
@@ -53,19 +39,17 @@ RCSID("$Header$");
 #else /* AFS_VFSINCL_ENV */
 #include <sys/inode.h>
 #ifdef AFS_HPUX_ENV
-#include <ctype.h>
 #define        LONGFILENAMES   1
 #include <sys/sysmacros.h>
 #include <sys/ino.h>
 #endif
 #include <sys/fs.h>
 #endif /* AFS_VFSINCL_ENV */
-#endif /* AFS_OSF_ENV */
 #include <afs/osi_inode.h>
 
 #include "fsck.h"
 
-#if    defined(AFS_SUN_ENV) || defined(AFS_OSF_ENV)
+#if    defined(AFS_SUN_ENV)
 #define AFS_NEWCG_ENV
 #else
 #undef AFS_NEWCG_ENV
@@ -79,340 +63,309 @@ RCSID("$Header$");
 
 pass5()
 {
-       int c, blk, frags, basesize, sumsize, mapsize, savednrpos;
-       register struct fs *fs = &sblock;
-       register struct cg *cg = &cgrp;
-       daddr_t dbase, dmax;
-       register daddr_t d;
-       register long i, j;
-       struct csum *cs;
-       time_t now;
-       struct csum cstotal;
-       struct inodesc idesc[3];
-       char buf[MAXBSIZE];
-       int postype;
+    int c, blk, frags, basesize, sumsize, mapsize, savednrpos;
+    struct fs *fs = &sblock;
+    struct cg *cg = &cgrp;
+    daddr_t dbase, dmax;
+    daddr_t d;
+    long i, j;
+    struct csum *cs;
+    time_t now;
+    struct csum cstotal;
+    struct inodesc idesc[3];
+    char buf[MAXBSIZE];
+    int postype;
 
 #ifdef AFS_NEWCG_ENV
-       register struct cg *newcg = (struct cg *)buf;
-       struct ocg *ocg = (struct ocg *)buf;
+    struct cg *newcg = (struct cg *)buf;
+    struct ocg *ocg = (struct ocg *)buf;
 #else /* AFS_NEWCG_ENV */
-       /* don't bother with newcg format yet, most systems don't support it */
-       register struct cg *newcg = (struct cg *) buf;
-       struct cg *ocg = (struct cg *) buf;
+    /* don't bother with newcg format yet, most systems don't support it */
+    struct cg *newcg = (struct cg *)buf;
+    struct cg *ocg = (struct cg *)buf;
 #endif /* AFS_NEWCG_ENV */
 
-       bzero((char *)newcg, (int)fs->fs_cgsize);
-       newcg->cg_niblk = fs->fs_ipg;
+    memset(newcg, 0, (int)fs->fs_cgsize);
+    newcg->cg_niblk = fs->fs_ipg;
 #ifdef AFS_NEWCG_ENV
-       postype = (int) fs->fs_postblformat;
+    postype = (int)fs->fs_postblformat;
 #else /* AFS_NEWCG_ENV */
-       postype = FS_42POSTBLFMT;
+    postype = FS_42POSTBLFMT;
 #endif /* AFS_NEWCG_ENV */
-       switch (postype) {
+    switch (postype) {
 
-       case FS_42POSTBLFMT:
-               basesize = (char *)(&ocg->cg_btot[0]) - (char *)(&ocg->cg_link);
-               sumsize = &ocg->cg_iused[0] - (char *)(&ocg->cg_btot[0]);
-               mapsize = &ocg->cg_free[howmany(fs->fs_fpg, NBBY)] -
-                       (u_char *)&ocg->cg_iused[0];
-               ocg->cg_magic = CG_MAGIC;
+    case FS_42POSTBLFMT:
+       basesize = (char *)(&ocg->cg_btot[0]) - (char *)(&ocg->cg_link);
+       sumsize = &ocg->cg_iused[0] - (char *)(&ocg->cg_btot[0]);
+       mapsize =
+           &ocg->cg_free[howmany(fs->fs_fpg, NBBY)] -
+           (u_char *) & ocg->cg_iused[0];
+       ocg->cg_magic = CG_MAGIC;
 #ifdef AFS_NEWCG_ENV
-               savednrpos = fs->fs_nrpos;
-               fs->fs_nrpos = 8;
+       savednrpos = fs->fs_nrpos;
+       fs->fs_nrpos = 8;
 #endif /* AFS_NEWCG_ENV */
-               break;
+       break;
 
 #ifdef AFS_NEWCG_ENV
-       case FS_DYNAMICPOSTBLFMT:
-               newcg->cg_btotoff =
+    case FS_DYNAMICPOSTBLFMT:
+       newcg->cg_btotoff =
 #ifdef __alpha
-                   /* Matches decl in ufs/fs.h */
-                       &newcg->cg_space[0] - (u_char *)(&newcg->cg_link[0]);
-#else  /* __alpha */
-                       &newcg->cg_space[0] - (u_char *)(&newcg->cg_link);
+           /* Matches decl in ufs/fs.h */
+           &newcg->cg_space[0] - (u_char *) (&newcg->cg_link[0]);
+#else /* __alpha */
+           &newcg->cg_space[0] - (u_char *) (&newcg->cg_link);
 #endif
-               newcg->cg_boff =
-                       newcg->cg_btotoff + fs->fs_cpg * sizeof(afs_int32);
-               newcg->cg_iusedoff = newcg->cg_boff + 
-                       fs->fs_cpg * fs->fs_nrpos * sizeof(short);
-               newcg->cg_freeoff =
-                       newcg->cg_iusedoff + howmany(fs->fs_ipg, NBBY);
-               newcg->cg_nextfreeoff = newcg->cg_freeoff +
-                       howmany(fs->fs_cpg * fs->fs_spc / NSPF(fs),
-                               NBBY);
-               newcg->cg_magic = CG_MAGIC;
+       newcg->cg_boff = newcg->cg_btotoff + fs->fs_cpg * sizeof(afs_int32);
+       newcg->cg_iusedoff =
+           newcg->cg_boff + fs->fs_cpg * fs->fs_nrpos * sizeof(short);
+       newcg->cg_freeoff = newcg->cg_iusedoff + howmany(fs->fs_ipg, NBBY);
+       newcg->cg_nextfreeoff =
+           newcg->cg_freeoff + howmany(fs->fs_cpg * fs->fs_spc / NSPF(fs),
+                                       NBBY);
+       newcg->cg_magic = CG_MAGIC;
 #ifdef __alpha
-               /* Matches decl in ufs/fs.h */
-               basesize = &newcg->cg_space[0] - (u_char *)(&newcg->cg_link[0]);
-#else  /* __alpha */
-               basesize = &newcg->cg_space[0] - (u_char *)(&newcg->cg_link);
+       /* Matches decl in ufs/fs.h */
+       basesize = &newcg->cg_space[0] - (u_char *) (&newcg->cg_link[0]);
+#else /* __alpha */
+       basesize = &newcg->cg_space[0] - (u_char *) (&newcg->cg_link);
 #endif
-               sumsize = newcg->cg_iusedoff - newcg->cg_btotoff;
-               mapsize = newcg->cg_nextfreeoff - newcg->cg_iusedoff;
-               break;
+       sumsize = newcg->cg_iusedoff - newcg->cg_btotoff;
+       mapsize = newcg->cg_nextfreeoff - newcg->cg_iusedoff;
+       break;
 
-       default:
-               errexit("UNKNOWN ROTATIONAL TABLE FORMAT %d\n",
-                       fs->fs_postblformat);
+    default:
+       errexit("UNKNOWN ROTATIONAL TABLE FORMAT %d\n", fs->fs_postblformat);
 #endif /* AFS_NEWCG_ENV */
 
-       }
-       bzero((char *)&idesc[0], sizeof idesc);
-       for (i = 0; i < 3; i++)
-               idesc[i].id_type = ADDR;
-       bzero((char *)&cstotal, sizeof(struct csum));
-       (void)time(&now);
+    }
+    memset(&idesc[0], 0, sizeof idesc);
+    for (i = 0; i < 3; i++)
+       idesc[i].id_type = ADDR;
+    memset(&cstotal, 0, sizeof(struct csum));
+    (void)time(&now);
 #ifdef notdef
-       /* this is the original from UCB/McKusick, but it is clearly wrong.  It is
-          rounding the # of fragments to the next 1024 (in our case, with a 1K/8K file system),
-          while instead it should be rounding to the next block.
-
-          In addition, we should be sure that we allocate enough space, but that seems to be
-          ensured by the fact that the bitmap is rounded up to the nearest short, and that there
-          are never more than 16 frags per block.
-          */
-       for (i = fs->fs_size; i < fragroundup(fs, fs->fs_size); i++)
+    /* this is the original from UCB/McKusick, but it is clearly wrong.  It is
+     * rounding the # of fragments to the next 1024 (in our case, with a 1K/8K file system),
+     * while instead it should be rounding to the next block.
+     *
+     * In addition, we should be sure that we allocate enough space, but that seems to be
+     * ensured by the fact that the bitmap is rounded up to the nearest short, and that there
+     * are never more than 16 frags per block.
+     */
+    for (i = fs->fs_size; i < fragroundup(fs, fs->fs_size); i++)
 #else
-       c = 1 << fs->fs_fragshift;      /* unit to which we want to round */
-       for(i=fs->fs_size; i < roundup(fs->fs_size, c); i++)
+    c = 1 << fs->fs_fragshift; /* unit to which we want to round */
+    for (i = fs->fs_size; i < roundup(fs->fs_size, c); i++)
 #endif
-               setbmap(i);
-       for (c = 0; c < fs->fs_ncg; c++) {
-               getblk(&cgblk, cgtod(fs, c), fs->fs_cgsize);
+       setbmap(i);
+    for (c = 0; c < fs->fs_ncg; c++) {
+       getblk(&cgblk, cgtod(fs, c), fs->fs_cgsize);
 #ifdef AFS_NEWCG_ENV
-               if (!cg_chkmagic(cg))
-                       pfatal("CG %d: BAD MAGIC NUMBER\n", c);
+       if (!cg_chkmagic(cg))
+           pfatal("CG %d: BAD MAGIC NUMBER\n", c);
 #else /* AFS_NEWCG_ENV */
-               if (cg->cg_magic != CG_MAGIC)
-                       pfatal("CG %d: BAD MAGIC NUMBER\n", c);
+       if (cg->cg_magic != CG_MAGIC)
+           pfatal("CG %d: BAD MAGIC NUMBER\n", c);
 #endif /* AFS_NEWCG_ENV */
-               dbase = cgbase(fs, c);
-               dmax = dbase + fs->fs_fpg;
-               if (dmax > fs->fs_size)
-                       dmax = fs->fs_size;
-               if (now > cg->cg_time)
-                       newcg->cg_time = cg->cg_time;
-               else
-                       newcg->cg_time = now;
-               newcg->cg_cgx = c;
-               if (c == fs->fs_ncg - 1)
-                       newcg->cg_ncyl = fs->fs_ncyl % fs->fs_cpg;
-               else
-                       newcg->cg_ncyl = fs->fs_cpg;
-               newcg->cg_ndblk = dmax - dbase;
-               newcg->cg_cs.cs_ndir = 0;
-               newcg->cg_cs.cs_nffree = 0;
-               newcg->cg_cs.cs_nbfree = 0;
-               newcg->cg_cs.cs_nifree = fs->fs_ipg;
-               if (cg->cg_rotor < newcg->cg_ndblk)
-                       newcg->cg_rotor = cg->cg_rotor;
-               else
-                       newcg->cg_rotor = 0;
-               if (cg->cg_frotor < newcg->cg_ndblk)
-                       newcg->cg_frotor = cg->cg_frotor;
-               else
-                       newcg->cg_frotor = 0;
-               if (cg->cg_irotor < newcg->cg_niblk)
-                       newcg->cg_irotor = cg->cg_irotor;
-               else
-                       newcg->cg_irotor = 0;
-               bzero((char *)&newcg->cg_frsum[0], sizeof newcg->cg_frsum);
+       dbase = cgbase(fs, c);
+       dmax = dbase + fs->fs_fpg;
+       if (dmax > fs->fs_size)
+           dmax = fs->fs_size;
+       if (now > cg->cg_time)
+           newcg->cg_time = cg->cg_time;
+       else
+           newcg->cg_time = now;
+       newcg->cg_cgx = c;
+       if (c == fs->fs_ncg - 1)
+           newcg->cg_ncyl = fs->fs_ncyl % fs->fs_cpg;
+       else
+           newcg->cg_ncyl = fs->fs_cpg;
+       newcg->cg_ndblk = dmax - dbase;
+       newcg->cg_cs.cs_ndir = 0;
+       newcg->cg_cs.cs_nffree = 0;
+       newcg->cg_cs.cs_nbfree = 0;
+       newcg->cg_cs.cs_nifree = fs->fs_ipg;
+       if (cg->cg_rotor < newcg->cg_ndblk)
+           newcg->cg_rotor = cg->cg_rotor;
+       else
+           newcg->cg_rotor = 0;
+       if (cg->cg_frotor < newcg->cg_ndblk)
+           newcg->cg_frotor = cg->cg_frotor;
+       else
+           newcg->cg_frotor = 0;
+       if (cg->cg_irotor < newcg->cg_niblk)
+           newcg->cg_irotor = cg->cg_irotor;
+       else
+           newcg->cg_irotor = 0;
+       memset(&newcg->cg_frsum[0], 0, sizeof newcg->cg_frsum);
 #ifdef AFS_NEWCG_ENV
-               bzero((char *)&cg_blktot(newcg)[0], sumsize + mapsize);
+       memset(&cg_blktot(newcg)[0], 0, sumsize + mapsize);
 #else /* AFS_NEWCG_ENV */
-               bzero((char *)newcg->cg_btot, sizeof(newcg->cg_btot));
-               bzero((char *)newcg->cg_b, sizeof(newcg->cg_b));
-               bzero((char *)newcg->cg_iused, sizeof(newcg->cg_iused));
-               bzero((char *)newcg->cg_free, howmany(fs->fs_fpg, NBBY));
+       memset(newcg->cg_btot, 0, sizeof(newcg->cg_btot));
+       memset(newcg->cg_b, 0, sizeof(newcg->cg_b));
+       memset(newcg->cg_iused, 0, sizeof(newcg->cg_iused));
+       memset(newcg->cg_free, 0, howmany(fs->fs_fpg, NBBY));
 #endif /* AFS_NEWCG_ENV */
 #ifdef AFS_NEWCG_ENV
-               if (fs->fs_postblformat == FS_42POSTBLFMT)
-                       ocg->cg_magic = CG_MAGIC;
+       if (fs->fs_postblformat == FS_42POSTBLFMT)
+           ocg->cg_magic = CG_MAGIC;
 #endif /* AFS_NEWCG_ENV */
-               j = fs->fs_ipg * c;
-               for (i = 0; i < fs->fs_ipg; j++, i++) {
+       j = fs->fs_ipg * c;
+       for (i = 0; i < fs->fs_ipg; j++, i++) {
 #if defined(ACLS) && defined(AFS_HPUX_ENV)
-                       switch (statemap[j] & STATE) {
+           switch (statemap[j] & STATE) {
 #else
-                       switch (statemap[j]) {
+           switch (statemap[j]) {
 #endif
-                       case USTATE:
-                               break;
+           case USTATE:
+               break;
 
-                       case DSTATE:
-                       case DCLEAR:
-                       case DFOUND:
-                               newcg->cg_cs.cs_ndir++;
-                               /* fall through */
+           case DSTATE:
+           case DCLEAR:
+           case DFOUND:
+               newcg->cg_cs.cs_ndir++;
+               /* fall through */
 
 #ifdef VICE
-                       case VSTATE:
+           case VSTATE:
 #endif /* VICE */
-                       case FSTATE:
-                       case FCLEAR:
-                               newcg->cg_cs.cs_nifree--;
+           case FSTATE:
+           case FCLEAR:
+               newcg->cg_cs.cs_nifree--;
 #ifdef AFS_NEWCG_ENV
-                               setbit(cg_inosused(newcg), i);
+               setbit(cg_inosused(newcg), i);
 #else
-                               setbit(newcg->cg_iused, i);
+               setbit(newcg->cg_iused, i);
 #endif /* AFS_NEWCG_ENV */
-                               break;
+               break;
 
 #if defined(ACLS) && defined(AFS_HPUX_ENV)
-                       /* hpux has more dynamic states (CSTATE, CRSTATE) */
-                       case CSTATE: 
-                       case CRSTATE: 
-                               break;
+               /* hpux has more dynamic states (CSTATE, CRSTATE) */
+           case CSTATE:
+           case CRSTATE:
+               break;
 #endif
-                       default:
-                               if (j < ROOTINO)
-                                       break;
-                               errexit("BAD STATE %d FOR INODE I=%d",
-                                   statemap[j], j);
-                       }
-               }
-               if (c == 0)
-                       for (i = 0; i < ROOTINO; i++) {
+           default:
+               if (j < ROOTINO)
+                   break;
+               errexit("BAD STATE %d FOR INODE I=%d", statemap[j], j);
+           }
+       }
+       if (c == 0)
+           for (i = 0; i < ROOTINO; i++) {
 #ifdef AFS_NEWCG_ENV
-                               setbit(cg_inosused(newcg), i);
+               setbit(cg_inosused(newcg), i);
 #else
-                               setbit(newcg->cg_iused, i);
+               setbit(newcg->cg_iused, i);
 #endif /* AFS_NEWCG_ENV */
-                               newcg->cg_cs.cs_nifree--;
-                       }
-               for (i = 0, d = dbase;
-                    d < dmax;
-                    d += fs->fs_frag, i += fs->fs_frag) {
-                       frags = 0;
-                       for (j = 0; j < fs->fs_frag; j++) {
-                               if (testbmap(d + j))
-                                       continue;
+               newcg->cg_cs.cs_nifree--;
+           }
+       for (i = 0, d = dbase; d < dmax; d += fs->fs_frag, i += fs->fs_frag) {
+           frags = 0;
+           for (j = 0; j < fs->fs_frag; j++) {
+               if (testbmap(d + j))
+                   continue;
 #ifdef AFS_NEWCG_ENV
-                               setbit(cg_blksfree(newcg), i + j);
+               setbit(cg_blksfree(newcg), i + j);
 #else /* AFS_NEWCG_ENV */
-                               setbit(newcg->cg_free, i+j);
+               setbit(newcg->cg_free, i + j);
 #endif /* AFS_NEWCG_ENV */
-                               frags++;
-                       }
-                       if (frags == fs->fs_frag) {
-                               newcg->cg_cs.cs_nbfree++;
-                               j = cbtocylno(fs, i);
+               frags++;
+           }
+           if (frags == fs->fs_frag) {
+               newcg->cg_cs.cs_nbfree++;
+               j = cbtocylno(fs, i);
 #ifdef AFS_NEWCG_ENV
-                               cg_blktot(newcg)[j]++;
-                               cg_blks(fs, newcg, j)[cbtorpos(fs, i)]++;
+               cg_blktot(newcg)[j]++;
+               cg_blks(fs, newcg, j)[cbtorpos(fs, i)]++;
 #else /* AFS_NEWCG_ENV */
-                               newcg->cg_btot[j]++;
-                               newcg->cg_b[j][cbtorpos(fs, i)]++;
+               newcg->cg_btot[j]++;
+               newcg->cg_b[j][cbtorpos(fs, i)]++;
 #endif /* AFS_NEWCG_ENV */
-                       } else if (frags > 0) {
-                               newcg->cg_cs.cs_nffree += frags;
+           } else if (frags > 0) {
+               newcg->cg_cs.cs_nffree += frags;
 #ifdef AFS_NEWCG_ENV
-                               blk = blkmap(fs, cg_blksfree(newcg), i);
+               blk = blkmap(fs, cg_blksfree(newcg), i);
 #else /* AFS_NEWCG_ENV */
-                               blk = blkmap(fs, newcg->cg_free, i);
+               blk = blkmap(fs, newcg->cg_free, i);
 #endif /* AFS_NEWCG_ENV */
-                               fragacct(fs, blk, newcg->cg_frsum, 1);
-                       }
-               }
-               cstotal.cs_nffree += newcg->cg_cs.cs_nffree;
-               cstotal.cs_nbfree += newcg->cg_cs.cs_nbfree;
-               cstotal.cs_nifree += newcg->cg_cs.cs_nifree;
-               cstotal.cs_ndir += newcg->cg_cs.cs_ndir;
-               cs = &fs->fs_cs(fs, c);
-               if (bcmp((char *)&newcg->cg_cs, (char *)cs, sizeof *cs) != 0 &&
-                   dofix(&idesc[0], "FREE BLK COUNT(S) WRONG IN CYL GROUP (SUPERBLK)")) {
-                       bcopy((char *)&newcg->cg_cs, (char *)cs, sizeof *cs);
-                       sbdirty();
-               }
+               fragacct(fs, blk, newcg->cg_frsum, 1);
+           }
+       }
+       cstotal.cs_nffree += newcg->cg_cs.cs_nffree;
+       cstotal.cs_nbfree += newcg->cg_cs.cs_nbfree;
+       cstotal.cs_nifree += newcg->cg_cs.cs_nifree;
+       cstotal.cs_ndir += newcg->cg_cs.cs_ndir;
+       cs = &fs->fs_cs(fs, c);
+       if (memcmp((char *)&newcg->cg_cs, (char *)cs, sizeof *cs) != 0
+           && dofix(&idesc[0],
+                    "FREE BLK COUNT(S) WRONG IN CYL GROUP (SUPERBLK)")) {
+           memcpy((char *)cs, (char *)&newcg->cg_cs, sizeof *cs);
+           sbdirty();
+       }
 #ifdef AFS_NEWCG_ENV
-               if (cvtflag) {
-                       bcopy((char *)newcg, (char *)cg, (int)fs->fs_cgsize);
-                       cgdirty();
-                       continue;
-               }
+       if (cvtflag) {
+           memcpy((char *)cg, (char *)newcg, (int)fs->fs_cgsize);
+           cgdirty();
+           continue;
+       }
 #endif /* AFS_NEWCG_ENV */
 #ifdef AFS_NEWCG_ENV
-               if (bcmp(cg_inosused(newcg),
-                        cg_inosused(cg), mapsize) != 0 &&
-                   dofix(&idesc[1], "BLK(S) MISSING IN BIT MAPS")) {
-                       bcopy(cg_inosused(newcg), cg_inosused(cg), mapsize);
-                       cgdirty();
-               }
+       if (memcmp(cg_inosused(newcg), cg_inosused(cg), mapsize) != 0
+           && dofix(&idesc[1], "BLK(S) MISSING IN BIT MAPS")) {
+           memcpy(cg_inosused(cg), cg_inosused(newcg), mapsize);
+           cgdirty();
+       }
 #else /* AFS_NEWCG_ENV */
-               if (bcmp(newcg->cg_iused,
-                        cg->cg_iused, mapsize) != 0 &&
-                   dofix(&idesc[1], "BLK(S) MISSING IN BIT MAPS")) {
-                       bcopy(newcg->cg_iused, cg->cg_iused, mapsize);
-                       cgdirty();
-               }
+       if (memcmp(newcg->cg_iused, cg->cg_iused, mapsize) != 0
+           && dofix(&idesc[1], "BLK(S) MISSING IN BIT MAPS")) {
+           memcpy(cg->cg_iused, newcg->cg_iused, mapsize);
+           cgdirty();
+       }
 #endif /* AFS_NEWCG_ENV */
-               if ((bcmp((char *)newcg, (char *)cg, basesize) != 0 ||
+       if ((memcmp((char *)newcg, (char *)cg, basesize) != 0 ||
 #ifdef AFS_NEWCG_ENV
-                    bcmp((char *)&cg_blktot(newcg)[0],
-                         (char *)&cg_blktot(cg)[0], sumsize) != 0) &&
+            memcmp((char *)&cg_blktot(newcg)[0], (char *)&cg_blktot(cg)[0],
+                   sumsize) != 0) &&
 #else /* AFS_NEWCG_ENV */
-                    bcmp((char *)newcg->cg_btot,
-                         (char *)cg->cg_btot, sumsize) != 0) &&
+            memcmp((char *)newcg->cg_btot, (char *)cg->cg_btot,
+                   sumsize) != 0) &&
 #endif /* AFS_NEWCG_ENV */
-                   dofix(&idesc[2], "SUMMARY INFORMATION BAD")) {
+           dofix(&idesc[2], "SUMMARY INFORMATION BAD")) {
 #ifdef AFS_NEWCG_ENV
-                       bcopy((char *)newcg, (char *)cg, basesize);
-                       bcopy((char *)&cg_blktot(newcg)[0],
-                             (char *)&cg_blktot(cg)[0], sumsize);
+           memcpy((char *)cg, (char *)newcg, basesize);
+           memcpy((char *)&cg_blktot(cg)[0], (char *)&cg_blktot(newcg)[0],
+                  sumsize);
 #else /* AFS_NEWCG_ENV */
-                       bcopy((char *)newcg, (char *)cg, basesize);
-                       bcopy((char *)newcg->cg_btot, (char *)cg->cg_btot, sumsize);
+           memcpy((char *)cg, (char *)newcg, basesize);
+           memcpy((char *)cg->cg_btot, (char *)newcg->cg_btot, sumsize);
 #endif /* AFS_NEWCG_ENV */
-                       cgdirty();
-               }
+           cgdirty();
        }
+    }
 #ifdef AFS_NEWCG_ENV
-       if (fs->fs_postblformat == FS_42POSTBLFMT)
-               fs->fs_nrpos = savednrpos;
+    if (fs->fs_postblformat == FS_42POSTBLFMT)
+       fs->fs_nrpos = savednrpos;
 #endif /* AFS_NEWCG_ENV */
-       if (bcmp((char *)&cstotal, (char *)&fs->fs_cstotal, sizeof *cs) != 0
-           && dofix(&idesc[0], "FREE BLK COUNT(S) WRONG IN SUPERBLK")) {
-               bcopy((char *)&cstotal, (char *)&fs->fs_cstotal, sizeof *cs);
-               fs->fs_ronly = 0;
-               sbfine(fs);
-               sbdirty();
-           }
-#if defined(AFS_DEC_ENV)
-       if (sbfine(fs)) {
-           int oldmod;
-           /* don't change fsmodified here, or fsck will think that modified
-              mounted file system requires reboot, when it is really fine
-              (since it is mounted, and thus clean flag doesn't matter) */
-           oldmod = fsmodified;
-           sbdirty();
-           flush(fswritefd, &sblk);
-           fsmodified = oldmod;
-       }
-#endif
+    if (memcmp((char *)&cstotal, (char *)&fs->fs_cstotal, sizeof *cs) != 0
+       && dofix(&idesc[0], "FREE BLK COUNT(S) WRONG IN SUPERBLK")) {
+       memcpy((char *)&fs->fs_cstotal, (char *)&cstotal, sizeof *cs);
+       fs->fs_ronly = 0;
+       sbfine(fs);
+       sbdirty();
+    }
 }
 
 /* returns true if sbdirty should be called */
 sbfine(fs)
-register struct fs *fs; {
+     struct fs *fs;
+{
     int rcode;
     rcode = 0;
-#if defined(AFS_DEC_ENV)
-    if (fs->fs_fmod != 0 || fs->fs_clean != FS_CLEAN) {
-       fs->fs_fmod = 0;
-       fs->fs_clean = FS_CLEAN;
-       rcode = 1;
-    }
-    if(fs->fs_deftimer) {
-       fs->fs_cleantimer = fs->fs_deftimer =
-           (fs->fs_deftimer > 0 && fs->fs_deftimer < 255) ? fs->fs_deftimer : 
-               FSCLEAN_TIMEOUTFACTOR;
-       rcode = 1;
-    }
-#else 
     if (fs->fs_fmod != 0) {
        fs->fs_fmod = 0;
        rcode = 1;
     }
-#endif /* AFS_DEC_ENV */
     return rcode;
 }