Author: mjg Date: Mon Jan 13 02:31:51 2020 New Revision: 356669 URL: https://svnweb.freebsd.org/changeset/base/356669
Log: ufs: add a setter for inode i_flag field This will be used later to add vnodes to the lazy list. Reviewed by: kib (previous version), jeff Tested by: pho (in a larger patch) Differential Revision: https://reviews.freebsd.org/D22994 Modified: head/sys/ufs/ffs/ffs_alloc.c head/sys/ufs/ffs/ffs_balloc.c head/sys/ufs/ffs/ffs_inode.c head/sys/ufs/ffs/ffs_snapshot.c head/sys/ufs/ffs/ffs_softdep.c head/sys/ufs/ffs/ffs_vfsops.c head/sys/ufs/ffs/ffs_vnops.c head/sys/ufs/ufs/inode.h head/sys/ufs/ufs/ufs_acl.c head/sys/ufs/ufs/ufs_inode.c head/sys/ufs/ufs/ufs_lookup.c head/sys/ufs/ufs/ufs_vnops.c Modified: head/sys/ufs/ffs/ffs_alloc.c ============================================================================== --- head/sys/ufs/ffs/ffs_alloc.c Sun Jan 12 23:52:16 2020 (r356668) +++ head/sys/ufs/ffs/ffs_alloc.c Mon Jan 13 02:31:51 2020 (r356669) @@ -202,9 +202,9 @@ retry: 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 @@ retry: 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 @@ retry: 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 @@ ffs_reallocblks_ufs1(ap) 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 @@ ffs_reallocblks_ufs2(ap) 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 @@ retry: 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 @@ dup_alloc: (*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 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) 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 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) 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 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) 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 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) 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; Modified: head/sys/ufs/ffs/ffs_balloc.c ============================================================================== --- head/sys/ufs/ffs/ffs_balloc.c Sun Jan 12 23:52:16 2020 (r356668) +++ head/sys/ufs/ffs/ffs_balloc.c Mon Jan 13 02:31:51 2020 (r356669) @@ -154,7 +154,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t startoffset, i 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 @@ ffs_balloc_ufs1(struct vnode *vp, off_t startoffset, i 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 @@ ffs_balloc_ufs1(struct vnode *vp, off_t startoffset, i } 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 @@ fail: (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 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, i 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 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, i 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 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, i 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 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, i 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 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, i } 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 @@ fail: (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); /* Modified: head/sys/ufs/ffs/ffs_inode.c ============================================================================== --- head/sys/ufs/ffs/ffs_inode.c Sun Jan 12 23:52:16 2020 (r356668) +++ head/sys/ufs/ffs/ffs_inode.c Mon Jan 13 02:31:51 2020 (r356669) @@ -275,7 +275,7 @@ ffs_truncate(vp, length, flags, cred) 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 @@ ffs_truncate(vp, length, flags, cred) 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 @@ ffs_truncate(vp, length, flags, cred) 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 @@ ffs_truncate(vp, length, flags, cred) 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 @@ ffs_truncate(vp, length, flags, cred) 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 @@ done: 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 Modified: head/sys/ufs/ffs/ffs_snapshot.c ============================================================================== --- head/sys/ufs/ffs/ffs_snapshot.c Sun Jan 12 23:52:16 2020 (r356668) +++ head/sys/ufs/ffs/ffs_snapshot.c Mon Jan 13 02:31:51 2020 (r356669) @@ -319,7 +319,7 @@ restart: 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 @@ restart: */ 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 @@ snapacct_ufs1(vp, oldblkp, lastblkp, fs, lblkno, expun 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 @@ snapacct_ufs2(vp, oldblkp, lastblkp, fs, lblkno, expun 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 @@ ffs_snapremove(vp) */ 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 @@ retry: 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 @@ retry: 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 @@ process_deferred_inactive(struct mount *mp) 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) { Modified: head/sys/ufs/ffs/ffs_softdep.c ============================================================================== --- head/sys/ufs/ffs/ffs_softdep.c Sun Jan 12 23:52:16 2020 (r356668) +++ head/sys/ufs/ffs/ffs_softdep.c Mon Jan 13 02:31:51 2020 (r356669) @@ -6656,7 +6656,7 @@ softdep_journal_freeblocks(ip, cred, length, flags) * 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 @@ softdep_journal_freeblocks(ip, cred, length, flags) } 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 @@ softdep_freefile(pvp, ino, mode) 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 @@ handle_complete_freeblocks(freeblks, flags) 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 @@ handle_workitem_remove(dirrem, flags) "%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 @@ handle_workitem_remove(dirrem, flags) 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 @@ handle_workitem_remove(dirrem, flags) } 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); Modified: head/sys/ufs/ffs/ffs_vfsops.c ============================================================================== --- head/sys/ufs/ffs/ffs_vfsops.c Sun Jan 12 23:52:16 2020 (r356668) +++ head/sys/ufs/ffs/ffs_vfsops.c Mon Jan 13 02:31:51 2020 (r356669) @@ -1816,7 +1816,7 @@ ffs_vgetf(mp, ino, flags, vpp, ffs_flags) 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); } } Modified: head/sys/ufs/ffs/ffs_vnops.c ============================================================================== --- head/sys/ufs/ffs/ffs_vnops.c Sun Jan 12 23:52:16 2020 (r356668) +++ head/sys/ufs/ffs/ffs_vnops.c Mon Jan 13 02:31:51 2020 (r356669) @@ -668,7 +668,7 @@ ffs_read(ap) (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 @@ ffs_write(ap) } 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 @@ ffs_extwrite(struct vnode *vp, struct uio *uio, int io 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 @@ ffs_lock_ea(struct vnode *vp) 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); } Modified: head/sys/ufs/ufs/inode.h ============================================================================== --- head/sys/ufs/ufs/inode.h Sun Jan 12 23:52:16 2020 (r356668) +++ head/sys/ufs/ufs/inode.h Mon Jan 13 02:31:51 2020 (r356669) @@ -138,6 +138,13 @@ struct inode { "\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 Modified: head/sys/ufs/ufs/ufs_acl.c ============================================================================== --- head/sys/ufs/ufs/ufs_acl.c Sun Jan 12 23:52:16 2020 (r356668) +++ head/sys/ufs/ufs/ufs_acl.c Mon Jan 13 02:31:51 2020 (r356669) @@ -421,7 +421,7 @@ ufs_setacl_nfs4_internal(struct vnode *vp, struct acl 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 @@ ufs_setacl_posix1e(struct vop_setacl_args *ap) * 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); } Modified: head/sys/ufs/ufs/ufs_inode.c ============================================================================== --- head/sys/ufs/ufs/ufs_inode.c Sun Jan 12 23:52:16 2020 (r356668) +++ head/sys/ufs/ufs/ufs_inode.c Mon Jan 13 02:31:51 2020 (r356669) @@ -183,7 +183,7 @@ ufs_inactive(ap) 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 @@ ufs_reclaim(ap) #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. Modified: head/sys/ufs/ufs/ufs_lookup.c ============================================================================== --- head/sys/ufs/ufs/ufs_lookup.c Sun Jan 12 23:52:16 2020 (r356668) +++ head/sys/ufs/ufs/ufs_lookup.c Mon Jan 13 02:31:51 2020 (r356669) @@ -556,7 +556,7 @@ found: 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 @@ ufs_direnter(dvp, tvp, dirp, cnp, newdirbp, isrename) 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 @@ ufs_direnter(dvp, tvp, dirp, cnp, newdirbp, isrename) } 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 @@ ufs_direnter(dvp, tvp, dirp, cnp, newdirbp, isrename) 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 @@ ufs_dirremove(dvp, ip, flags, isrmdir) */ 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 @@ ufs_dirremove(dvp, ip, flags, isrmdir) 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 @@ out: 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 @@ ufs_dirrewrite(dp, oip, newinum, newtype, isrmdir) * 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 @@ ufs_dirrewrite(dp, oip, newinum, newtype, isrmdir) } 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 @@ ufs_dirrewrite(dp, oip, newinum, newtype, isrmdir) 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 Modified: head/sys/ufs/ufs/ufs_vnops.c ============================================================================== --- head/sys/ufs/ufs/ufs_vnops.c Sun Jan 12 23:52:16 2020 (r356668) +++ head/sys/ufs/ufs/ufs_vnops.c Mon Jan 13 02:31:51 2020 (r356669) @@ -154,13 +154,13 @@ ufs_itimes_locked(struct vnode *vp) 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 @@ ufs_mknod(ap) 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 @@ ufs_setattr(ap) } 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 @@ ufs_setattr(ap) 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 @@ ufs_markatime(ap) 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 @@ ufs_chmod(vp, mode, cred, td) 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 @@ good: 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 @@ ufs_link(ap) 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 @@ ufs_link(ap) 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 @@ relock: 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 @@ relock: 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 @@ relock: 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 @@ bad: 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 @@ ufs_mkdir(ap) } #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 @@ ufs_mkdir(ap) 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 @@ ufs_mkdir(ap) 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 @@ bad: 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 @@ bad: 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 @@ ufs_rmdir(ap) 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 @@ ufs_symlink(ap) 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 @@ ufs_makeinode(mode, dvp, vpp, cnp, callfunc) } #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 @@ bad: 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); _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"