Index: head/sys/ufs/ffs/ffs_alloc.c =================================================================== --- head/sys/ufs/ffs/ffs_alloc.c +++ head/sys/ufs/ffs/ffs_alloc.c @@ -202,9 +202,9 @@ delta = btodb(size); DIP_SET(ip, i_blocks, DIP(ip, i_blocks) + delta); if (flags & IO_EXT) - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); else - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); *bnp = bno; return (0); } @@ -329,9 +329,9 @@ delta = btodb(nsize - osize); DIP_SET(ip, i_blocks, DIP(ip, i_blocks) + delta); if (flags & IO_EXT) - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); else - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); allocbuf(bp, nsize); bp->b_flags |= B_DONE; vfs_bio_bzero_buf(bp, osize, nsize - osize); @@ -413,9 +413,9 @@ delta = btodb(nsize - osize); DIP_SET(ip, i_blocks, DIP(ip, i_blocks) + delta); if (flags & IO_EXT) - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); else - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); allocbuf(bp, nsize); bp->b_flags |= B_DONE; vfs_bio_bzero_buf(bp, osize, nsize - osize); @@ -743,7 +743,7 @@ else bwrite(sbp); } else { - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); if (!doasyncfree) ffs_update(vp, 1); } @@ -1007,7 +1007,7 @@ else bwrite(sbp); } else { - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); if (!doasyncfree) ffs_update(vp, 1); } @@ -1150,7 +1150,7 @@ ip = VTOI(*vpp); if (ip->i_mode) goto dup_alloc; - ip->i_flag |= IN_MODIFIED; + UFS_INODE_SET_FLAG(ip, IN_MODIFIED); vput(*vpp); } return (error); @@ -1185,7 +1185,7 @@ (*vpp)->v_type = VNON; if (fs->fs_magic == FS_UFS2_MAGIC) { (*vpp)->v_op = &ffs_vnodeops2; - ip->i_flag |= IN_UFS2; + UFS_INODE_SET_FLAG(ip, IN_UFS2); } else { (*vpp)->v_op = &ffs_vnodeops1; } @@ -3238,7 +3238,7 @@ ip->i_nlink += cmd.size; DIP_SET(ip, i_nlink, ip->i_nlink); ip->i_effnlink += cmd.size; - ip->i_flag |= IN_CHANGE | IN_MODIFIED; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_MODIFIED); error = ffs_update(vp, 1); if (DOINGSOFTDEP(vp)) softdep_change_linkcnt(ip); @@ -3257,7 +3257,7 @@ break; ip = VTOI(vp); DIP_SET(ip, i_blocks, DIP(ip, i_blocks) + cmd.size); - ip->i_flag |= IN_CHANGE | IN_MODIFIED; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_MODIFIED); error = ffs_update(vp, 1); vput(vp); break; @@ -3274,7 +3274,7 @@ break; ip = VTOI(vp); DIP_SET(ip, i_size, cmd.size); - ip->i_flag |= IN_CHANGE | IN_MODIFIED; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_MODIFIED); error = ffs_update(vp, 1); vput(vp); break; @@ -3494,7 +3494,7 @@ vput(vp); break; } - ip->i_flag |= IN_CHANGE | IN_MODIFIED; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_MODIFIED); error = ffs_update(vp, 1); vput(vp); break; Index: head/sys/ufs/ffs/ffs_balloc.c =================================================================== --- head/sys/ufs/ffs/ffs_balloc.c +++ head/sys/ufs/ffs/ffs_balloc.c @@ -154,7 +154,7 @@ ip->i_size = smalllblktosize(fs, nb + 1); dp->di_size = ip->i_size; dp->di_db[nb] = dbtofsb(fs, bp->b_blkno); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); if (flags & IO_SYNC) bwrite(bp); else if (DOINGASYNC(vp)) @@ -224,7 +224,7 @@ nsize, 0, bp); } dp->di_db[lbn] = dbtofsb(fs, bp->b_blkno); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); *bpp = bp; return (0); } @@ -280,7 +280,7 @@ } allocib = &dp->di_ib[indirs[0].in_off]; *allocib = nb; - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); } /* * Fetch through the indirect blocks, allocating as necessary. @@ -542,7 +542,7 @@ (void) chkdq(ip, -btodb(deallocated), cred, FORCE); #endif dp->di_blocks -= btodb(deallocated); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); } (void) ffs_syncvnode(vp, MNT_WAIT, 0); /* @@ -645,7 +645,7 @@ dp->di_extsize = smalllblktosize(fs, nb + 1); dp->di_extb[nb] = dbtofsb(fs, bp->b_blkno); bp->b_xflags |= BX_ALTDATA; - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); if (flags & IO_SYNC) bwrite(bp); else @@ -719,7 +719,7 @@ nsize, 0, bp); } dp->di_extb[lbn] = dbtofsb(fs, bp->b_blkno); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); *bpp = bp; return (0); } @@ -748,7 +748,7 @@ ip->i_size = smalllblktosize(fs, nb + 1); dp->di_size = ip->i_size; dp->di_db[nb] = dbtofsb(fs, bp->b_blkno); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); if (flags & IO_SYNC) bwrite(bp); else @@ -818,7 +818,7 @@ nsize, 0, bp); } dp->di_db[lbn] = dbtofsb(fs, bp->b_blkno); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); *bpp = bp; return (0); } @@ -875,7 +875,7 @@ } allocib = &dp->di_ib[indirs[0].in_off]; *allocib = nb; - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); } /* * Fetch through the indirect blocks, allocating as necessary. @@ -1144,7 +1144,7 @@ (void) chkdq(ip, -btodb(deallocated), cred, FORCE); #endif dp->di_blocks -= btodb(deallocated); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); } (void) ffs_syncvnode(vp, MNT_WAIT, 0); /* Index: head/sys/ufs/ffs/ffs_inode.c =================================================================== --- head/sys/ufs/ffs/ffs_inode.c +++ head/sys/ufs/ffs/ffs_inode.c @@ -275,7 +275,7 @@ oldblks[i] = ip->i_din2->di_extb[i]; ip->i_din2->di_extb[i] = 0; } - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); if ((error = ffs_update(vp, waitforupdate))) return (error); for (i = 0; i < UFS_NXADDR; i++) { @@ -299,13 +299,13 @@ bzero(SHORTLINK(ip), (u_int)ip->i_size); ip->i_size = 0; DIP_SET(ip, i_size, 0); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); if (needextclean) goto extclean; return (ffs_update(vp, waitforupdate)); } if (ip->i_size == length) { - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); if (needextclean) goto extclean; return (ffs_update(vp, 0)); @@ -339,7 +339,7 @@ bdwrite(bp); else bawrite(bp); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); return (ffs_update(vp, waitforupdate)); } /* @@ -405,7 +405,7 @@ softdep_setup_freeblocks(ip, length, flags); ASSERT_VOP_LOCKED(vp, "ffs_truncate1"); if (journaltrunc == 0) { - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); error = ffs_update(vp, 0); } return (error); @@ -489,7 +489,7 @@ if (i > lastblock) DIP_SET(ip, i_db[i], 0); } - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); allerror = ffs_update(vp, waitforupdate); /* @@ -619,7 +619,7 @@ DIP_SET(ip, i_blocks, DIP(ip, i_blocks) - blocksreleased); else /* sanity */ DIP_SET(ip, i_blocks, 0); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); #ifdef QUOTA (void) chkdq(ip, -blocksreleased, NOCRED, FORCE); #endif Index: head/sys/ufs/ffs/ffs_snapshot.c =================================================================== --- head/sys/ufs/ffs/ffs_snapshot.c +++ head/sys/ufs/ffs/ffs_snapshot.c @@ -319,7 +319,7 @@ goto out; ip->i_size = lblktosize(fs, (off_t)numblks); DIP_SET(ip, i_size, ip->i_size); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); error = readblock(vp, bp, numblks - 1); bawrite(bp); if (error != 0) @@ -401,7 +401,7 @@ */ ip->i_flags |= SF_SNAPSHOT; DIP_SET(ip, i_flags, ip->i_flags); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); /* * Ensure that the snapshot is completely on disk. * Since we have marked it as a snapshot it is safe to @@ -1215,7 +1215,7 @@ lbn = fragstoblks(fs, blkno); if (lbn < UFS_NDADDR) { blkp = &ip->i_din1->di_db[lbn]; - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); } else { error = ffs_balloc_ufs1(vp, lblktosize(fs, (off_t)lbn), fs->fs_bsize, KERNCRED, BA_METAONLY, &ibp); @@ -1501,7 +1501,7 @@ lbn = fragstoblks(fs, blkno); if (lbn < UFS_NDADDR) { blkp = &ip->i_din2->di_db[lbn]; - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); } else { error = ffs_balloc_ufs2(vp, lblktosize(fs, (off_t)lbn), fs->fs_bsize, KERNCRED, BA_METAONLY, &ibp); @@ -1724,7 +1724,7 @@ */ ip->i_flags &= ~SF_SNAPSHOT; DIP_SET(ip, i_flags, ip->i_flags); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); /* * The dirtied indirects must be written out before * softdep_setup_freeblocks() is called. Otherwise indir_trunc() @@ -1830,7 +1830,7 @@ panic("snapblkfree: inconsistent block type"); if (lbn < UFS_NDADDR) { DIP_SET(ip, i_db[lbn], BLK_NOCOPY); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); } else if (I_IS_UFS1(ip)) { ((ufs1_daddr_t *)(ibp->b_data))[indiroff] = BLK_NOCOPY; @@ -1887,7 +1887,7 @@ bdwrite(ibp); } DIP_SET(ip, i_blocks, DIP(ip, i_blocks) + btodb(size)); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); lockmgr(vp->v_vnlock, LK_RELEASE, NULL); return (1); } @@ -2580,7 +2580,7 @@ ip = VTOI(vp); if ((ip->i_flag & IN_LAZYACCESS) != 0) { ip->i_flag &= ~IN_LAZYACCESS; - ip->i_flag |= IN_MODIFIED; + UFS_INODE_SET_FLAG(ip, IN_MODIFIED); } VI_LOCK(vp); if ((vp->v_iflag & VI_OWEINACT) == 0 || vp->v_usecount > 0) { Index: head/sys/ufs/ffs/ffs_softdep.c =================================================================== --- head/sys/ufs/ffs/ffs_softdep.c +++ head/sys/ufs/ffs/ffs_softdep.c @@ -6656,7 +6656,7 @@ * journaling. */ if (length != 0 && lastlbn >= UFS_NDADDR) { - ip->i_flag |= IN_TRUNCATED; + UFS_INODE_SET_FLAG(ip, IN_TRUNCATED); newjtrunc(freeblks, length, 0); } ip->i_size = length; @@ -6780,7 +6780,7 @@ } ip->i_size = length; DIP_SET(ip, i_size, length); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); allocbuf(bp, frags); ffs_update(vp, 0); bawrite(bp); @@ -7647,7 +7647,7 @@ WORKLIST_INSERT(&inodedep->id_inowait, &freefile->fx_list); FREE_LOCK(ump); if (ip->i_number == ino) - ip->i_flag |= IN_MODIFIED; + UFS_INODE_SET_FLAG(ip, IN_MODIFIED); } /* @@ -8056,7 +8056,7 @@ vgone(vp); } else if (DIP(ip, i_modrev) == freeblks->fb_modrev) { DIP_SET(ip, i_blocks, DIP(ip, i_blocks) - spare); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); /* * We must wait so this happens before the * journal is reclaimed. @@ -9873,7 +9873,7 @@ "%ju negative i_nlink %d", (intmax_t)ip->i_number, ip->i_nlink)); DIP_SET(ip, i_nlink, ip->i_nlink); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); if (ip->i_nlink < ip->i_effnlink) panic("handle_workitem_remove: bad file delta"); if (ip->i_nlink == 0) @@ -9896,7 +9896,7 @@ KASSERT(ip->i_nlink >= 0, ("handle_workitem_remove: directory ino " "%ju negative i_nlink %d", (intmax_t)ip->i_number, ip->i_nlink)); DIP_SET(ip, i_nlink, ip->i_nlink); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); if (ip->i_nlink < ip->i_effnlink) panic("handle_workitem_remove: bad dir delta"); if (ip->i_nlink == 0) @@ -9938,7 +9938,7 @@ } WORKLIST_INSERT(&inodedep->id_inowait, &dirrem->dm_list); FREE_LOCK(ump); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); out: ffs_update(vp, 0); vput(vp); Index: head/sys/ufs/ffs/ffs_vfsops.c =================================================================== --- head/sys/ufs/ffs/ffs_vfsops.c +++ head/sys/ufs/ffs/ffs_vfsops.c @@ -1816,7 +1816,7 @@ while (ip->i_gen == 0) ip->i_gen = arc4random(); if ((vp->v_mount->mnt_flag & MNT_RDONLY) == 0) { - ip->i_flag |= IN_MODIFIED; + UFS_INODE_SET_FLAG(ip, IN_MODIFIED); DIP_SET(ip, i_gen, ip->i_gen); } } Index: head/sys/ufs/ffs/ffs_vnops.c =================================================================== --- head/sys/ufs/ffs/ffs_vnops.c +++ head/sys/ufs/ffs/ffs_vnops.c @@ -668,7 +668,7 @@ (vp->v_mount->mnt_flag & (MNT_NOATIME | MNT_RDONLY)) == 0 && (ip->i_flag & IN_ACCESS) == 0) { VI_LOCK(vp); - ip->i_flag |= IN_ACCESS; + UFS_INODE_SET_FLAG(ip, IN_ACCESS); VI_UNLOCK(vp); } return (error); @@ -853,7 +853,7 @@ } if (error || xfersize == 0) break; - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); } /* * If we successfully wrote any data, and we are not the superuser @@ -1096,7 +1096,7 @@ bdwrite(bp); if (error || xfersize == 0) break; - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); } /* * If we successfully wrote any data, and we are not the superuser @@ -1203,11 +1203,11 @@ ip = VTOI(vp); VI_LOCK(vp); while (ip->i_flag & IN_EA_LOCKED) { - ip->i_flag |= IN_EA_LOCKWAIT; + UFS_INODE_SET_FLAG(ip, IN_EA_LOCKWAIT); msleep(&ip->i_ea_refs, &vp->v_interlock, PINOD + 2, "ufs_ea", 0); } - ip->i_flag |= IN_EA_LOCKED; + UFS_INODE_SET_FLAG(ip, IN_EA_LOCKED); VI_UNLOCK(vp); } Index: head/sys/ufs/ufs/inode.h =================================================================== --- head/sys/ufs/ufs/inode.h +++ head/sys/ufs/ufs/inode.h @@ -138,6 +138,13 @@ "\14b12\13is_ufs2\12truncated\11ea_lockwait\10ea_locked" \ "\7lazyaccess\6lazymod\5needsync\4modified\3update\2change\1access" +#define UFS_INODE_SET_FLAG(ip, flags) do { \ + struct inode *_ip = (ip); \ + int _flags = (flags); \ + \ + _ip->i_flag |= _flags; \ +} while (0) + #define i_dirhash i_un.dirhash #define i_snapblklist i_un.snapblklist #define i_din1 dinode_u.din1 Index: head/sys/ufs/ufs/ufs_acl.c =================================================================== --- head/sys/ufs/ufs/ufs_acl.c +++ head/sys/ufs/ufs/ufs_acl.c @@ -421,7 +421,7 @@ ip->i_mode &= ACL_PRESERVE_MASK; ip->i_mode |= mode; DIP_SET(ip, i_mode, ip->i_mode); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); VN_KNOTE_UNLOCKED(vp, NOTE_ATTRIB); @@ -594,7 +594,7 @@ * inode and mark it as changed. */ ufs_sync_inode_from_acl(ap->a_aclp, ip); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); error = UFS_UPDATE(ap->a_vp, 0); } Index: head/sys/ufs/ufs/ufs_inode.c =================================================================== --- head/sys/ufs/ufs/ufs_inode.c +++ head/sys/ufs/ufs/ufs_inode.c @@ -183,7 +183,7 @@ mode = ip->i_mode; ip->i_mode = 0; DIP_SET(ip, i_mode, 0); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); if (DOINGSOFTDEP(vp)) softdep_change_linkcnt(ip); UFS_VFREE(vp, ip->i_number, mode); @@ -241,7 +241,7 @@ #endif if (ip->i_flag & IN_LAZYMOD) - ip->i_flag |= IN_MODIFIED; + UFS_INODE_SET_FLAG(ip, IN_MODIFIED); UFS_UPDATE(vp, 0); /* * Remove the inode from its hash chain. Index: head/sys/ufs/ufs/ufs_lookup.c =================================================================== --- head/sys/ufs/ufs/ufs_lookup.c +++ head/sys/ufs/ufs/ufs_lookup.c @@ -556,7 +556,7 @@ ufs_dirbad(dp, i_offset, "i_size too small"); dp->i_size = i_offset + DIRSIZ(OFSFMT(vdp), ep); DIP_SET(dp, i_size, dp->i_size); - dp->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(dp, IN_CHANGE | IN_UPDATE); } brelse(bp); @@ -918,7 +918,7 @@ dp->i_size = dp->i_offset + DIRBLKSIZ; DIP_SET(dp, i_size, dp->i_size); dp->i_endoff = dp->i_size; - dp->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(dp, IN_CHANGE | IN_UPDATE); dirp->d_reclen = DIRBLKSIZ; blkoff = dp->i_offset & (VFSTOUFS(dvp->v_mount)->um_mountp->mnt_stat.f_iosize - 1); @@ -946,7 +946,7 @@ } if (softdep_setup_directory_add(bp, dp, dp->i_offset, dirp->d_ino, newdirbp, 1)) - dp->i_flag |= IN_NEEDSYNC; + UFS_INODE_SET_FLAG(dp, IN_NEEDSYNC); if (newdirbp) bdwrite(newdirbp); bdwrite(bp); @@ -1118,7 +1118,7 @@ error = bwrite(bp); } } - dp->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(dp, IN_CHANGE | IN_UPDATE); /* * If all went well, and the directory can be shortened, proceed * with the truncation. Note that we have to unlock the inode for @@ -1179,13 +1179,13 @@ */ if (ip) { ip->i_effnlink--; - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); if (DOINGSOFTDEP(dvp)) { softdep_setup_unlink(dp, ip); } else { ip->i_nlink--; DIP_SET(ip, i_nlink, ip->i_nlink); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); } } if (flags & DOWHITEOUT) @@ -1195,13 +1195,13 @@ if ((error = UFS_BLKATOFF(dvp, offset, (char **)&ep, &bp)) != 0) { if (ip) { ip->i_effnlink++; - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); if (DOINGSOFTDEP(dvp)) { softdep_change_linkcnt(ip); } else { ip->i_nlink++; DIP_SET(ip, i_nlink, ip->i_nlink); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); } } return (error); @@ -1269,7 +1269,7 @@ else error = bwrite(bp); } - dp->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(dp, IN_CHANGE | IN_UPDATE); /* * If the last named reference to a snapshot goes away, * drop its snapshot reference so that it will be reclaimed @@ -1303,13 +1303,13 @@ * necessary. */ oip->i_effnlink--; - oip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(oip, IN_CHANGE); if (DOINGSOFTDEP(vdp)) { softdep_setup_unlink(dp, oip); } else { oip->i_nlink--; DIP_SET(oip, i_nlink, oip->i_nlink); - oip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(oip, IN_CHANGE); } error = UFS_BLKATOFF(vdp, (off_t)dp->i_offset, (char **)&ep, &bp); @@ -1320,13 +1320,13 @@ } if (error) { oip->i_effnlink++; - oip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(oip, IN_CHANGE); if (DOINGSOFTDEP(vdp)) { softdep_change_linkcnt(oip); } else { oip->i_nlink++; DIP_SET(oip, i_nlink, oip->i_nlink); - oip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(oip, IN_CHANGE); } return (error); } @@ -1344,7 +1344,7 @@ error = bwrite(bp); } } - dp->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(dp, IN_CHANGE | IN_UPDATE); /* * If the last named reference to a snapshot goes away, * drop its snapshot reference so that it will be reclaimed Index: head/sys/ufs/ufs/ufs_vnops.c =================================================================== --- head/sys/ufs/ufs/ufs_vnops.c +++ head/sys/ufs/ufs/ufs_vnops.c @@ -154,13 +154,13 @@ return; if ((vp->v_type == VBLK || vp->v_type == VCHR) && !DOINGSOFTDEP(vp)) - ip->i_flag |= IN_LAZYMOD; + UFS_INODE_SET_FLAG(ip, IN_LAZYMOD); else if (((vp->v_mount->mnt_kern_flag & (MNTK_SUSPENDED | MNTK_SUSPEND)) == 0) || (ip->i_flag & (IN_CHANGE | IN_UPDATE))) - ip->i_flag |= IN_MODIFIED; + UFS_INODE_SET_FLAG(ip, IN_MODIFIED); else if (ip->i_flag & IN_ACCESS) - ip->i_flag |= IN_LAZYACCESS; + UFS_INODE_SET_FLAG(ip, IN_LAZYACCESS); vfs_timestamp(&ts); if (ip->i_flag & IN_ACCESS) { DIP_SET(ip, i_atime, ts.tv_sec); @@ -237,7 +237,7 @@ if (error) return (error); ip = VTOI(*vpp); - ip->i_flag |= IN_ACCESS | IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_ACCESS | IN_CHANGE | IN_UPDATE); if (vap->va_rdev != VNOVAL) { /* * Want to be able to use this to make badblock @@ -550,7 +550,7 @@ } ip->i_flags = vap->va_flags; DIP_SET(ip, i_flags, vap->va_flags); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); error = UFS_UPDATE(vp, 0); if (ip->i_flags & (IMMUTABLE | APPEND)) return (error); @@ -619,7 +619,7 @@ error = vn_utimes_perm(vp, vap, cred, td); if (error != 0) return (error); - ip->i_flag |= IN_CHANGE | IN_MODIFIED; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_MODIFIED); if (vap->va_atime.tv_sec != VNOVAL) { ip->i_flag &= ~IN_ACCESS; DIP_SET(ip, i_atime, vap->va_atime.tv_sec); @@ -690,7 +690,7 @@ struct inode *ip = VTOI(vp); VI_LOCK(vp); - ip->i_flag |= IN_ACCESS; + UFS_INODE_SET_FLAG(ip, IN_ACCESS); VI_UNLOCK(vp); /* * XXXKIB No UFS_UPDATE(ap->a_vp, 0) there. @@ -746,7 +746,7 @@ ip->i_mode &= ~ALLPERMS; ip->i_mode |= (mode & ALLPERMS); DIP_SET(ip, i_mode, ip->i_mode); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); #ifdef UFS_ACL if ((vp->v_mount->mnt_flag & MNT_NFS4ACLS) != 0) error = ufs_update_nfs4_acl_after_mode_change(vp, mode, ip->i_uid, cred, td); @@ -865,7 +865,7 @@ if (getinoquota(ip)) panic("ufs_chown: lost quota"); #endif /* QUOTA */ - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); if ((ip->i_mode & (ISUID | ISGID)) && (ouid != uid || ogid != gid)) { if (priv_check_cred(cred, PRIV_VFS_RETAINSUGID)) { ip->i_mode &= ~(ISUID | ISGID); @@ -979,7 +979,7 @@ ip->i_effnlink++; ip->i_nlink++; DIP_SET(ip, i_nlink, ip->i_nlink); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); if (DOINGSOFTDEP(vp)) softdep_setup_link(VTOI(tdvp), ip); error = UFS_UPDATE(vp, !DOINGSOFTDEP(vp) && !DOINGASYNC(vp)); @@ -992,7 +992,7 @@ ip->i_effnlink--; ip->i_nlink--; DIP_SET(ip, i_nlink, ip->i_nlink); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); if (DOINGSOFTDEP(vp)) softdep_revert_link(VTOI(tdvp), ip); } @@ -1323,7 +1323,7 @@ fip->i_effnlink++; fip->i_nlink++; DIP_SET(fip, i_nlink, fip->i_nlink); - fip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(fip, IN_CHANGE); if (DOINGSOFTDEP(fvp)) softdep_setup_link(tdp, fip); error = UFS_UPDATE(fvp, !DOINGSOFTDEP(fvp) && !DOINGASYNC(fvp)); @@ -1441,11 +1441,11 @@ if (!newparent) { tdp->i_nlink--; DIP_SET(tdp, i_nlink, tdp->i_nlink); - tdp->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(tdp, IN_CHANGE); } tip->i_nlink--; DIP_SET(tip, i_nlink, tip->i_nlink); - tip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(tip, IN_CHANGE); } } @@ -1476,7 +1476,7 @@ tdp->i_effnlink++; tdp->i_nlink++; DIP_SET(tdp, i_nlink, tdp->i_nlink); - tdp->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(tdp, IN_CHANGE); if (DOINGSOFTDEP(tdvp)) softdep_setup_dotdot_link(tdp, fip); error = UFS_UPDATE(tdvp, !DOINGSOFTDEP(tdvp) && @@ -1546,7 +1546,7 @@ fip->i_effnlink--; fip->i_nlink--; DIP_SET(fip, i_nlink, fip->i_nlink); - fip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(fip, IN_CHANGE); if (DOINGSOFTDEP(fvp)) softdep_revert_link(tdp, fip); goto unlockout; @@ -1861,7 +1861,7 @@ } #endif #endif /* !SUIDDIR */ - ip->i_flag |= IN_ACCESS | IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_ACCESS | IN_CHANGE | IN_UPDATE); ip->i_mode = dmode; DIP_SET(ip, i_mode, dmode); tvp->v_type = VDIR; /* Rest init'd in getnewvnode(). */ @@ -1882,7 +1882,7 @@ dp->i_effnlink++; dp->i_nlink++; DIP_SET(dp, i_nlink, dp->i_nlink); - dp->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(dp, IN_CHANGE); if (DOINGSOFTDEP(dvp)) softdep_setup_mkdir(dp, ip); error = UFS_UPDATE(dvp, !DOINGSOFTDEP(dvp) && !DOINGASYNC(dvp)); @@ -1926,7 +1926,7 @@ goto bad; ip->i_size = DIRBLKSIZ; DIP_SET(ip, i_size, DIRBLKSIZ); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); bcopy((caddr_t)&dirtemplate, (caddr_t)bp->b_data, sizeof dirtemplate); if (DOINGSOFTDEP(tvp)) { /* @@ -1972,7 +1972,7 @@ dp->i_effnlink--; dp->i_nlink--; DIP_SET(dp, i_nlink, dp->i_nlink); - dp->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(dp, IN_CHANGE); /* * No need to do an explicit VOP_TRUNCATE here, vrele will * do this for us because we set the link count to 0. @@ -1980,7 +1980,7 @@ ip->i_effnlink = 0; ip->i_nlink = 0; DIP_SET(ip, i_nlink, 0); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); if (DOINGSOFTDEP(tvp)) softdep_revert_mkdir(dp, ip); @@ -2069,11 +2069,11 @@ if (!DOINGSOFTDEP(vp)) { dp->i_nlink--; DIP_SET(dp, i_nlink, dp->i_nlink); - dp->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(dp, IN_CHANGE); error = UFS_UPDATE(dvp, 0); ip->i_nlink--; DIP_SET(ip, i_nlink, ip->i_nlink); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); } cache_purge(vp); #ifdef UFS_DIRHASH @@ -2113,7 +2113,7 @@ bcopy(ap->a_target, SHORTLINK(ip), len); ip->i_size = len; DIP_SET(ip, i_size, len); - ip->i_flag |= IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE | IN_UPDATE); error = UFS_UPDATE(vp, 0); } else error = vn_rdwr(UIO_WRITE, vp, __DECONST(void *, ap->a_target), @@ -2629,7 +2629,7 @@ } #endif #endif /* !SUIDDIR */ - ip->i_flag |= IN_ACCESS | IN_CHANGE | IN_UPDATE; + UFS_INODE_SET_FLAG(ip, IN_ACCESS | IN_CHANGE | IN_UPDATE); ip->i_mode = mode; DIP_SET(ip, i_mode, mode); tvp->v_type = IFTOVT(mode); /* Rest init'd in getnewvnode(). */ @@ -2691,7 +2691,7 @@ ip->i_effnlink = 0; ip->i_nlink = 0; DIP_SET(ip, i_nlink, 0); - ip->i_flag |= IN_CHANGE; + UFS_INODE_SET_FLAG(ip, IN_CHANGE); if (DOINGSOFTDEP(tvp)) softdep_revert_create(VTOI(dvp), ip); vput(tvp);