Module Name: src
Committed By: maya
Date: Sat Jun 10 05:29:36 UTC 2017
Modified Files:
src/sys/ufs/lfs: lfs_accessors.h lfs_alloc.c lfs_balloc.c lfs_bio.c
lfs_inode.c lfs_inode.h lfs_itimes.c lfs_pages.c lfs_rename.c
lfs_segment.c lfs_subr.c lfs_vnops.c ulfs_inode.c ulfs_inode.h
ulfs_lookup.c ulfs_quota2.c ulfs_readwrite.c ulfs_vnops.c
Log Message:
Rename i_flag to i_state.
The similarity to i_flags has previously caused errors.
To generate a diff of this commit:
cvs rdiff -u -r1.47 -r1.48 src/sys/ufs/lfs/lfs_accessors.h
cvs rdiff -u -r1.135 -r1.136 src/sys/ufs/lfs/lfs_alloc.c
cvs rdiff -u -r1.93 -r1.94 src/sys/ufs/lfs/lfs_balloc.c \
src/sys/ufs/lfs/lfs_subr.c
cvs rdiff -u -r1.140 -r1.141 src/sys/ufs/lfs/lfs_bio.c
cvs rdiff -u -r1.156 -r1.157 src/sys/ufs/lfs/lfs_inode.c
cvs rdiff -u -r1.22 -r1.23 src/sys/ufs/lfs/lfs_inode.h
cvs rdiff -u -r1.19 -r1.20 src/sys/ufs/lfs/lfs_itimes.c \
src/sys/ufs/lfs/ulfs_inode.c
cvs rdiff -u -r1.13 -r1.14 src/sys/ufs/lfs/lfs_pages.c
cvs rdiff -u -r1.21 -r1.22 src/sys/ufs/lfs/lfs_rename.c
cvs rdiff -u -r1.269 -r1.270 src/sys/ufs/lfs/lfs_segment.c
cvs rdiff -u -r1.316 -r1.317 src/sys/ufs/lfs/lfs_vnops.c
cvs rdiff -u -r1.23 -r1.24 src/sys/ufs/lfs/ulfs_inode.h \
src/sys/ufs/lfs/ulfs_readwrite.c
cvs rdiff -u -r1.40 -r1.41 src/sys/ufs/lfs/ulfs_lookup.c
cvs rdiff -u -r1.30 -r1.31 src/sys/ufs/lfs/ulfs_quota2.c
cvs rdiff -u -r1.48 -r1.49 src/sys/ufs/lfs/ulfs_vnops.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/ufs/lfs/lfs_accessors.h
diff -u src/sys/ufs/lfs/lfs_accessors.h:1.47 src/sys/ufs/lfs/lfs_accessors.h:1.48
--- src/sys/ufs/lfs/lfs_accessors.h:1.47 Thu Jan 12 18:40:02 2017
+++ src/sys/ufs/lfs/lfs_accessors.h Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: lfs_accessors.h,v 1.47 2017/01/12 18:40:02 christos Exp $ */
+/* $NetBSD: lfs_accessors.h,v 1.48 2017/06/10 05:29:36 maya Exp $ */
/* from NetBSD: lfs.h,v 1.165 2015/07/24 06:59:32 dholland Exp */
/* from NetBSD: dinode.h,v 1.25 2016/01/22 23:06:10 dholland Exp */
@@ -619,31 +619,31 @@ lfs_iblock_set(STRUCT_LFS *fs, void *blo
* "struct inode" associated definitions
*/
-#define LFS_SET_UINO(ip, flags) do { \
- if (((flags) & IN_ACCESSED) && !((ip)->i_flag & IN_ACCESSED)) \
+#define LFS_SET_UINO(ip, states) do { \
+ if (((states) & IN_ACCESSED) && !((ip)->i_state & IN_ACCESSED)) \
lfs_sb_adduinodes((ip)->i_lfs, 1); \
- if (((flags) & IN_CLEANING) && !((ip)->i_flag & IN_CLEANING)) \
+ if (((states) & IN_CLEANING) && !((ip)->i_state & IN_CLEANING)) \
lfs_sb_adduinodes((ip)->i_lfs, 1); \
- if (((flags) & IN_MODIFIED) && !((ip)->i_flag & IN_MODIFIED)) \
+ if (((states) & IN_MODIFIED) && !((ip)->i_state & IN_MODIFIED)) \
lfs_sb_adduinodes((ip)->i_lfs, 1); \
- (ip)->i_flag |= (flags); \
+ (ip)->i_state |= (states); \
} while (0)
-#define LFS_CLR_UINO(ip, flags) do { \
- if (((flags) & IN_ACCESSED) && ((ip)->i_flag & IN_ACCESSED)) \
+#define LFS_CLR_UINO(ip, states) do { \
+ if (((states) & IN_ACCESSED) && ((ip)->i_state & IN_ACCESSED)) \
lfs_sb_subuinodes((ip)->i_lfs, 1); \
- if (((flags) & IN_CLEANING) && ((ip)->i_flag & IN_CLEANING)) \
+ if (((states) & IN_CLEANING) && ((ip)->i_state & IN_CLEANING)) \
lfs_sb_subuinodes((ip)->i_lfs, 1); \
- if (((flags) & IN_MODIFIED) && ((ip)->i_flag & IN_MODIFIED)) \
+ if (((states) & IN_MODIFIED) && ((ip)->i_state & IN_MODIFIED)) \
lfs_sb_subuinodes((ip)->i_lfs, 1); \
- (ip)->i_flag &= ~(flags); \
+ (ip)->i_state &= ~(states); \
if (lfs_sb_getuinodes((ip)->i_lfs) < 0) { \
panic("lfs_uinodes < 0"); \
} \
} while (0)
#define LFS_ITIMES(ip, acc, mod, cre) \
- while ((ip)->i_flag & (IN_ACCESS | IN_CHANGE | IN_UPDATE | IN_MODIFY)) \
+ while ((ip)->i_state & (IN_ACCESS | IN_CHANGE | IN_UPDATE | IN_MODIFY)) \
lfs_itimes(ip, acc, mod, cre)
/*
@@ -672,7 +672,7 @@ lfs_iblock_set(STRUCT_LFS *fs, void *blo
#define LFS_SEGENTRY(SP, F, IN, BP) do { \
int _e; \
SHARE_IFLOCK(F); \
- VTOI((F)->lfs_ivnode)->i_flag |= IN_ACCESS; \
+ VTOI((F)->lfs_ivnode)->i_state |= IN_ACCESS; \
if ((_e = bread((F)->lfs_ivnode, \
((IN) / lfs_sb_getsepb(F)) + lfs_sb_getcleansz(F), \
lfs_sb_getbsize(F), 0, &(BP))) != 0) \
@@ -825,7 +825,7 @@ lfs_ii_setblock(STRUCT_LFS *fs, IINFO *i
#define LFS_IENTRY(IP, F, IN, BP) do { \
int _e; \
SHARE_IFLOCK(F); \
- VTOI((F)->lfs_ivnode)->i_flag |= IN_ACCESS; \
+ VTOI((F)->lfs_ivnode)->i_state |= IN_ACCESS; \
if ((_e = bread((F)->lfs_ivnode, \
(IN) / lfs_sb_getifpb(F) + lfs_sb_getcleansz(F) + lfs_sb_getsegtabsz(F), \
lfs_sb_getbsize(F), 0, &(BP))) != 0) \
@@ -941,7 +941,7 @@ lfs_ci_shiftdirtytoclean(STRUCT_LFS *fs,
#define LFS_CLEANERINFO(CP, F, BP) do { \
int _e; \
SHARE_IFLOCK(F); \
- VTOI((F)->lfs_ivnode)->i_flag |= IN_ACCESS; \
+ VTOI((F)->lfs_ivnode)->i_state |= IN_ACCESS; \
_e = bread((F)->lfs_ivnode, \
(daddr_t)0, lfs_sb_getbsize(F), 0, &(BP)); \
if (_e) \
Index: src/sys/ufs/lfs/lfs_alloc.c
diff -u src/sys/ufs/lfs/lfs_alloc.c:1.135 src/sys/ufs/lfs/lfs_alloc.c:1.136
--- src/sys/ufs/lfs/lfs_alloc.c:1.135 Mon Mar 13 20:15:50 2017
+++ src/sys/ufs/lfs/lfs_alloc.c Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: lfs_alloc.c,v 1.135 2017/03/13 20:15:50 maya Exp $ */
+/* $NetBSD: lfs_alloc.c,v 1.136 2017/06/10 05:29:36 maya Exp $ */
/*-
* Copyright (c) 1999, 2000, 2001, 2002, 2003, 2007 The NetBSD Foundation, Inc.
@@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_alloc.c,v 1.135 2017/03/13 20:15:50 maya Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_alloc.c,v 1.136 2017/06/10 05:29:36 maya Exp $");
#if defined(_KERNEL_OPT)
#include "opt_quota.h"
@@ -506,7 +506,7 @@ lfs_vfree(struct vnode *vp, ino_t ino, i
/*
* If the inode was in a dirop, it isn't now.
*
- * XXX: why are (v_uflag & VU_DIROP) and (ip->i_flag & IN_ADIROP)
+ * XXX: why are (v_uflag & VU_DIROP) and (ip->i_state & IN_ADIROP)
* not updated together in one function? (and why do both exist,
* anyway?)
*/
@@ -551,7 +551,7 @@ lfs_vfree(struct vnode *vp, ino_t ino, i
mutex_exit(&lfs_lock);
/* Turn off all inode modification flags */
- ip->i_flag &= ~IN_ALLMOD;
+ ip->i_state &= ~IN_ALLMOD;
/* Mark it deleted */
ip->i_lfs_iflags |= LFSI_DELETED;
Index: src/sys/ufs/lfs/lfs_balloc.c
diff -u src/sys/ufs/lfs/lfs_balloc.c:1.93 src/sys/ufs/lfs/lfs_balloc.c:1.94
--- src/sys/ufs/lfs/lfs_balloc.c:1.93 Thu Jun 8 01:23:01 2017
+++ src/sys/ufs/lfs/lfs_balloc.c Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: lfs_balloc.c,v 1.93 2017/06/08 01:23:01 chs Exp $ */
+/* $NetBSD: lfs_balloc.c,v 1.94 2017/06/10 05:29:36 maya Exp $ */
/*-
* Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_balloc.c,v 1.93 2017/06/08 01:23:01 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_balloc.c,v 1.94 2017/06/10 05:29:36 maya Exp $");
#if defined(_KERNEL_OPT)
#include "opt_quota.h"
@@ -194,7 +194,7 @@ lfs_balloc(struct vnode *vp, off_t start
ip->i_size = (lastblock + 1) * lfs_sb_getbsize(fs);
lfs_dino_setsize(fs, ip->i_din, ip->i_size);
uvm_vnp_setsize(vp, ip->i_size);
- ip->i_flag |= IN_CHANGE | IN_UPDATE;
+ ip->i_state |= IN_CHANGE | IN_UPDATE;
/* if we got a buffer for this, write it out now */
if (bpp)
(void) VOP_BWRITE(bp->b_vp, bp);
@@ -579,7 +579,7 @@ lfs_fragextend(struct vnode *vp, int osi
/* increase the file's effective block count */
ip->i_lfs_effnblks += frags;
/* mark the inode dirty */
- ip->i_flag |= IN_CHANGE | IN_UPDATE;
+ ip->i_state |= IN_CHANGE | IN_UPDATE;
if (bpp) {
obufsize = (*bpp)->b_bufsize;
Index: src/sys/ufs/lfs/lfs_subr.c
diff -u src/sys/ufs/lfs/lfs_subr.c:1.93 src/sys/ufs/lfs/lfs_subr.c:1.94
--- src/sys/ufs/lfs/lfs_subr.c:1.93 Thu Jun 8 01:23:01 2017
+++ src/sys/ufs/lfs/lfs_subr.c Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: lfs_subr.c,v 1.93 2017/06/08 01:23:01 chs Exp $ */
+/* $NetBSD: lfs_subr.c,v 1.94 2017/06/10 05:29:36 maya Exp $ */
/*-
* Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_subr.c,v 1.93 2017/06/08 01:23:01 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_subr.c,v 1.94 2017/06/10 05:29:36 maya Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -355,7 +355,7 @@ lfs_unmark_dirop(struct lfs *fs)
for (ip = TAILQ_FIRST(&fs->lfs_dchainhd); ip != NULL; ip = nip) {
nip = TAILQ_NEXT(ip, i_lfs_dchain);
vp = ITOV(ip);
- if ((ip->i_flag & (IN_ADIROP | IN_CDIROP)) == IN_CDIROP) {
+ if ((ip->i_state & (IN_ADIROP | IN_CDIROP)) == IN_CDIROP) {
--lfs_dirvcount;
--fs->lfs_dirvcount;
vp->v_uflag &= ~VU_DIROP;
@@ -366,7 +366,7 @@ lfs_unmark_dirop(struct lfs *fs)
vrele(vp);
mutex_enter(&lfs_lock);
fs->lfs_unlockvp = NULL;
- ip->i_flag &= ~IN_CDIROP;
+ ip->i_state &= ~IN_CDIROP;
}
}
Index: src/sys/ufs/lfs/lfs_bio.c
diff -u src/sys/ufs/lfs/lfs_bio.c:1.140 src/sys/ufs/lfs/lfs_bio.c:1.141
--- src/sys/ufs/lfs/lfs_bio.c:1.140 Thu Jun 8 01:23:01 2017
+++ src/sys/ufs/lfs/lfs_bio.c Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: lfs_bio.c,v 1.140 2017/06/08 01:23:01 chs Exp $ */
+/* $NetBSD: lfs_bio.c,v 1.141 2017/06/10 05:29:36 maya Exp $ */
/*-
* Copyright (c) 1999, 2000, 2001, 2002, 2003, 2008 The NetBSD Foundation, Inc.
@@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_bio.c,v 1.140 2017/06/08 01:23:01 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_bio.c,v 1.141 2017/06/10 05:29:36 maya Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -159,7 +159,7 @@ lfs_reservebuf(struct lfs *fs, struct vn
KASSERT(locked_queue_rcount >= 0);
KASSERT(locked_queue_rbytes >= 0);
- cantwait = (VTOI(vp)->i_flag & IN_ADIROP) || fs->lfs_unlockvp == vp;
+ cantwait = (VTOI(vp)->i_state & IN_ADIROP) || fs->lfs_unlockvp == vp;
mutex_enter(&lfs_lock);
while (!cantwait && n > 0 && !lfs_fits_buf(fs, n, bytes)) {
int error;
@@ -214,7 +214,7 @@ lfs_reserveavail(struct lfs *fs, struct
ASSERT_MAYBE_SEGLOCK(fs);
slept = 0;
mutex_enter(&lfs_lock);
- cantwait = (VTOI(vp)->i_flag & IN_ADIROP) || fs->lfs_unlockvp == vp;
+ cantwait = (VTOI(vp)->i_state & IN_ADIROP) || fs->lfs_unlockvp == vp;
while (!cantwait && fsb > 0 &&
!lfs_fits(fs, fsb + fs->lfs_ravail + fs->lfs_favail)) {
mutex_exit(&lfs_lock);
@@ -602,7 +602,7 @@ lfs_check(struct vnode *vp, daddr_t blkn
if (ip->i_number == LFS_IFILE_INUM)
return 0;
/* If we're being called from inside a dirop, don't sleep */
- if (ip->i_flag & IN_ADIROP)
+ if (ip->i_state & IN_ADIROP)
return 0;
fs = ip->i_lfs;
Index: src/sys/ufs/lfs/lfs_inode.c
diff -u src/sys/ufs/lfs/lfs_inode.c:1.156 src/sys/ufs/lfs/lfs_inode.c:1.157
--- src/sys/ufs/lfs/lfs_inode.c:1.156 Mon Jun 5 01:29:21 2017
+++ src/sys/ufs/lfs/lfs_inode.c Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: lfs_inode.c,v 1.156 2017/06/05 01:29:21 maya Exp $ */
+/* $NetBSD: lfs_inode.c,v 1.157 2017/06/10 05:29:36 maya Exp $ */
/*-
* Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_inode.c,v 1.156 2017/06/05 01:29:21 maya Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_inode.c,v 1.157 2017/06/10 05:29:36 maya Exp $");
#if defined(_KERNEL_OPT)
#include "opt_quota.h"
@@ -156,9 +156,9 @@ lfs_update(struct vnode *vp, const struc
mutex_exit(vp->v_interlock);
LFS_ITIMES(ip, acc, mod, NULL);
if (updflags & UPDATE_CLOSE)
- flags = ip->i_flag & (IN_MODIFIED | IN_ACCESSED | IN_CLEANING);
+ flags = ip->i_state & (IN_MODIFIED | IN_ACCESSED | IN_CLEANING);
else
- flags = ip->i_flag & (IN_MODIFIED | IN_CLEANING);
+ flags = ip->i_state & (IN_MODIFIED | IN_CLEANING);
if (flags == 0)
return (0);
@@ -170,10 +170,10 @@ lfs_update(struct vnode *vp, const struc
while (vp->v_uflag & VU_DIROP) {
DLOG((DLOG_DIROP, "lfs_update: sleeping on inode %llu "
"(dirops)\n", (unsigned long long) ip->i_number));
- DLOG((DLOG_DIROP, "lfs_update: vflags 0x%x, iflags"
+ DLOG((DLOG_DIROP, "lfs_update: vflags 0x%x, i_state"
" 0x%x\n",
vp->v_iflag | vp->v_vflag | vp->v_uflag,
- ip->i_flag));
+ ip->i_state));
if (fs->lfs_dirops == 0)
lfs_flush_fs(fs, SEGM_SYNC);
else
@@ -239,13 +239,13 @@ lfs_truncate(struct vnode *ovp, off_t le
memset((char *)SHORTLINK(oip), 0, (u_int)oip->i_size);
oip->i_size = 0;
lfs_dino_setsize(fs, oip->i_din, 0);
- oip->i_flag |= IN_CHANGE | IN_UPDATE;
+ oip->i_state |= IN_CHANGE | IN_UPDATE;
return (lfs_update(ovp, NULL, NULL, 0));
}
if (oip->i_size == length) {
/* still do a uvm_vnp_setsize() as writesize may be larger */
uvm_vnp_setsize(ovp, length);
- oip->i_flag |= IN_CHANGE | IN_UPDATE;
+ oip->i_state |= IN_CHANGE | IN_UPDATE;
return (lfs_update(ovp, NULL, NULL, 0));
}
lfs_imtime(fs);
@@ -296,7 +296,7 @@ lfs_truncate(struct vnode *ovp, off_t le
return error;
}
uvm_vnp_setsize(ovp, length);
- oip->i_flag |= IN_CHANGE | IN_UPDATE;
+ oip->i_state |= IN_CHANGE | IN_UPDATE;
KASSERT(ovp->v_size == oip->i_size);
oip->i_lfs_hiblk = lfs_lblkno(fs, oip->i_size + lfs_sb_getbsize(fs) - 1) - 1;
return (lfs_update(ovp, NULL, NULL, 0));
@@ -315,7 +315,7 @@ lfs_truncate(struct vnode *ovp, off_t le
lfs_dino_setsize(fs, oip->i_din, oip->i_size);
uvm_vnp_setsize(ovp, length);
(void) VOP_BWRITE(bp->b_vp, bp);
- oip->i_flag |= IN_CHANGE | IN_UPDATE;
+ oip->i_state |= IN_CHANGE | IN_UPDATE;
oip->i_lfs_hiblk = lfs_lblkno(fs, oip->i_size + lfs_sb_getbsize(fs) - 1) - 1;
return (lfs_update(ovp, NULL, NULL, 0));
}
@@ -592,13 +592,13 @@ done:
/*
* If we truncated to zero, take us off the paging queue.
*/
- if (oip->i_size == 0 && oip->i_flag & IN_PAGING) {
- oip->i_flag &= ~IN_PAGING;
+ if (oip->i_size == 0 && oip->i_state & IN_PAGING) {
+ oip->i_state &= ~IN_PAGING;
TAILQ_REMOVE(&fs->lfs_pchainhd, oip, i_lfs_pchain);
}
mutex_exit(&lfs_lock);
- oip->i_flag |= IN_CHANGE;
+ oip->i_state |= IN_CHANGE;
#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
(void) lfs_chkdq(oip, -blocksreleased, NOCRED, 0);
#endif
Index: src/sys/ufs/lfs/lfs_inode.h
diff -u src/sys/ufs/lfs/lfs_inode.h:1.22 src/sys/ufs/lfs/lfs_inode.h:1.23
--- src/sys/ufs/lfs/lfs_inode.h:1.22 Thu Jun 8 01:23:01 2017
+++ src/sys/ufs/lfs/lfs_inode.h Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: lfs_inode.h,v 1.22 2017/06/08 01:23:01 chs Exp $ */
+/* $NetBSD: lfs_inode.h,v 1.23 2017/06/10 05:29:36 maya Exp $ */
/* from NetBSD: ulfs_inode.h,v 1.5 2013/06/06 00:51:50 dholland Exp */
/* from NetBSD: inode.h,v 1.72 2016/06/03 15:36:03 christos Exp */
@@ -107,7 +107,26 @@ struct inode {
struct vnode *i_vnode; /* Vnode associated with this inode. */
struct ulfsmount *i_ump; /* Mount point associated with this inode. */
struct vnode *i_devvp; /* Vnode for block I/O. */
- uint32_t i_flag; /* flags, see below */
+
+ uint32_t i_state; /* state */
+#define IN_ACCESS 0x0001 /* Access time update request. */
+#define IN_CHANGE 0x0002 /* Inode change time update request. */
+#define IN_UPDATE 0x0004 /* Inode was written to; update mtime. */
+#define IN_MODIFY 0x2000 /* Modification time update request. */
+#define IN_MODIFIED 0x0008 /* Inode has been modified. */
+#define IN_ACCESSED 0x0010 /* Inode has been accessed. */
+/* unused 0x0020 */ /* was IN_RENAME */
+#define IN_SHLOCK 0x0040 /* File has shared lock. */
+#define IN_EXLOCK 0x0080 /* File has exclusive lock. */
+#define IN_CLEANING 0x0100 /* LFS: file is being cleaned */
+#define IN_ADIROP 0x0200 /* LFS: dirop in progress */
+/* unused 0x0400 */ /* was FFS-only IN_SPACECOUNTED */
+#define IN_PAGING 0x1000 /* LFS: file is on paging queue */
+#define IN_CDIROP 0x4000 /* LFS: dirop completed pending i/o */
+
+/* XXX this is missing some of the flags */
+#define IN_ALLMOD (IN_MODIFIED|IN_ACCESS|IN_CHANGE|IN_UPDATE|IN_MODIFY|IN_ACCESSED|IN_CLEANING)
+
dev_t i_dev; /* Device associated with the inode. */
ino_t i_number; /* The identity of the inode. */
@@ -154,25 +173,6 @@ struct inode {
union lfs_dinode *i_din;
};
-/* These flags are kept in i_flag. */
-#define IN_ACCESS 0x0001 /* Access time update request. */
-#define IN_CHANGE 0x0002 /* Inode change time update request. */
-#define IN_UPDATE 0x0004 /* Inode was written to; update mtime. */
-#define IN_MODIFY 0x2000 /* Modification time update request. */
-#define IN_MODIFIED 0x0008 /* Inode has been modified. */
-#define IN_ACCESSED 0x0010 /* Inode has been accessed. */
-/* unused 0x0020 */ /* was IN_RENAME */
-#define IN_SHLOCK 0x0040 /* File has shared lock. */
-#define IN_EXLOCK 0x0080 /* File has exclusive lock. */
-#define IN_CLEANING 0x0100 /* LFS: file is being cleaned */
-#define IN_ADIROP 0x0200 /* LFS: dirop in progress */
-/* unused 0x0400 */ /* was FFS-only IN_SPACECOUNTED */
-#define IN_PAGING 0x1000 /* LFS: file is on paging queue */
-#define IN_CDIROP 0x4000 /* LFS: dirop completed pending i/o */
-
-/* XXX this is missing some of the flags */
-#define IN_ALLMOD (IN_MODIFIED|IN_ACCESS|IN_CHANGE|IN_UPDATE|IN_MODIFY|IN_ACCESSED|IN_CLEANING)
-
/*
* LFS inode extensions.
*/
Index: src/sys/ufs/lfs/lfs_itimes.c
diff -u src/sys/ufs/lfs/lfs_itimes.c:1.19 src/sys/ufs/lfs/lfs_itimes.c:1.20
--- src/sys/ufs/lfs/lfs_itimes.c:1.19 Tue Sep 1 06:08:37 2015
+++ src/sys/ufs/lfs/lfs_itimes.c Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: lfs_itimes.c,v 1.19 2015/09/01 06:08:37 dholland Exp $ */
+/* $NetBSD: lfs_itimes.c,v 1.20 2017/06/10 05:29:36 maya Exp $ */
/*-
* Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_itimes.c,v 1.19 2015/09/01 06:08:37 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_itimes.c,v 1.20 2017/06/10 05:29:36 maya Exp $");
#include <sys/param.h>
#include <sys/time.h>
@@ -61,12 +61,12 @@ lfs_itimes(struct inode *ip, const struc
#ifdef _KERNEL
struct timespec now;
- KASSERT(ip->i_flag & (IN_ACCESS | IN_CHANGE | IN_UPDATE | IN_MODIFY));
+ KASSERT(ip->i_state & (IN_ACCESS | IN_CHANGE | IN_UPDATE | IN_MODIFY));
vfs_timestamp(&now);
#endif
- if (ip->i_flag & IN_ACCESS) {
+ if (ip->i_state & IN_ACCESS) {
#ifdef _KERNEL
if (acc == NULL)
acc = &now;
@@ -90,8 +90,8 @@ lfs_itimes(struct inode *ip, const struc
mutex_exit(&lfs_lock);
}
}
- if (ip->i_flag & (IN_CHANGE | IN_UPDATE | IN_MODIFY)) {
- if (ip->i_flag & (IN_UPDATE | IN_MODIFY)) {
+ if (ip->i_state & (IN_CHANGE | IN_UPDATE | IN_MODIFY)) {
+ if (ip->i_state & (IN_UPDATE | IN_MODIFY)) {
#ifdef _KERNEL
if (mod == NULL)
mod = &now;
@@ -100,7 +100,7 @@ lfs_itimes(struct inode *ip, const struc
lfs_dino_setmtimensec(fs, ip->i_din, mod->tv_nsec);
ip->i_modrev++;
}
- if (ip->i_flag & (IN_CHANGE | IN_MODIFY)) {
+ if (ip->i_state & (IN_CHANGE | IN_MODIFY)) {
#ifdef _KERNEL
if (cre == NULL)
cre = &now;
@@ -109,11 +109,11 @@ lfs_itimes(struct inode *ip, const struc
lfs_dino_setctimensec(fs, ip->i_din, cre->tv_nsec);
}
mutex_enter(&lfs_lock);
- if (ip->i_flag & (IN_CHANGE | IN_UPDATE))
+ if (ip->i_state & (IN_CHANGE | IN_UPDATE))
LFS_SET_UINO(ip, IN_MODIFIED);
- if (ip->i_flag & IN_MODIFY)
+ if (ip->i_state & IN_MODIFY)
LFS_SET_UINO(ip, IN_ACCESSED);
mutex_exit(&lfs_lock);
}
- ip->i_flag &= ~(IN_ACCESS | IN_CHANGE | IN_UPDATE | IN_MODIFY);
+ ip->i_state &= ~(IN_ACCESS | IN_CHANGE | IN_UPDATE | IN_MODIFY);
}
Index: src/sys/ufs/lfs/ulfs_inode.c
diff -u src/sys/ufs/lfs/ulfs_inode.c:1.19 src/sys/ufs/lfs/ulfs_inode.c:1.20
--- src/sys/ufs/lfs/ulfs_inode.c:1.19 Fri May 26 14:34:20 2017
+++ src/sys/ufs/lfs/ulfs_inode.c Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: ulfs_inode.c,v 1.19 2017/05/26 14:34:20 riastradh Exp $ */
+/* $NetBSD: ulfs_inode.c,v 1.20 2017/06/10 05:29:36 maya Exp $ */
/* from NetBSD: ufs_inode.c,v 1.95 2015/06/13 14:56:45 hannken Exp */
/*
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ulfs_inode.c,v 1.19 2017/05/26 14:34:20 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ulfs_inode.c,v 1.20 2017/06/10 05:29:36 maya Exp $");
#if defined(_KERNEL_OPT)
#include "opt_lfs.h"
@@ -106,13 +106,13 @@ ulfs_inactive(void *v)
ip->i_mode = 0;
ip->i_omode = mode;
DIP_ASSIGN(ip, mode, 0);
- ip->i_flag |= IN_CHANGE | IN_UPDATE;
+ ip->i_state |= IN_CHANGE | IN_UPDATE;
/*
* Defer final inode free and update to ulfs_reclaim().
*/
}
- if (ip->i_flag & (IN_CHANGE | IN_UPDATE | IN_MODIFIED)) {
+ if (ip->i_state & (IN_CHANGE | IN_UPDATE | IN_MODIFIED)) {
lfs_update(vp, NULL, NULL, 0);
}
Index: src/sys/ufs/lfs/lfs_pages.c
diff -u src/sys/ufs/lfs/lfs_pages.c:1.13 src/sys/ufs/lfs/lfs_pages.c:1.14
--- src/sys/ufs/lfs/lfs_pages.c:1.13 Mon Jun 5 01:29:21 2017
+++ src/sys/ufs/lfs/lfs_pages.c Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: lfs_pages.c,v 1.13 2017/06/05 01:29:21 maya Exp $ */
+/* $NetBSD: lfs_pages.c,v 1.14 2017/06/10 05:29:36 maya Exp $ */
/*-
* Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_pages.c,v 1.13 2017/06/05 01:29:21 maya Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_pages.c,v 1.14 2017/06/10 05:29:36 maya Exp $");
#ifdef _KERNEL_OPT
#include "opt_compat_netbsd.h"
@@ -506,8 +506,8 @@ retry:
/* Remove us from paging queue, if we were on it */
mutex_enter(&lfs_lock);
- if (ip->i_flag & IN_PAGING) {
- ip->i_flag &= ~IN_PAGING;
+ if (ip->i_state & IN_PAGING) {
+ ip->i_state &= ~IN_PAGING;
TAILQ_REMOVE(&fs->lfs_pchainhd, ip, i_lfs_pchain);
}
mutex_exit(&lfs_lock);
@@ -688,8 +688,8 @@ retry:
if (pagedaemon) {
mutex_exit(vp->v_interlock);
mutex_enter(&lfs_lock);
- if (!(ip->i_flag & IN_PAGING)) {
- ip->i_flag |= IN_PAGING;
+ if (!(ip->i_state & IN_PAGING)) {
+ ip->i_state |= IN_PAGING;
TAILQ_INSERT_TAIL(&fs->lfs_pchainhd, ip, i_lfs_pchain);
}
cv_broadcast(&lfs_writerd_cv);
@@ -898,8 +898,8 @@ retry:
*/
if (origendoffset == 0 || ap->a_flags & PGO_ALLPAGES) {
mutex_enter(&lfs_lock);
- if (ip->i_flag & IN_PAGING) {
- ip->i_flag &= ~IN_PAGING;
+ if (ip->i_state & IN_PAGING) {
+ ip->i_state &= ~IN_PAGING;
TAILQ_REMOVE(&fs->lfs_pchainhd, ip, i_lfs_pchain);
}
mutex_exit(&lfs_lock);
Index: src/sys/ufs/lfs/lfs_rename.c
diff -u src/sys/ufs/lfs/lfs_rename.c:1.21 src/sys/ufs/lfs/lfs_rename.c:1.22
--- src/sys/ufs/lfs/lfs_rename.c:1.21 Mon Jun 20 03:36:09 2016
+++ src/sys/ufs/lfs/lfs_rename.c Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: lfs_rename.c,v 1.21 2016/06/20 03:36:09 dholland Exp $ */
+/* $NetBSD: lfs_rename.c,v 1.22 2017/06/10 05:29:36 maya Exp $ */
/* from NetBSD: ufs_rename.c,v 1.12 2015/03/27 17:27:56 riastradh Exp */
/*-
@@ -89,7 +89,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_rename.c,v 1.21 2016/06/20 03:36:09 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_rename.c,v 1.22 2017/06/10 05:29:36 maya Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -803,7 +803,7 @@ ulfs_gro_rename(struct mount *mp, kauth_
KASSERT((nlink_t)VTOI(fvp)->i_nlink < LINK_MAX);
VTOI(fvp)->i_nlink++;
DIP_ASSIGN(VTOI(fvp), nlink, VTOI(fvp)->i_nlink);
- VTOI(fvp)->i_flag |= IN_CHANGE;
+ VTOI(fvp)->i_state |= IN_CHANGE;
error = lfs_update(fvp, NULL, NULL, UPDATE_DIROP);
if (error)
goto whymustithurtsomuch;
@@ -830,7 +830,7 @@ ulfs_gro_rename(struct mount *mp, kauth_
KASSERT((nlink_t)VTOI(tdvp)->i_nlink < LINK_MAX);
VTOI(tdvp)->i_nlink++;
DIP_ASSIGN(VTOI(tdvp), nlink, VTOI(tdvp)->i_nlink);
- VTOI(tdvp)->i_flag |= IN_CHANGE;
+ VTOI(tdvp)->i_state |= IN_CHANGE;
error = lfs_update(tdvp, NULL, NULL, UPDATE_DIROP);
if (error) {
/*
@@ -841,7 +841,7 @@ ulfs_gro_rename(struct mount *mp, kauth_
VTOI(tdvp)->i_nlink--;
DIP_ASSIGN(VTOI(tdvp), nlink,
VTOI(tdvp)->i_nlink);
- VTOI(tdvp)->i_flag |= IN_CHANGE;
+ VTOI(tdvp)->i_state |= IN_CHANGE;
goto whymustithurtsomuch;
}
}
@@ -861,7 +861,7 @@ ulfs_gro_rename(struct mount *mp, kauth_
VTOI(tdvp)->i_nlink--;
DIP_ASSIGN(VTOI(tdvp), nlink,
VTOI(tdvp)->i_nlink);
- VTOI(tdvp)->i_flag |= IN_CHANGE;
+ VTOI(tdvp)->i_state |= IN_CHANGE;
(void)lfs_update(tdvp, NULL, NULL,
UPDATE_WAIT | UPDATE_DIROP);
}
@@ -900,7 +900,7 @@ ulfs_gro_rename(struct mount *mp, kauth_
KASSERT(0 < VTOI(tdvp)->i_nlink);
VTOI(tdvp)->i_nlink--;
DIP_ASSIGN(VTOI(tdvp), nlink, VTOI(tdvp)->i_nlink);
- VTOI(tdvp)->i_flag |= IN_CHANGE;
+ VTOI(tdvp)->i_state |= IN_CHANGE;
}
if (directory_p) {
@@ -1008,7 +1008,7 @@ whymustithurtsomuch:
KASSERT(0 < VTOI(fvp)->i_nlink);
VTOI(fvp)->i_nlink--;
DIP_ASSIGN(VTOI(fvp), nlink, VTOI(fvp)->i_nlink);
- VTOI(fvp)->i_flag |= IN_CHANGE;
+ VTOI(fvp)->i_state |= IN_CHANGE;
arghmybrainhurts:
/*ihateyou:*/
Index: src/sys/ufs/lfs/lfs_segment.c
diff -u src/sys/ufs/lfs/lfs_segment.c:1.269 src/sys/ufs/lfs/lfs_segment.c:1.270
--- src/sys/ufs/lfs/lfs_segment.c:1.269 Thu Apr 6 03:21:01 2017
+++ src/sys/ufs/lfs/lfs_segment.c Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: lfs_segment.c,v 1.269 2017/04/06 03:21:01 maya Exp $ */
+/* $NetBSD: lfs_segment.c,v 1.270 2017/06/10 05:29:36 maya Exp $ */
/*-
* Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -60,11 +60,11 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.269 2017/04/06 03:21:01 maya Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.270 2017/06/10 05:29:36 maya Exp $");
#ifdef DEBUG
# define vndebug(vp, str) do { \
- if (VTOI(vp)->i_flag & IN_CLEANING) \
+ if (VTOI(vp)->i_state & IN_CLEANING) \
DLOG((DLOG_WVNODE, "not writing ino %d because %s (op %d)\n", \
VTOI(vp)->i_number, (str), op)); \
} while(0)
@@ -208,7 +208,7 @@ lfs_vflush(struct vnode *vp)
KASSERT(mutex_owned(&lfs_lock) == false);
KASSERT(mutex_owned(&bufcache_lock) == false);
ASSERT_NO_SEGLOCK(fs);
- if (ip->i_flag & IN_CLEANING) {
+ if (ip->i_state & IN_CLEANING) {
ivndebug(vp,"vflush/in_cleaning");
mutex_enter(&lfs_lock);
LFS_CLR_UINO(ip, IN_CLEANING);
@@ -333,7 +333,7 @@ lfs_vflush(struct vnode *vp)
mutex_exit(&bufcache_lock);
LFS_CLR_UINO(ip, IN_CLEANING);
LFS_CLR_UINO(ip, IN_MODIFIED | IN_ACCESSED);
- ip->i_flag &= ~IN_ALLMOD;
+ ip->i_state &= ~IN_ALLMOD;
DLOG((DLOG_VNODE, "lfs_vflush: done not flushing ino %d\n",
ip->i_number));
lfs_segunlock(fs);
@@ -367,13 +367,13 @@ lfs_vflush(struct vnode *vp)
if (VPISEMPTY(vp)) {
lfs_writevnodes(fs, vp->v_mount, sp, VN_EMPTY);
++flushed;
- } else if ((ip->i_flag & IN_CLEANING) &&
+ } else if ((ip->i_state & IN_CLEANING) &&
(fs->lfs_sp->seg_flags & SEGM_CLEAN)) {
ivndebug(vp,"vflush/clean");
lfs_writevnodes(fs, vp->v_mount, sp, VN_CLEAN);
++flushed;
} else if (lfs_dostats) {
- if (!VPISEMPTY(vp) || (VTOI(vp)->i_flag & IN_ALLMOD))
+ if (!VPISEMPTY(vp) || (VTOI(vp)->i_state & IN_ALLMOD))
++lfs_stats.vflush_invoked;
ivndebug(vp,"vflush");
}
@@ -502,7 +502,7 @@ lfs_writevnodes_selector(void *cl, struc
return false;;
}
if (op == VN_CLEAN && ip->i_number != LFS_IFILE_INUM &&
- vp != c->fs->lfs_flushvp && !(ip->i_flag & IN_CLEANING)) {
+ vp != c->fs->lfs_flushvp && !(ip->i_state & IN_CLEANING)) {
vndebug(vp,"cleaning");
return false;
}
@@ -543,7 +543,7 @@ lfs_writevnodes(struct lfs *fs, struct m
/*
* Write the inode/file if dirty and it's not the IFILE.
*/
- if (((ip->i_flag & IN_ALLMOD) || !VPISEMPTY(vp)) &&
+ if (((ip->i_state & IN_ALLMOD) || !VPISEMPTY(vp)) &&
ip->i_number != LFS_IFILE_INUM) {
error = lfs_writefile(fs, sp, vp);
if (error) {
@@ -560,7 +560,7 @@ lfs_writevnodes(struct lfs *fs, struct m
lfs_writeseg(fs, sp);
if (!VPISEMPTY(vp) &&
!WRITEINPROG(vp) &&
- !(ip->i_flag & IN_ALLMOD)) {
+ !(ip->i_state & IN_ALLMOD)) {
mutex_enter(&lfs_lock);
LFS_SET_UINO(ip, IN_MODIFIED);
mutex_exit(&lfs_lock);
@@ -574,7 +574,7 @@ lfs_writevnodes(struct lfs *fs, struct m
if (!VPISEMPTY(vp)) {
if (WRITEINPROG(vp)) {
ivndebug(vp,"writevnodes/write2");
- } else if (!(ip->i_flag & IN_ALLMOD)) {
+ } else if (!(ip->i_state & IN_ALLMOD)) {
mutex_enter(&lfs_lock);
LFS_SET_UINO(ip, IN_MODIFIED);
mutex_exit(&lfs_lock);
@@ -753,7 +753,7 @@ lfs_segwrite(struct mount *mp, int flags
lfs_writefile(fs, sp, vp);
}
- if (ip->i_flag & IN_ALLMOD)
+ if (ip->i_state & IN_ALLMOD)
++did_ckp;
#if 0
redo = (do_ckp ? lfs_writeinode(fs, sp, ip) : 0);
@@ -1041,7 +1041,7 @@ lfs_writeinode(struct lfs *fs, struct se
SEGSUM *ssp;
ASSERT_SEGLOCK(fs);
- if (!(ip->i_flag & IN_ALLMOD) && !(vp->v_uflag & VU_DIROP))
+ if (!(ip->i_state & IN_ALLMOD) && !(vp->v_uflag & VU_DIROP))
return (0);
/* Can't write ifile when writer is not set */
@@ -1160,7 +1160,7 @@ lfs_writeinode(struct lfs *fs, struct se
*/
if (vp->v_uflag & VU_DIROP) {
if (!(sp->seg_flags & SEGM_CLEAN))
- ip->i_flag |= IN_CDIROP;
+ ip->i_state |= IN_CDIROP;
else {
DLOG((DLOG_DIROP, "lfs_writeinode: not clearing dirop for cleaned ino %d\n", (int)ip->i_number));
}
@@ -1249,7 +1249,7 @@ lfs_writeinode(struct lfs *fs, struct se
}
#endif /* DIAGNOSTIC */
- if (ip->i_flag & IN_CLEANING)
+ if (ip->i_state & IN_CLEANING)
LFS_CLR_UINO(ip, IN_CLEANING);
else {
/* XXX IN_ALLMOD */
Index: src/sys/ufs/lfs/lfs_vnops.c
diff -u src/sys/ufs/lfs/lfs_vnops.c:1.316 src/sys/ufs/lfs/lfs_vnops.c:1.317
--- src/sys/ufs/lfs/lfs_vnops.c:1.316 Mon Jun 5 01:29:21 2017
+++ src/sys/ufs/lfs/lfs_vnops.c Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: lfs_vnops.c,v 1.316 2017/06/05 01:29:21 maya Exp $ */
+/* $NetBSD: lfs_vnops.c,v 1.317 2017/06/10 05:29:36 maya Exp $ */
/*-
* Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -125,7 +125,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.316 2017/06/05 01:29:21 maya Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.317 2017/06/10 05:29:36 maya Exp $");
#ifdef _KERNEL_OPT
#include "opt_compat_netbsd.h"
@@ -377,7 +377,7 @@ lfs_makeinode(struct vattr *vap, struct
lfs_mark_vnode(tvp);
*vpp = tvp;
ip = VTOI(tvp);
- ip->i_flag |= IN_ACCESS | IN_CHANGE | IN_UPDATE;
+ ip->i_state |= IN_ACCESS | IN_CHANGE | IN_UPDATE;
ip->i_nlink = 1;
DIP_ASSIGN(ip, nlink, 1);
@@ -417,7 +417,7 @@ lfs_makeinode(struct vattr *vap, struct
*/
ip->i_nlink = 0;
DIP_ASSIGN(ip, nlink, 0);
- ip->i_flag |= IN_CHANGE;
+ ip->i_state |= IN_CHANGE;
/* If IN_ADIROP, account for it */
lfs_unmark_vnode(tvp);
vput(tvp);
@@ -461,8 +461,8 @@ lfs_fsync(void *v)
if (ap->a_flags & FSYNC_LAZY) {
if (lfs_ignore_lazy_sync == 0) {
mutex_enter(&lfs_lock);
- if (!(ip->i_flag & IN_PAGING)) {
- ip->i_flag |= IN_PAGING;
+ if (!(ip->i_state & IN_PAGING)) {
+ ip->i_state |= IN_PAGING;
TAILQ_INSERT_TAIL(&fs->lfs_pchainhd, ip,
i_lfs_pchain);
}
@@ -477,7 +477,7 @@ lfs_fsync(void *v)
* reuse it. This prevents the cleaner from writing files twice
* in the same partial segment, causing an accounting underflow.
*/
- if (ap->a_flags & FSYNC_RECLAIM && ip->i_flag & IN_CLEANING) {
+ if (ap->a_flags & FSYNC_RECLAIM && ip->i_state & IN_CLEANING) {
lfs_vflush(vp);
}
@@ -657,7 +657,7 @@ lfs_mark_vnode(struct vnode *vp)
struct lfs *fs = ip->i_lfs;
mutex_enter(&lfs_lock);
- if (!(ip->i_flag & IN_ADIROP)) {
+ if (!(ip->i_state & IN_ADIROP)) {
if (!(vp->v_uflag & VU_DIROP)) {
mutex_exit(&lfs_lock);
vref(vp);
@@ -668,8 +668,8 @@ lfs_mark_vnode(struct vnode *vp)
vp->v_uflag |= VU_DIROP;
}
++fs->lfs_nadirop;
- ip->i_flag &= ~IN_CDIROP;
- ip->i_flag |= IN_ADIROP;
+ ip->i_state &= ~IN_CDIROP;
+ ip->i_state |= IN_ADIROP;
} else
KASSERT(vp->v_uflag & VU_DIROP);
mutex_exit(&lfs_lock);
@@ -681,10 +681,10 @@ lfs_unmark_vnode(struct vnode *vp)
struct inode *ip = VTOI(vp);
mutex_enter(&lfs_lock);
- if (ip && (ip->i_flag & IN_ADIROP)) {
+ if (ip && (ip->i_state & IN_ADIROP)) {
KASSERT(vp->v_uflag & VU_DIROP);
--ip->i_lfs->lfs_nadirop;
- ip->i_flag &= ~IN_ADIROP;
+ ip->i_state &= ~IN_ADIROP;
}
mutex_exit(&lfs_lock);
}
@@ -750,9 +750,9 @@ lfs_symlink(void *v)
ip->i_size = len;
DIP_ASSIGN(ip, size, len);
uvm_vnp_setsize(*vpp, ip->i_size);
- ip->i_flag |= IN_CHANGE | IN_UPDATE;
+ ip->i_state |= IN_CHANGE | IN_UPDATE;
if ((*vpp)->v_mount->mnt_flag & MNT_RELATIME)
- ip->i_flag |= IN_ACCESS;
+ ip->i_state |= IN_ACCESS;
} else {
error = ulfs_bufio(UIO_WRITE, *vpp, ap->a_target, len, (off_t)0,
IO_NODELOCKED | IO_JOURNALLOCKED, ap->a_cnp->cn_cred, NULL,
@@ -832,7 +832,7 @@ lfs_mknod(void *v)
VN_KNOTE(dvp, NOTE_WRITE);
ip = VTOI(*vpp);
ino = ip->i_number;
- ip->i_flag |= IN_ACCESS | IN_CHANGE | IN_UPDATE;
+ ip->i_state |= IN_ACCESS | IN_CHANGE | IN_UPDATE;
/*
* Call fsync to write the vnode so that we don't have to deal with
@@ -991,7 +991,7 @@ lfs_mkdir(void *v)
tvp = *ap->a_vpp;
lfs_mark_vnode(tvp);
ip = VTOI(tvp);
- ip->i_flag |= IN_ACCESS | IN_CHANGE | IN_UPDATE;
+ ip->i_state |= IN_ACCESS | IN_CHANGE | IN_UPDATE;
ip->i_nlink = 2;
DIP_ASSIGN(ip, nlink, 2);
if (cnp->cn_flags & ISWHITEOUT) {
@@ -1004,7 +1004,7 @@ lfs_mkdir(void *v)
*/
dp->i_nlink++;
DIP_ASSIGN(dp, nlink, dp->i_nlink);
- dp->i_flag |= IN_CHANGE;
+ dp->i_state |= IN_CHANGE;
if ((error = lfs_update(dvp, NULL, NULL, UPDATE_DIROP)) != 0)
goto bad;
@@ -1018,7 +1018,7 @@ lfs_mkdir(void *v)
goto bad;
ip->i_size = dirblksiz;
DIP_ASSIGN(ip, size, dirblksiz);
- ip->i_flag |= IN_ACCESS | IN_CHANGE | IN_UPDATE;
+ ip->i_state |= IN_ACCESS | IN_CHANGE | IN_UPDATE;
uvm_vnp_setsize(tvp, ip->i_size);
dirp = bp->b_data;
@@ -1055,14 +1055,14 @@ lfs_mkdir(void *v)
} else {
dp->i_nlink--;
DIP_ASSIGN(dp, nlink, dp->i_nlink);
- dp->i_flag |= IN_CHANGE;
+ dp->i_state |= IN_CHANGE;
/*
* No need to do an explicit lfs_truncate here, vrele will
* do this for us because we set the link count to 0.
*/
ip->i_nlink = 0;
DIP_ASSIGN(ip, nlink, 0);
- ip->i_flag |= IN_CHANGE;
+ ip->i_state |= IN_CHANGE;
/* If IN_ADIROP, account for it */
lfs_unmark_vnode(tvp);
vput(tvp);
@@ -1446,10 +1446,10 @@ lfs_reclaim(void *v)
* We shouldn't be on them.
*/
mutex_enter(&lfs_lock);
- if (ip->i_flag & IN_PAGING) {
+ if (ip->i_state & IN_PAGING) {
log(LOG_WARNING, "%s: reclaimed vnode is IN_PAGING\n",
lfs_sb_getfsmnt(fs));
- ip->i_flag &= ~IN_PAGING;
+ ip->i_state &= ~IN_PAGING;
TAILQ_REMOVE(&fs->lfs_pchainhd, ip, i_lfs_pchain);
}
if (vp->v_uflag & VU_DIROP) {
@@ -1655,7 +1655,7 @@ lfs_flush_dirops(struct lfs *fs)
vp = ITOV(ip);
mutex_enter(vp->v_interlock);
- KASSERT((ip->i_flag & IN_ADIROP) == 0);
+ KASSERT((ip->i_state & IN_ADIROP) == 0);
KASSERT(vp->v_uflag & VU_DIROP);
KASSERT(vdead_check(vp, VDEAD_NOWAIT) == 0);
@@ -1677,10 +1677,10 @@ lfs_flush_dirops(struct lfs *fs)
* waslocked = VOP_ISLOCKED(vp);
*/
if (vp->v_type != VREG &&
- ((ip->i_flag & IN_ALLMOD) || !VPISEMPTY(vp))) {
+ ((ip->i_state & IN_ALLMOD) || !VPISEMPTY(vp))) {
error = lfs_writefile(fs, sp, vp);
if (!VPISEMPTY(vp) && !WRITEINPROG(vp) &&
- !(ip->i_flag & IN_ALLMOD)) {
+ !(ip->i_state & IN_ALLMOD)) {
mutex_enter(&lfs_lock);
LFS_SET_UINO(ip, IN_MODIFIED);
mutex_exit(&lfs_lock);
@@ -1776,7 +1776,7 @@ lfs_flush_pchain(struct lfs *fs)
nip = TAILQ_NEXT(ip, i_lfs_pchain);
- if (!(ip->i_flag & IN_PAGING))
+ if (!(ip->i_state & IN_PAGING))
goto top;
mutex_exit(&lfs_lock);
@@ -1792,7 +1792,7 @@ lfs_flush_pchain(struct lfs *fs)
ip = VTOI(vp);
mutex_enter(&lfs_lock);
if ((vp->v_uflag & VU_DIROP) != 0 || vp->v_type != VREG ||
- !(ip->i_flag & IN_PAGING)) {
+ !(ip->i_state & IN_PAGING)) {
mutex_exit(&lfs_lock);
vput(vp);
mutex_enter(&lfs_lock);
@@ -1802,7 +1802,7 @@ lfs_flush_pchain(struct lfs *fs)
error = lfs_writefile(fs, sp, vp);
if (!VPISEMPTY(vp) && !WRITEINPROG(vp) &&
- !(ip->i_flag & IN_ALLMOD)) {
+ !(ip->i_state & IN_ALLMOD)) {
mutex_enter(&lfs_lock);
LFS_SET_UINO(ip, IN_MODIFIED);
mutex_exit(&lfs_lock);
Index: src/sys/ufs/lfs/ulfs_inode.h
diff -u src/sys/ufs/lfs/ulfs_inode.h:1.23 src/sys/ufs/lfs/ulfs_inode.h:1.24
--- src/sys/ufs/lfs/ulfs_inode.h:1.23 Thu Jun 8 01:23:01 2017
+++ src/sys/ufs/lfs/ulfs_inode.h Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: ulfs_inode.h,v 1.23 2017/06/08 01:23:01 chs Exp $ */
+/* $NetBSD: ulfs_inode.h,v 1.24 2017/06/10 05:29:36 maya Exp $ */
/* from NetBSD: inode.h,v 1.72 2016/06/03 15:36:03 christos Exp */
/*
@@ -175,7 +175,7 @@ struct lfid {
#define WRITEINPROG(vp) ((vp)->v_numoutput > 0 || \
(!LIST_EMPTY(&(vp)->v_dirtyblkhd) && \
- !(VTOI(vp)->i_flag & (IN_MODIFIED | IN_ACCESSED | IN_CLEANING))))
+ !(VTOI(vp)->i_state & (IN_MODIFIED | IN_ACCESSED | IN_CLEANING))))
Index: src/sys/ufs/lfs/ulfs_readwrite.c
diff -u src/sys/ufs/lfs/ulfs_readwrite.c:1.23 src/sys/ufs/lfs/ulfs_readwrite.c:1.24
--- src/sys/ufs/lfs/ulfs_readwrite.c:1.23 Thu Mar 30 09:10:08 2017
+++ src/sys/ufs/lfs/ulfs_readwrite.c Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: ulfs_readwrite.c,v 1.23 2017/03/30 09:10:08 hannken Exp $ */
+/* $NetBSD: ulfs_readwrite.c,v 1.24 2017/06/10 05:29:36 maya Exp $ */
/* from NetBSD: ufs_readwrite.c,v 1.120 2015/04/12 22:48:38 riastradh Exp */
/*-
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: ulfs_readwrite.c,v 1.23 2017/03/30 09:10:08 hannken Exp $");
+__KERNEL_RCSID(1, "$NetBSD: ulfs_readwrite.c,v 1.24 2017/06/10 05:29:36 maya Exp $");
#ifdef LFS_READWRITE
#define FS struct lfs
@@ -228,7 +228,7 @@ ulfs_post_read_update(struct vnode *vp,
int error = oerror;
if (!(vp->v_mount->mnt_flag & MNT_NOATIME)) {
- ip->i_flag |= IN_ACCESS;
+ ip->i_state |= IN_ACCESS;
if ((ioflag & IO_SYNC) == IO_SYNC) {
error = lfs_update(vp, NULL, NULL, UPDATE_WAIT);
}
@@ -580,9 +580,9 @@ ulfs_post_write_update(struct vnode *vp,
int error = oerror;
/* Trigger ctime and mtime updates, and atime if MNT_RELATIME. */
- ip->i_flag |= IN_CHANGE | IN_UPDATE;
+ ip->i_state |= IN_CHANGE | IN_UPDATE;
if (vp->v_mount->mnt_flag & MNT_RELATIME)
- ip->i_flag |= IN_ACCESS;
+ ip->i_state |= IN_ACCESS;
/*
* If we successfully wrote any data and we are not the superuser,
Index: src/sys/ufs/lfs/ulfs_lookup.c
diff -u src/sys/ufs/lfs/ulfs_lookup.c:1.40 src/sys/ufs/lfs/ulfs_lookup.c:1.41
--- src/sys/ufs/lfs/ulfs_lookup.c:1.40 Thu Mar 30 09:10:08 2017
+++ src/sys/ufs/lfs/ulfs_lookup.c Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: ulfs_lookup.c,v 1.40 2017/03/30 09:10:08 hannken Exp $ */
+/* $NetBSD: ulfs_lookup.c,v 1.41 2017/06/10 05:29:36 maya Exp $ */
/* from NetBSD: ufs_lookup.c,v 1.135 2015/07/11 11:04:48 mlelstv */
/*
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ulfs_lookup.c,v 1.40 2017/03/30 09:10:08 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ulfs_lookup.c,v 1.41 2017/06/10 05:29:36 maya Exp $");
#ifdef _KERNEL_OPT
#include "opt_lfs.h"
@@ -478,7 +478,7 @@ notfound:
}
results->ulr_endoff = roundup(enduseful, dirblksiz);
#if 0 /* commented out by dbj. none of the on disk fields changed */
- dp->i_flag |= IN_CHANGE | IN_UPDATE;
+ dp->i_state |= IN_CHANGE | IN_UPDATE;
#endif
/*
* We return with the directory locked, so that
@@ -516,7 +516,7 @@ found:
dp->i_size =
results->ulr_offset + LFS_DIRSIZ(fs, ep);
DIP_ASSIGN(dp, size, dp->i_size);
- dp->i_flag |= IN_CHANGE | IN_UPDATE;
+ dp->i_state |= IN_CHANGE | IN_UPDATE;
}
brelse(bp, 0);
@@ -795,7 +795,7 @@ ulfs_direnter(struct vnode *dvp, const s
}
dp->i_size = ulr->ulr_offset + dirblksiz;
DIP_ASSIGN(dp, size, dp->i_size);
- dp->i_flag |= IN_CHANGE | IN_UPDATE;
+ dp->i_state |= IN_CHANGE | IN_UPDATE;
uvm_vnp_setsize(dvp, dp->i_size);
lfs_blkoff = ulr->ulr_offset & (ump->um_mountp->mnt_stat.f_iosize - 1);
ep = (LFS_DIRHEADER *)((char *)bp->b_data + lfs_blkoff);
@@ -840,7 +840,7 @@ ulfs_direnter(struct vnode *dvp, const s
#endif
dp->i_size = ulr->ulr_offset + ulr->ulr_count;
DIP_ASSIGN(dp, size, dp->i_size);
- dp->i_flag |= IN_CHANGE | IN_UPDATE;
+ dp->i_state |= IN_CHANGE | IN_UPDATE;
}
/*
* Get the block containing the space for the new directory entry.
@@ -931,7 +931,7 @@ ulfs_direnter(struct vnode *dvp, const s
ulr->ulr_offset & ~(dirblksiz - 1));
#endif
error = VOP_BWRITE(bp->b_vp, bp);
- dp->i_flag |= IN_CHANGE | IN_UPDATE;
+ dp->i_state |= 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
@@ -1047,7 +1047,7 @@ out:
if (ip) {
ip->i_nlink--;
DIP_ASSIGN(ip, nlink, ip->i_nlink);
- ip->i_flag |= IN_CHANGE;
+ ip->i_state |= IN_CHANGE;
}
/*
* XXX did it ever occur to anyone that it might be a good
@@ -1057,7 +1057,7 @@ out:
* definitely do not take this into account.
*/
error = VOP_BWRITE(bp->b_vp, bp);
- dp->i_flag |= IN_CHANGE | IN_UPDATE;
+ dp->i_state |= IN_CHANGE | IN_UPDATE;
/*
* If the last named reference to a snapshot goes away,
* drop its snapshot reference so that it will be reclaimed
@@ -1103,9 +1103,9 @@ ulfs_dirrewrite(struct inode *dp, off_t
lfs_dir_settype(fs, ep, newtype);
oip->i_nlink--;
DIP_ASSIGN(oip, nlink, oip->i_nlink);
- oip->i_flag |= IN_CHANGE;
+ oip->i_state |= IN_CHANGE;
error = VOP_BWRITE(bp->b_vp, bp);
- dp->i_flag |= iflags;
+ dp->i_state |= iflags;
/*
* If the last named reference to a snapshot goes away,
* drop its snapshot reference so that it will be reclaimed
Index: src/sys/ufs/lfs/ulfs_quota2.c
diff -u src/sys/ufs/lfs/ulfs_quota2.c:1.30 src/sys/ufs/lfs/ulfs_quota2.c:1.31
--- src/sys/ufs/lfs/ulfs_quota2.c:1.30 Thu Mar 30 09:10:08 2017
+++ src/sys/ufs/lfs/ulfs_quota2.c Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: ulfs_quota2.c,v 1.30 2017/03/30 09:10:08 hannken Exp $ */
+/* $NetBSD: ulfs_quota2.c,v 1.31 2017/06/10 05:29:36 maya Exp $ */
/* from NetBSD: ufs_quota2.c,v 1.40 2015/03/28 19:24:05 maxv Exp Exp */
/* from NetBSD: ffs_quota2.c,v 1.5 2015/02/22 14:12:48 maxv Exp */
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ulfs_quota2.c,v 1.30 2017/03/30 09:10:08 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ulfs_quota2.c,v 1.31 2017/06/10 05:29:36 maya Exp $");
#include <sys/buf.h>
#include <sys/param.h>
@@ -322,7 +322,7 @@ quota2_q2ealloc(struct ulfsmount *ump, i
KASSERT((ip->i_size % ump->umq2_bsize) == 0);
ip->i_size += ump->umq2_bsize;
DIP_ASSIGN(ip, size, ip->i_size);
- ip->i_flag |= IN_CHANGE | IN_UPDATE;
+ ip->i_state |= IN_CHANGE | IN_UPDATE;
uvm_vnp_setsize(vp, ip->i_size);
lfsquota2_addfreeq2e(q2h, bp->b_data, size, ump->umq2_bsize,
needswap);
Index: src/sys/ufs/lfs/ulfs_vnops.c
diff -u src/sys/ufs/lfs/ulfs_vnops.c:1.48 src/sys/ufs/lfs/ulfs_vnops.c:1.49
--- src/sys/ufs/lfs/ulfs_vnops.c:1.48 Wed Apr 26 03:02:49 2017
+++ src/sys/ufs/lfs/ulfs_vnops.c Sat Jun 10 05:29:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: ulfs_vnops.c,v 1.48 2017/04/26 03:02:49 riastradh Exp $ */
+/* $NetBSD: ulfs_vnops.c,v 1.49 2017/06/10 05:29:36 maya Exp $ */
/* from NetBSD: ufs_vnops.c,v 1.232 2016/05/19 18:32:03 riastradh Exp */
/*-
@@ -67,7 +67,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ulfs_vnops.c,v 1.48 2017/04/26 03:02:49 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ulfs_vnops.c,v 1.49 2017/06/10 05:29:36 maya Exp $");
#if defined(_KERNEL_OPT)
#include "opt_lfs.h"
@@ -305,7 +305,7 @@ ulfs_setattr(void *v)
ip->i_flags |= (vap->va_flags & UF_SETTABLE);
DIP_ASSIGN(ip, flags, ip->i_flags);
}
- ip->i_flag |= IN_CHANGE;
+ ip->i_state |= IN_CHANGE;
if (vap->va_flags & (IMMUTABLE | APPEND)) {
error = 0;
goto out;
@@ -376,11 +376,11 @@ ulfs_setattr(void *v)
goto out;
if (vap->va_atime.tv_sec != VNOVAL)
if (!(vp->v_mount->mnt_flag & MNT_NOATIME))
- ip->i_flag |= IN_ACCESS;
+ ip->i_state |= IN_ACCESS;
if (vap->va_mtime.tv_sec != VNOVAL) {
- ip->i_flag |= IN_CHANGE | IN_UPDATE;
+ ip->i_state |= IN_CHANGE | IN_UPDATE;
if (vp->v_mount->mnt_flag & MNT_RELATIME)
- ip->i_flag |= IN_ACCESS;
+ ip->i_state |= IN_ACCESS;
}
if (vap->va_birthtime.tv_sec != VNOVAL) {
lfs_dino_setbirthtime(fs, ip->i_din,
@@ -430,7 +430,7 @@ ulfs_chmod(struct vnode *vp, int mode, k
ip->i_mode &= ~ALLPERMS;
ip->i_mode |= (mode & ALLPERMS);
- ip->i_flag |= IN_CHANGE;
+ ip->i_state |= IN_CHANGE;
DIP_ASSIGN(ip, mode, ip->i_mode);
return (0);
}
@@ -493,7 +493,7 @@ ulfs_chown(struct vnode *vp, uid_t uid,
return (error);
good:
#endif /* LFS_QUOTA || LFS_QUOTA2 */
- ip->i_flag |= IN_CHANGE;
+ ip->i_state |= IN_CHANGE;
return (0);
}
@@ -588,7 +588,7 @@ ulfs_link(void *v)
}
ip->i_nlink++;
DIP_ASSIGN(ip, nlink, ip->i_nlink);
- ip->i_flag |= IN_CHANGE;
+ ip->i_state |= IN_CHANGE;
error = lfs_update(vp, NULL, NULL, UPDATE_DIROP);
if (!error) {
error = ulfs_direnter(dvp, ulr, vp,
@@ -597,7 +597,7 @@ ulfs_link(void *v)
if (error) {
ip->i_nlink--;
DIP_ASSIGN(ip, nlink, ip->i_nlink);
- ip->i_flag |= IN_CHANGE;
+ ip->i_state |= IN_CHANGE;
}
out1:
VOP_UNLOCK(vp);
@@ -737,10 +737,10 @@ ulfs_rmdir(void *v)
*/
dp->i_nlink--;
DIP_ASSIGN(dp, nlink, dp->i_nlink);
- dp->i_flag |= IN_CHANGE;
+ dp->i_state |= IN_CHANGE;
ip->i_nlink--;
DIP_ASSIGN(ip, nlink, ip->i_nlink);
- ip->i_flag |= IN_CHANGE;
+ ip->i_state |= IN_CHANGE;
error = lfs_truncate(vp, (off_t)0, IO_SYNC, cnp->cn_cred);
cache_purge(vp);
#ifdef LFS_DIRHASH
@@ -948,7 +948,7 @@ ulfs_print(void *v)
(unsigned long long)major(ip->i_dev),
(unsigned long long)minor(ip->i_dev));
printf(" flags 0x%x, nlink %d\n",
- ip->i_flag, ip->i_nlink);
+ ip->i_state, ip->i_nlink);
printf("\tmode 0%o, owner %d, group %d, size %qd",
ip->i_mode, ip->i_uid, ip->i_gid,
(long long)ip->i_size);
@@ -977,7 +977,7 @@ ulfsspec_read(void *v)
* Set access flag.
*/
if ((ap->a_vp->v_mount->mnt_flag & MNT_NODEVMTIME) == 0)
- VTOI(ap->a_vp)->i_flag |= IN_ACCESS;
+ VTOI(ap->a_vp)->i_state |= IN_ACCESS;
return (VOCALL (spec_vnodeop_p, VOFFSET(vop_read), ap));
}
@@ -1000,7 +1000,7 @@ ulfsspec_write(void *v)
* Set update and change flags.
*/
if ((ap->a_vp->v_mount->mnt_flag & MNT_NODEVMTIME) == 0)
- VTOI(ap->a_vp)->i_flag |= IN_MODIFY;
+ VTOI(ap->a_vp)->i_state |= IN_MODIFY;
return (VOCALL (spec_vnodeop_p, VOFFSET(vop_write), ap));
}
@@ -1022,7 +1022,7 @@ ulfsfifo_read(void *v)
/*
* Set access flag.
*/
- VTOI(ap->a_vp)->i_flag |= IN_ACCESS;
+ VTOI(ap->a_vp)->i_state |= IN_ACCESS;
return (VOCALL (fifo_vnodeop_p, VOFFSET(vop_read), ap));
}
@@ -1044,7 +1044,7 @@ ulfsfifo_write(void *v)
/*
* Set update and change flags.
*/
- VTOI(ap->a_vp)->i_flag |= IN_MODIFY;
+ VTOI(ap->a_vp)->i_state |= IN_MODIFY;
return (VOCALL (fifo_vnodeop_p, VOFFSET(vop_write), ap));
}
@@ -1235,7 +1235,7 @@ ulfs_gop_markupdate(struct vnode *vp, in
if (mask) {
struct inode *ip = VTOI(vp);
- ip->i_flag |= mask;
+ ip->i_state |= mask;
}
}