From owner-freebsd-arch@FreeBSD.ORG Fri Oct 26 16:59:21 2007 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0249016A46C for ; Fri, 26 Oct 2007 16:59:21 +0000 (UTC) (envelope-from obrien@NUXI.org) Received: from dragon.nuxi.org (trang.nuxi.org [74.95.12.85]) by mx1.freebsd.org (Postfix) with ESMTP id BC92113C4AC for ; Fri, 26 Oct 2007 16:59:20 +0000 (UTC) (envelope-from obrien@NUXI.org) Received: from dragon.nuxi.org (obrien@localhost [127.0.0.1]) by dragon.nuxi.org (8.14.1/8.14.1) with ESMTP id l9QGdNGc095257 for ; Fri, 26 Oct 2007 09:39:23 -0700 (PDT) (envelope-from obrien@dragon.nuxi.org) Received: (from obrien@localhost) by dragon.nuxi.org (8.14.1/8.14.1/Submit) id l9QGdNkr095256 for freebsd-arch@freebsd.org; Fri, 26 Oct 2007 09:39:23 -0700 (PDT) (envelope-from obrien) Date: Fri, 26 Oct 2007 09:39:23 -0700 From: "David O'Brien" To: freebsd-arch@freebsd.org Message-ID: <20071026163923.GA95109@dragon.NUXI.org> Mail-Followup-To: obrien@freebsd.org, freebsd-arch@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Operating-System: FreeBSD 7.0-CURRENT User-Agent: Mutt/1.5.16 (2007-06-09) Subject: Filesystem INVARIANTS X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: obrien@freebsd.org List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Oct 2007 16:59:21 -0000 Hi folks, Looking at the code in sys/ufs, I think most of the "DIAGNOSTIC"s should really be "INVARIANTS"s. In fact there are no "INVARIANTS" in the filesystem code at this time. Below is a diff of what I feel should change from "DIAGNOSTIC" to "INVARIANTS". I have not yet had a chance to benchmark the impact of this change when only INVARIANTS/INVARIANTS_SUPORT and not DIAGNOSTIC is set vs. nothing set. Thoughs? Opinions? Index: ufs/ffs/ffs_alloc.c =================================================================== RCS file: /home/ncvs/src/sys/ufs/ffs/ffs_alloc.c,v retrieving revision 1.147 diff -u -p -r1.147 ffs_alloc.c --- ufs/ffs/ffs_alloc.c 10 Sep 2007 14:12:29 -0000 1.147 +++ ufs/ffs/ffs_alloc.c 26 Oct 2007 16:34:18 -0000 @@ -94,7 +94,7 @@ typedef ufs2_daddr_t allocfcn_t(struct i static ufs2_daddr_t ffs_alloccg(struct inode *, int, ufs2_daddr_t, int); static ufs2_daddr_t ffs_alloccgblk(struct inode *, struct buf *, ufs2_daddr_t); -#ifdef DIAGNOSTIC +#ifdef INVARIANTS static int ffs_checkblk(struct inode *, ufs2_daddr_t, long); #endif static ufs2_daddr_t ffs_clusteralloc(struct inode *, int, ufs2_daddr_t, int); @@ -152,7 +152,7 @@ ffs_alloc(ip, lbn, bpref, size, cred, bn fs = ip->i_fs; ump = ip->i_ump; mtx_assert(UFS_MTX(ump), MA_OWNED); -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if ((u_int)size > fs->fs_bsize || fragoff(fs, size) != 0) { printf("dev = %s, bsize = %ld, size = %d, fs = %s\n", devtoname(ip->i_dev), (long)fs->fs_bsize, size, @@ -161,7 +161,7 @@ ffs_alloc(ip, lbn, bpref, size, cred, bn } if (cred == NOCRED) panic("ffs_alloc: missing credential"); -#endif /* DIAGNOSTIC */ +#endif /* INVARIANTS */ reclaimed = 0; retry: #ifdef QUOTA @@ -252,7 +252,7 @@ ffs_realloccg(ip, lbprev, bprev, bpref, bp = NULL; ump = ip->i_ump; mtx_assert(UFS_MTX(ump), MA_OWNED); -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (vp->v_mount->mnt_kern_flag & MNTK_SUSPENDED) panic("ffs_realloccg: allocation on suspended filesystem"); if ((u_int)osize > fs->fs_bsize || fragoff(fs, osize) != 0 || @@ -265,7 +265,7 @@ ffs_realloccg(ip, lbprev, bprev, bpref, } if (cred == NOCRED) panic("ffs_realloccg: missing credential"); -#endif /* DIAGNOSTIC */ +#endif /* INVARIANTS */ reclaimed = 0; retry: if (priv_check_cred(cred, PRIV_VFS_BLOCKRESERVE, 0) && @@ -506,7 +506,7 @@ ffs_reallocblks_ufs1(ap) len = buflist->bs_nchildren; start_lbn = buflist->bs_children[0]->b_lblkno; end_lbn = start_lbn + len - 1; -#ifdef DIAGNOSTIC +#ifdef INVARIANTS for (i = 0; i < len; i++) if (!ffs_checkblk(ip, dbtofsb(fs, buflist->bs_children[i]->b_blkno), fs->fs_bsize)) @@ -552,7 +552,7 @@ ffs_reallocblks_ufs1(ap) if (end_lvl == 0 || (idp = &end_ap[end_lvl - 1])->in_off + 1 >= len) { ssize = len; } else { -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (start_ap[start_lvl-1].in_lbn == idp->in_lbn) panic("ffs_reallocblk: start == end"); #endif @@ -592,7 +592,7 @@ ffs_reallocblks_ufs1(ap) bap = ebap; soff = -i; } -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (!ffs_checkblk(ip, dbtofsb(fs, buflist->bs_children[i]->b_blkno), fs->fs_bsize)) panic("ffs_reallocblks: unallocated block 2"); @@ -658,7 +658,7 @@ ffs_reallocblks_ufs1(ap) dbtofsb(fs, buflist->bs_children[i]->b_blkno), fs->fs_bsize, ip->i_number); buflist->bs_children[i]->b_blkno = fsbtodb(fs, blkno); -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (!ffs_checkblk(ip, dbtofsb(fs, buflist->bs_children[i]->b_blkno), fs->fs_bsize)) panic("ffs_reallocblks: unallocated block 3"); @@ -713,7 +713,7 @@ ffs_reallocblks_ufs2(ap) len = buflist->bs_nchildren; start_lbn = buflist->bs_children[0]->b_lblkno; end_lbn = start_lbn + len - 1; -#ifdef DIAGNOSTIC +#ifdef INVARIANTS for (i = 0; i < len; i++) if (!ffs_checkblk(ip, dbtofsb(fs, buflist->bs_children[i]->b_blkno), fs->fs_bsize)) @@ -759,7 +759,7 @@ ffs_reallocblks_ufs2(ap) if (end_lvl == 0 || (idp = &end_ap[end_lvl - 1])->in_off + 1 >= len) { ssize = len; } else { -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (start_ap[start_lvl-1].in_lbn == idp->in_lbn) panic("ffs_reallocblk: start == end"); #endif @@ -799,7 +799,7 @@ ffs_reallocblks_ufs2(ap) bap = ebap; soff = -i; } -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (!ffs_checkblk(ip, dbtofsb(fs, buflist->bs_children[i]->b_blkno), fs->fs_bsize)) panic("ffs_reallocblks: unallocated block 2"); @@ -865,7 +865,7 @@ ffs_reallocblks_ufs2(ap) dbtofsb(fs, buflist->bs_children[i]->b_blkno), fs->fs_bsize, ip->i_number); buflist->bs_children[i]->b_blkno = fsbtodb(fs, blkno); -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (!ffs_checkblk(ip, dbtofsb(fs, buflist->bs_children[i]->b_blkno), fs->fs_bsize)) panic("ffs_reallocblks: unallocated block 3"); @@ -1261,7 +1261,7 @@ ffs_hashalloc(ip, cg, pref, size, alloca int i, icg = cg; mtx_assert(UFS_MTX(ip->i_ump), MA_OWNED); -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (ITOV(ip)->v_mount->mnt_kern_flag & MNTK_SUSPENDED) panic("ffs_hashalloc: allocation on suspended filesystem"); #endif @@ -1850,7 +1850,7 @@ ffs_blkfree(ump, fs, devvp, bno, size, i ffs_snapblkfree(fs, devvp, bno, size, inum)) return; } -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if ((u_int)size > fs->fs_bsize || fragoff(fs, size) != 0 || fragnum(fs, bno) + numfrags(fs, size) > fs->fs_frag) { printf("dev=%s, bno = %jd, bsize = %ld, size = %ld, fs = %s\n", @@ -1945,7 +1945,7 @@ ffs_blkfree(ump, fs, devvp, bno, size, i bdwrite(bp); } -#ifdef DIAGNOSTIC +#ifdef INVARIANTS /* * Verify allocation of a block or fragment. Returns true if block or * fragment is allocated, false if it is free. @@ -1994,7 +1994,7 @@ ffs_checkblk(ip, bno, size) brelse(bp); return (!free); } -#endif /* DIAGNOSTIC */ +#endif /* INVARIANTS */ /* * Free an inode. Index: ufs/ffs/ffs_balloc.c =================================================================== RCS file: /home/ncvs/src/sys/ufs/ffs/ffs_balloc.c,v retrieving revision 1.50 diff -u -p -r1.50 ffs_balloc.c --- ufs/ffs/ffs_balloc.c 8 Feb 2005 17:23:39 -0000 1.50 +++ ufs/ffs/ffs_balloc.c 26 Oct 2007 16:34:18 -0000 @@ -220,7 +220,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t pref = 0; if ((error = ufs_getlbns(vp, lbn, indirs, &num)) != 0) return(error); -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (num < 1) panic ("ffs_balloc_ufs1: ufs_getlbns returned indirect block"); #endif @@ -692,7 +692,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t pref = 0; if ((error = ufs_getlbns(vp, lbn, indirs, &num)) != 0) return(error); -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (num < 1) panic ("ffs_balloc_ufs2: ufs_getlbns returned indirect block"); #endif Index: ufs/ffs/ffs_inode.c =================================================================== RCS file: /home/ncvs/src/sys/ufs/ffs/ffs_inode.c,v retrieving revision 1.108 diff -u -p -r1.108 ffs_inode.c --- ufs/ffs/ffs_inode.c 1 Jun 2007 01:12:45 -0000 1.108 +++ ufs/ffs/ffs_inode.c 26 Oct 2007 16:34:18 -0000 @@ -226,7 +226,7 @@ ffs_truncate(vp, length, flags, cred, td if (vp->v_type == VLNK && (ip->i_size < vp->v_mount->mnt_maxsymlinklen || datablocks == 0)) { -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (length != 0) panic("ffs_truncate: partial truncate of symlink"); #endif @@ -479,7 +479,7 @@ ffs_truncate(vp, length, flags, cred, td } } done: -#ifdef DIAGNOSTIC +#ifdef INVARIANTS for (level = SINGLE; level <= TRIPLE; level++) if (newblks[NDADDR + level] != DIP(ip, i_ib[level])) panic("ffs_truncate1"); @@ -493,7 +493,7 @@ done: vp->v_bufobj.bo_clean.bv_cnt > 0)) panic("ffs_truncate3"); VI_UNLOCK(vp); -#endif /* DIAGNOSTIC */ +#endif /* INVARIANTS */ /* * Put back the real size. */ Index: ufs/ffs/ffs_snapshot.c =================================================================== RCS file: /home/ncvs/src/sys/ufs/ffs/ffs_snapshot.c,v retrieving revision 1.136 diff -u -p -r1.136 ffs_snapshot.c --- ufs/ffs/ffs_snapshot.c 5 Jun 2007 00:00:56 -0000 1.136 +++ ufs/ffs/ffs_snapshot.c 26 Oct 2007 16:34:18 -0000 @@ -2300,7 +2300,7 @@ ffs_copyonwrite(devvp, bp) blkno=((ufs2_daddr_t *)(ibp->b_data))[indiroff]; bqrelse(ibp); } -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (blkno == BLK_SNAP && bp->b_lblkno >= 0) panic("ffs_copyonwrite: bad copy block"); #endif Index: ufs/ffs/ffs_softdep.c =================================================================== RCS file: /home/ncvs/src/sys/ufs/ffs/ffs_softdep.c,v retrieving revision 1.212 diff -u -p -r1.212 ffs_softdep.c --- ufs/ffs/ffs_softdep.c 20 Oct 2007 23:23:23 -0000 1.212 +++ ufs/ffs/ffs_softdep.c 26 Oct 2007 16:34:18 -0000 @@ -44,8 +44,8 @@ __FBSDID("$FreeBSD: src/sys/ufs/ffs/ffs_ /* * For now we want the safety net that the DIAGNOSTIC and DEBUG flags provide. */ -#ifndef DIAGNOSTIC -#define DIAGNOSTIC +#ifndef INVARIANTS +#define INVARIANTS #endif #ifndef DEBUG #define DEBUG @@ -2782,13 +2782,13 @@ handle_workitem_freeblocks(freeblks, fla vput(vp); } -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (freeblks->fb_chkcnt != blocksreleased && ((fs->fs_flags & FS_UNCLEAN) == 0 || (flags & LK_NOWAIT) != 0)) printf("handle_workitem_freeblocks: block count\n"); if (allerror) softdep_error("handle_workitem_freeblks", allerror); -#endif /* DIAGNOSTIC */ +#endif /* INVARIANTS */ ACQUIRE_LOCK(&lk); WORKITEM_FREE(freeblks, D_FREEBLKS); @@ -3915,7 +3915,7 @@ initiate_write_inodeblock_ufs1(inodedep, */ for (deplist = 0, adp = TAILQ_FIRST(&inodedep->id_inoupdt); adp; adp = TAILQ_NEXT(adp, ad_next)) { -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (deplist != 0 && prevlbn >= adp->ad_lbn) panic("softdep_write_inodeblock: lbn order"); prevlbn = adp->ad_lbn; @@ -3937,7 +3937,7 @@ initiate_write_inodeblock_ufs1(inodedep, if ((adp->ad_state & ATTACHED) == 0) panic("softdep_write_inodeblock: Unknown state 0x%x", adp->ad_state); -#endif /* DIAGNOSTIC */ +#endif /* INVARIANTS */ adp->ad_state &= ~ATTACHED; adp->ad_state |= UNDONE; } @@ -3957,18 +3957,18 @@ initiate_write_inodeblock_ufs1(inodedep, continue; dp->di_size = fs->fs_bsize * adp->ad_lbn + adp->ad_oldsize; for (i = adp->ad_lbn + 1; i < NDADDR; i++) { -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (dp->di_db[i] != 0 && (deplist & (1 << i)) == 0) panic("softdep_write_inodeblock: lost dep1"); -#endif /* DIAGNOSTIC */ +#endif /* INVARIANTS */ dp->di_db[i] = 0; } for (i = 0; i < NIADDR; i++) { -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (dp->di_ib[i] != 0 && (deplist & ((1 << NDADDR) << i)) == 0) panic("softdep_write_inodeblock: lost dep2"); -#endif /* DIAGNOSTIC */ +#endif /* INVARIANTS */ dp->di_ib[i] = 0; } return; @@ -4059,7 +4059,7 @@ initiate_write_inodeblock_ufs2(inodedep, */ for (deplist = 0, adp = TAILQ_FIRST(&inodedep->id_extupdt); adp; adp = TAILQ_NEXT(adp, ad_next)) { -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (deplist != 0 && prevlbn >= adp->ad_lbn) panic("softdep_write_inodeblock: lbn order"); prevlbn = adp->ad_lbn; @@ -4073,7 +4073,7 @@ initiate_write_inodeblock_ufs2(inodedep, if ((adp->ad_state & ATTACHED) == 0) panic("softdep_write_inodeblock: Unknown state 0x%x", adp->ad_state); -#endif /* DIAGNOSTIC */ +#endif /* INVARIANTS */ adp->ad_state &= ~ATTACHED; adp->ad_state |= UNDONE; } @@ -4091,10 +4091,10 @@ initiate_write_inodeblock_ufs2(inodedep, continue; dp->di_extsize = fs->fs_bsize * adp->ad_lbn + adp->ad_oldsize; for (i = adp->ad_lbn + 1; i < NXADDR; i++) { -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (dp->di_extb[i] != 0 && (deplist & (1 << i)) == 0) panic("softdep_write_inodeblock: lost dep1"); -#endif /* DIAGNOSTIC */ +#endif /* INVARIANTS */ dp->di_extb[i] = 0; } lastadp = NULL; @@ -4118,7 +4118,7 @@ initiate_write_inodeblock_ufs2(inodedep, */ for (deplist = 0, adp = TAILQ_FIRST(&inodedep->id_inoupdt); adp; adp = TAILQ_NEXT(adp, ad_next)) { -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (deplist != 0 && prevlbn >= adp->ad_lbn) panic("softdep_write_inodeblock: lbn order"); prevlbn = adp->ad_lbn; @@ -4140,7 +4140,7 @@ initiate_write_inodeblock_ufs2(inodedep, if ((adp->ad_state & ATTACHED) == 0) panic("softdep_write_inodeblock: Unknown state 0x%x", adp->ad_state); -#endif /* DIAGNOSTIC */ +#endif /* INVARIANTS */ adp->ad_state &= ~ATTACHED; adp->ad_state |= UNDONE; } @@ -4160,18 +4160,18 @@ initiate_write_inodeblock_ufs2(inodedep, continue; dp->di_size = fs->fs_bsize * adp->ad_lbn + adp->ad_oldsize; for (i = adp->ad_lbn + 1; i < NDADDR; i++) { -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (dp->di_db[i] != 0 && (deplist & (1 << i)) == 0) panic("softdep_write_inodeblock: lost dep2"); -#endif /* DIAGNOSTIC */ +#endif /* INVARIANTS */ dp->di_db[i] = 0; } for (i = 0; i < NIADDR; i++) { -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (dp->di_ib[i] != 0 && (deplist & ((1 << NDADDR) << i)) == 0) panic("softdep_write_inodeblock: lost dep3"); -#endif /* DIAGNOSTIC */ +#endif /* INVARIANTS */ dp->di_ib[i] = 0; } return; Index: ufs/ffs/ffs_vnops.c =================================================================== RCS file: /home/ncvs/src/sys/ufs/ffs/ffs_vnops.c,v retrieving revision 1.173 diff -u -p -r1.173 ffs_vnops.c --- ufs/ffs/ffs_vnops.c 13 Jul 2007 18:51:08 -0000 1.173 +++ ufs/ffs/ffs_vnops.c 26 Oct 2007 16:34:18 -0000 @@ -325,7 +325,7 @@ loop: passes -= 1; goto loop; } -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (!vn_isdisk(vp, NULL)) vprint("ffs_fsync: dirty", vp); #endif @@ -443,7 +443,7 @@ ffs_read(ap) seqcount = ap->a_ioflag >> IO_SEQSHIFT; ip = VTOI(vp); -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (uio->uio_rw != UIO_READ) panic("ffs_read: mode"); @@ -645,7 +645,7 @@ ffs_write(ap) seqcount = ap->a_ioflag >> IO_SEQSHIFT; ip = VTOI(vp); -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (uio->uio_rw != UIO_WRITE) panic("ffs_write: mode"); #endif @@ -869,7 +869,7 @@ ffs_extread(struct vnode *vp, struct uio fs = ip->i_fs; dp = ip->i_din2; -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (uio->uio_rw != UIO_READ || fs->fs_magic != FS_UFS2_MAGIC) panic("ffs_extread: mode"); @@ -1031,7 +1031,7 @@ ffs_extwrite(struct vnode *vp, struct ui KASSERT(!(ip->i_flag & IN_SPACECOUNTED), ("inode %u: inode is dead", ip->i_number)); -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (uio->uio_rw != UIO_WRITE || fs->fs_magic != FS_UFS2_MAGIC) panic("ffs_extwrite: mode"); #endif Index: ufs/ufs/ufs_bmap.c =================================================================== RCS file: /home/ncvs/src/sys/ufs/ufs/ufs_bmap.c,v retrieving revision 1.66 diff -u -p -r1.66 ufs_bmap.c --- ufs/ufs/ufs_bmap.c 1 Jun 2007 01:12:45 -0000 1.66 +++ ufs/ufs/ufs_bmap.c 26 Oct 2007 16:34:18 -0000 @@ -215,7 +215,7 @@ ufs_bmaparray(vp, bn, bnp, nbp, runp, ru ap->in_exists = 1; bp = getblk(vp, metalbn, mp->mnt_stat.f_iosize, 0, 0, 0); if ((bp->b_flags & B_CACHE) == 0) { -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (!daddr) panic("ufs_bmaparray: indirect block not in cache"); #endif Index: ufs/ufs/ufs_lookup.c =================================================================== RCS file: /home/ncvs/src/sys/ufs/ufs/ufs_lookup.c,v retrieving revision 1.83 diff -u -p -r1.83 ufs_lookup.c --- ufs/ufs/ufs_lookup.c 14 Mar 2007 08:50:27 -0000 1.83 +++ ufs/ufs/ufs_lookup.c 26 Oct 2007 16:34:18 -0000 @@ -660,7 +660,7 @@ ufs_makedirentry(ip, cnp, newdirp) struct direct *newdirp; { -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if ((cnp->cn_flags & SAVENAME) == 0) panic("ufs_makedirentry: missing name"); #endif Index: ufs/ufs/ufs_vnops.c =================================================================== RCS file: /home/ncvs/src/sys/ufs/ufs/ufs_vnops.c,v retrieving revision 1.292 diff -u -p -r1.292 ufs_vnops.c --- ufs/ufs/ufs_vnops.c 24 Oct 2007 19:04:04 -0000 1.292 +++ ufs/ufs/ufs_vnops.c 26 Oct 2007 16:34:25 -0000 @@ -855,7 +855,7 @@ ufs_link(ap) struct direct newdir; int error; -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if ((cnp->cn_flags & HASBUF) == 0) panic("ufs_link: no name"); #endif @@ -921,7 +921,7 @@ ufs_whiteout(ap) case CREATE: /* create a new directory whiteout */ -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if ((cnp->cn_flags & SAVENAME) == 0) panic("ufs_whiteout: missing name"); if (dvp->v_mount->mnt_maxsymlinklen <= 0) @@ -937,7 +937,7 @@ ufs_whiteout(ap) case DELETE: /* remove an existing directory whiteout */ -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if (dvp->v_mount->mnt_maxsymlinklen <= 0) panic("ufs_whiteout: old format filesystem"); #endif @@ -998,7 +998,7 @@ ufs_rename(ap) int doingdirectory = 0, oldparent = 0, newparent = 0; int error = 0, ioflag; -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if ((tcnp->cn_flags & HASBUF) == 0 || (fcnp->cn_flags & HASBUF) == 0) panic("ufs_rename: no name"); @@ -1382,7 +1382,7 @@ ufs_mkdir(ap) int error, dmode; long blkoff; -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if ((cnp->cn_flags & HASBUF) == 0) panic("ufs_mkdir: no name"); #endif @@ -2227,7 +2227,7 @@ ufs_makeinode(mode, dvp, vpp, cnp) int error; pdir = VTOI(dvp); -#ifdef DIAGNOSTIC +#ifdef INVARIANTS if ((cnp->cn_flags & HASBUF) == 0) panic("ufs_makeinode: no name"); #endif -- -- David (obrien@FreeBSD.org) Q: Because it reverses the logical flow of conversation. A: Why is top-posting (putting a reply at the top of the message) frowned upon? Let's not play "Jeopardy-style quoting"