Module Name:    src
Committed By:   dholland
Date:           Tue Jun 18 08:01:00 UTC 2013

Modified Files:
        src/sys/ufs/lfs: lfs.h lfs_inode.h ulfs_inode.h

Log Message:
Tuck away a bunch of symbols that don't need to be public.


To generate a diff of this commit:
cvs rdiff -u -r1.152 -r1.153 src/sys/ufs/lfs/lfs.h
cvs rdiff -u -r1.4 -r1.5 src/sys/ufs/lfs/lfs_inode.h
cvs rdiff -u -r1.7 -r1.8 src/sys/ufs/lfs/ulfs_inode.h

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.h
diff -u src/sys/ufs/lfs/lfs.h:1.152 src/sys/ufs/lfs/lfs.h:1.153
--- src/sys/ufs/lfs/lfs.h:1.152	Sun Jun  9 00:13:55 2013
+++ src/sys/ufs/lfs/lfs.h	Tue Jun 18 08:01:00 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs.h,v 1.152 2013/06/09 00:13:55 dholland Exp $	*/
+/*	$NetBSD: lfs.h,v 1.153 2013/06/18 08:01:00 dholland Exp $	*/
 
 /*  from NetBSD: dinode.h,v 1.22 2013/01/22 09:39:18 dholland Exp  */
 /*  from NetBSD: dir.h,v 1.21 2009/07/22 04:49:19 dholland Exp  */
@@ -205,84 +205,11 @@
 /*
  * Adjustable filesystem parameters
  */
-#define MIN_FREE_SEGS	20
-#define MIN_RESV_SEGS	15
 #ifndef LFS_ATIME_IFILE
 # define LFS_ATIME_IFILE 0 /* Store atime info in ifile (optional in LFSv1) */
 #endif
 #define LFS_MARKV_MAXBLKCNT	65536	/* Max block count for lfs_markv() */
 
-/* Misc. definitions */
-#define BW_CLEAN	1		/* Flag for lfs_bwrite_ext() */
-#define PG_DELWRI	PG_PAGER1	/* Local def for delayed pageout */
-
-/* Resource limits */
-#define	LFS_MAX_RESOURCE(x, u)	(((x) >> 2) - 10 * (u))
-#define	LFS_WAIT_RESOURCE(x, u)	(((x) >> 1) - ((x) >> 3) - 10 * (u))
-#define	LFS_INVERSE_MAX_RESOURCE(x, u)	(((x) + 10 * (u)) << 2)
-#define LFS_MAX_BUFS	    LFS_MAX_RESOURCE(nbuf, 1)
-#define LFS_WAIT_BUFS	    LFS_WAIT_RESOURCE(nbuf, 1)
-#define LFS_INVERSE_MAX_BUFS(n)	LFS_INVERSE_MAX_RESOURCE(n, 1)
-#define LFS_MAX_BYTES	    LFS_MAX_RESOURCE(bufmem_lowater, PAGE_SIZE)
-#define LFS_INVERSE_MAX_BYTES(n) LFS_INVERSE_MAX_RESOURCE(n, PAGE_SIZE)
-#define LFS_WAIT_BYTES	    LFS_WAIT_RESOURCE(bufmem_lowater, PAGE_SIZE)
-#define LFS_MAX_DIROP	    ((desiredvnodes >> 2) + (desiredvnodes >> 3))
-#define SIZEOF_DIROP(fs)	(2 * ((fs)->lfs_bsize + LFS_DINODE1_SIZE))
-#define LFS_MAX_FSDIROP(fs)						\
-	((fs)->lfs_nclean <= (fs)->lfs_resvseg ? 0 :			\
-	 (((fs)->lfs_nclean - (fs)->lfs_resvseg) * (fs)->lfs_ssize) /	\
-          (2 * SIZEOF_DIROP(fs)))
-#define LFS_MAX_PAGES	lfs_max_pages()
-#define LFS_WAIT_PAGES	lfs_wait_pages()
-#define LFS_BUFWAIT	    2	/* How long to wait if over *_WAIT_* */
-
-#ifdef _KERNEL
-int lfs_wait_pages(void);
-int lfs_max_pages(void);
-#endif /* _KERNEL */
-
-/* How starved can we be before we start holding back page writes */
-#define LFS_STARVED_FOR_SEGS(fs) ((fs)->lfs_nclean < (fs)->lfs_resvseg)
-
-/*
- * Reserved blocks for lfs_malloc
- */
-
-/* Structure to keep reserved blocks */
-typedef struct lfs_res_blk {
-	void *p;
-	LIST_ENTRY(lfs_res_blk) res;
-	int size;
-	char inuse;
-} res_t;
-
-/* Types for lfs_newbuf and lfs_malloc */
-#define LFS_NB_UNKNOWN -1
-#define LFS_NB_SUMMARY	0
-#define LFS_NB_SBLOCK	1
-#define LFS_NB_IBLOCK	2
-#define LFS_NB_CLUSTER	3
-#define LFS_NB_CLEAN	4
-#define LFS_NB_BLKIOV	5
-#define LFS_NB_COUNT	6 /* always last */
-
-/* Number of reserved memory blocks of each type */
-#define LFS_N_SUMMARIES 2
-#define LFS_N_SBLOCKS	1   /* Always 1, to throttle superblock writes */
-#define LFS_N_IBLOCKS	16  /* In theory ssize/bsize; in practice around 2 */
-#define LFS_N_CLUSTERS	16  /* In theory ssize/MAXPHYS */
-#define LFS_N_CLEAN	0
-#define LFS_N_BLKIOV	1
-
-/* Total count of "large" (non-pool) types */
-#define LFS_N_TOTAL (LFS_N_SUMMARIES + LFS_N_SBLOCKS + LFS_N_IBLOCKS +	\
-		     LFS_N_CLUSTERS + LFS_N_CLEAN + LFS_N_BLKIOV)
-
-/* Counts for pool types */
-#define LFS_N_CL	LFS_N_CLUSTERS
-#define LFS_N_BPP	2
-#define LFS_N_SEG	2
-
 /*
  * Directories
  */
@@ -519,9 +446,6 @@ struct ulfs2_dinode {
 /* Unused logical block number */
 #define LFS_UNUSED_LBN	-1
 
-/* Determine if a buffer belongs to the ifile */
-#define IS_IFILE(bp)	(VTOI(bp->b_vp)->i_number == LFS_IFILE_INUM)
-
 # define LFS_LOCK_BUF(bp) do {						\
 	if (((bp)->b_flags & B_LOCKED) == 0 && bp->b_iodone == NULL) {	\
 		mutex_enter(&lfs_lock);					\
@@ -545,111 +469,10 @@ struct ulfs2_dinode {
 	(bp)->b_flags &= ~B_LOCKED;					\
 } while (0)
 
-#ifdef _KERNEL
-
-extern u_long bufmem_lowater, bufmem_hiwater; /* XXX */
-
-# define LFS_IS_MALLOC_BUF(bp) ((bp)->b_iodone == lfs_callback)
-
-# ifdef DEBUG
-#  define LFS_DEBUG_COUNTLOCKED(m) do {					\
-	if (lfs_debug_log_subsys[DLOG_LLIST]) {				\
-		lfs_countlocked(&locked_queue_count, &locked_queue_bytes, (m)); \
-		cv_broadcast(&locked_queue_cv);				\
-	}								\
-} while (0)
-# else
-#  define LFS_DEBUG_COUNTLOCKED(m)
-# endif
-
-/* log for debugging writes to the Ifile */
-# ifdef DEBUG
-struct lfs_log_entry {
-	const char *op;
-	const char *file;
-	int pid;
-	int line;
-	daddr_t block;
-	unsigned long flags;
-};
-extern int lfs_lognum;
-extern struct lfs_log_entry lfs_log[LFS_LOGLENGTH];
-#  define LFS_BWRITE_LOG(bp) lfs_bwrite_log((bp), __FILE__, __LINE__)
-#  define LFS_ENTER_LOG(theop, thefile, theline, lbn, theflags, thepid) do {\
-	int _s;								\
-									\
-	mutex_enter(&lfs_lock);						\
-	_s = splbio();							\
-	lfs_log[lfs_lognum].op = theop;					\
-	lfs_log[lfs_lognum].file = thefile;				\
-	lfs_log[lfs_lognum].line = (theline);				\
-	lfs_log[lfs_lognum].pid = (thepid);				\
-	lfs_log[lfs_lognum].block = (lbn);				\
-	lfs_log[lfs_lognum].flags = (theflags);				\
-	lfs_lognum = (lfs_lognum + 1) % LFS_LOGLENGTH;			\
-	splx(_s);							\
-	mutex_exit(&lfs_lock);						\
-} while (0)
-
-#  define LFS_BCLEAN_LOG(fs, bp) do {					\
-	if ((bp)->b_vp == (fs)->lfs_ivnode)				\
-		LFS_ENTER_LOG("clear", __FILE__, __LINE__,		\
-			      bp->b_lblkno, bp->b_flags, curproc->p_pid);\
-} while (0)
-
-/* Must match list in lfs_vfsops.c ! */
-#  define DLOG_RF     0  /* roll forward */
-#  define DLOG_ALLOC  1  /* inode alloc */
-#  define DLOG_AVAIL  2  /* lfs_{,r,f}avail */
-#  define DLOG_FLUSH  3  /* flush */
-#  define DLOG_LLIST  4  /* locked list accounting */
-#  define DLOG_WVNODE 5  /* vflush/writevnodes verbose */
-#  define DLOG_VNODE  6  /* vflush/writevnodes */
-#  define DLOG_SEG    7  /* segwrite */
-#  define DLOG_SU     8  /* seguse accounting */
-#  define DLOG_CLEAN  9  /* cleaner routines */
-#  define DLOG_MOUNT  10 /* mount/unmount */
-#  define DLOG_PAGE   11 /* putpages/gop_write */
-#  define DLOG_DIROP  12 /* dirop accounting */
-#  define DLOG_MALLOC 13 /* lfs_malloc accounting */
-#  define DLOG_MAX    14 /* The terminator */
-#  define DLOG(a) lfs_debug_log a
-# else /* ! DEBUG */
-#  define LFS_BCLEAN_LOG(fs, bp)
-#  define LFS_BWRITE_LOG(bp)		VOP_BWRITE((bp)->b_vp, (bp))
-#  define DLOG(a)
-# endif /* ! DEBUG */
-#else /* ! _KERNEL */
-# define LFS_BWRITE_LOG(bp)		VOP_BWRITE((bp))
-#endif /* _KERNEL */
-
-#ifdef _KERNEL
-/* This overlays the fid structure (see fstypes.h). */
-struct ulfs_ufid {
-	u_int16_t ufid_len;	/* Length of structure. */
-	u_int16_t ufid_pad;	/* Force 32-bit alignment. */
-	u_int32_t ufid_ino;	/* File number (ino). */
-	int32_t	  ufid_gen;	/* Generation number. */
-};
-/* Filehandle structure for exported LFSes */
-struct lfid {
-	struct ulfs_ufid lfid_ufid;
-#define lfid_len lfid_ufid.ufid_len
-#define lfid_ino lfid_ufid.ufid_ino
-#define lfid_gen lfid_ufid.ufid_gen
-	uint32_t lfid_ident;
-};
-#endif /* _KERNEL */
-
 /*
  * "struct inode" associated definitions
  */
 
-/* Address calculations for metadata located in the inode */
-#define	S_INDIR(fs)	-ULFS_NDADDR
-#define	D_INDIR(fs)	(S_INDIR(fs) - NINDIR(fs) - 1)
-#define	T_INDIR(fs)	(D_INDIR(fs) - NINDIR(fs) * NINDIR(fs) - 1)
-
 /* For convenience */
 #define IN_ALLMOD (IN_MODIFIED|IN_ACCESS|IN_CHANGE|IN_UPDATE|IN_MODIFY|IN_ACCESSED|IN_CLEANING)
 
@@ -681,20 +504,6 @@ struct lfid {
 		lfs_itimes(ip, acc, mod, cre)
 
 /*
- * "struct vnode" associated definitions
- */
-
-/* Heuristic emptiness measure */
-#define VPISEMPTY(vp)	 (LIST_EMPTY(&(vp)->v_dirtyblkhd) && 		\
-			  !(vp->v_type == VREG && (vp)->v_iflag & VI_ONWORKLST) &&\
-			  VTOI(vp)->i_lfs_nbtree == 0)
-
-#define WRITEINPROG(vp) ((vp)->v_numoutput > 0 ||			\
-	(!LIST_EMPTY(&(vp)->v_dirtyblkhd) &&				\
-	 !(VTOI(vp)->i_flag & (IN_MODIFIED | IN_ACCESSED | IN_CLEANING))))
-
-
-/*
  * On-disk and in-memory checkpoint segment usage structure.
  */
 typedef struct segusage SEGUSE;
@@ -1164,7 +973,7 @@ struct lfs {
 	int	  lfs_nadirop;		/* number of active dirop nodes */
 	long	  lfs_ravail;		/* blocks pre-reserved for writing */
 	long	  lfs_favail;		/* blocks pre-reserved for writing */
-	res_t *lfs_resblk;		/* Reserved memory for pageout */
+	struct lfs_res_blk *lfs_resblk;	/* Reserved memory for pageout */
 	TAILQ_HEAD(, inode) lfs_dchainhd; /* dirop vnodes */
 	TAILQ_HEAD(, inode) lfs_pchainhd; /* paging vnodes */
 #define LFS_RESHASH_WIDTH 17

Index: src/sys/ufs/lfs/lfs_inode.h
diff -u src/sys/ufs/lfs/lfs_inode.h:1.4 src/sys/ufs/lfs/lfs_inode.h:1.5
--- src/sys/ufs/lfs/lfs_inode.h:1.4	Sun Jun  9 00:13:55 2013
+++ src/sys/ufs/lfs/lfs_inode.h	Tue Jun 18 08:01:00 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: lfs_inode.h,v 1.4 2013/06/09 00:13:55 dholland Exp $	*/
+/*	$NetBSD: lfs_inode.h,v 1.5 2013/06/18 08:01:00 dholland Exp $	*/
 /*  from NetBSD: ulfs_inode.h,v 1.5 2013/06/06 00:51:50 dholland Exp  */
 /*  from NetBSD: inode.h,v 1.64 2012/11/19 00:36:21 jakllsch Exp  */
 
@@ -52,6 +52,12 @@
 #include <ufs/lfs/lfs.h>
 
 /*
+ * Adjustable filesystem parameters
+ */
+#define MIN_FREE_SEGS	20
+#define MIN_RESV_SEGS	15
+
+/*
  * The following constants define the usage of the quota file array in the
  * ulfsmount structure and dquot array in the inode structure.  The semantics
  * of the elements of these arrays are defined in the routine lfs_getinoquota;
@@ -245,5 +251,85 @@ struct lfs_inode_ext {
 #define i_lfs_segdhd		inode_ext.lfs->lfs_segdhd
 #define i_lfs_odnlink		inode_ext.lfs->lfs_odnlink
 
+/*
+ * "struct buf" associated definitions
+ */
+
+#ifdef _KERNEL
+
+# define LFS_IS_MALLOC_BUF(bp) ((bp)->b_iodone == lfs_callback)
+
+# ifdef DEBUG
+#  define LFS_DEBUG_COUNTLOCKED(m) do {					\
+	if (lfs_debug_log_subsys[DLOG_LLIST]) {				\
+		lfs_countlocked(&locked_queue_count, &locked_queue_bytes, (m)); \
+		cv_broadcast(&locked_queue_cv);				\
+	}								\
+} while (0)
+# else
+#  define LFS_DEBUG_COUNTLOCKED(m)
+# endif
+
+/* log for debugging writes to the Ifile */
+# ifdef DEBUG
+struct lfs_log_entry {
+	const char *op;
+	const char *file;
+	int pid;
+	int line;
+	daddr_t block;
+	unsigned long flags;
+};
+extern int lfs_lognum;
+extern struct lfs_log_entry lfs_log[LFS_LOGLENGTH];
+#  define LFS_BWRITE_LOG(bp) lfs_bwrite_log((bp), __FILE__, __LINE__)
+#  define LFS_ENTER_LOG(theop, thefile, theline, lbn, theflags, thepid) do {\
+	int _s;								\
+									\
+	mutex_enter(&lfs_lock);						\
+	_s = splbio();							\
+	lfs_log[lfs_lognum].op = theop;					\
+	lfs_log[lfs_lognum].file = thefile;				\
+	lfs_log[lfs_lognum].line = (theline);				\
+	lfs_log[lfs_lognum].pid = (thepid);				\
+	lfs_log[lfs_lognum].block = (lbn);				\
+	lfs_log[lfs_lognum].flags = (theflags);				\
+	lfs_lognum = (lfs_lognum + 1) % LFS_LOGLENGTH;			\
+	splx(_s);							\
+	mutex_exit(&lfs_lock);						\
+} while (0)
+
+#  define LFS_BCLEAN_LOG(fs, bp) do {					\
+	if ((bp)->b_vp == (fs)->lfs_ivnode)				\
+		LFS_ENTER_LOG("clear", __FILE__, __LINE__,		\
+			      bp->b_lblkno, bp->b_flags, curproc->p_pid);\
+} while (0)
+
+/* Must match list in lfs_vfsops.c ! */
+#  define DLOG_RF     0  /* roll forward */
+#  define DLOG_ALLOC  1  /* inode alloc */
+#  define DLOG_AVAIL  2  /* lfs_{,r,f}avail */
+#  define DLOG_FLUSH  3  /* flush */
+#  define DLOG_LLIST  4  /* locked list accounting */
+#  define DLOG_WVNODE 5  /* vflush/writevnodes verbose */
+#  define DLOG_VNODE  6  /* vflush/writevnodes */
+#  define DLOG_SEG    7  /* segwrite */
+#  define DLOG_SU     8  /* seguse accounting */
+#  define DLOG_CLEAN  9  /* cleaner routines */
+#  define DLOG_MOUNT  10 /* mount/unmount */
+#  define DLOG_PAGE   11 /* putpages/gop_write */
+#  define DLOG_DIROP  12 /* dirop accounting */
+#  define DLOG_MALLOC 13 /* lfs_malloc accounting */
+#  define DLOG_MAX    14 /* The terminator */
+#  define DLOG(a) lfs_debug_log a
+# else /* ! DEBUG */
+#  define LFS_BCLEAN_LOG(fs, bp)
+#  define LFS_BWRITE_LOG(bp)		VOP_BWRITE((bp)->b_vp, (bp))
+#  define DLOG(a)
+# endif /* ! DEBUG */
+#else /* ! _KERNEL */
+# define LFS_BWRITE_LOG(bp)		VOP_BWRITE((bp))
+#endif /* _KERNEL */
+
 
 #endif /* _UFS_LFS_LFS_INODE_H_ */

Index: src/sys/ufs/lfs/ulfs_inode.h
diff -u src/sys/ufs/lfs/ulfs_inode.h:1.7 src/sys/ufs/lfs/ulfs_inode.h:1.8
--- src/sys/ufs/lfs/ulfs_inode.h:1.7	Sat Jun  8 22:23:52 2013
+++ src/sys/ufs/lfs/ulfs_inode.h	Tue Jun 18 08:01:00 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: ulfs_inode.h,v 1.7 2013/06/08 22:23:52 dholland Exp $	*/
+/*	$NetBSD: ulfs_inode.h,v 1.8 2013/06/18 08:01:00 dholland Exp $	*/
 /*  from NetBSD: inode.h,v 1.64 2012/11/19 00:36:21 jakllsch Exp  */
 
 /*
@@ -45,6 +45,126 @@
 #include <ufs/lfs/ulfs_dinode.h>
 #include <ufs/lfs/ulfs_quotacommon.h>
 
+/* Misc. definitions */
+#define BW_CLEAN	1		/* Flag for lfs_bwrite_ext() */
+#define PG_DELWRI	PG_PAGER1	/* Local def for delayed pageout */
+
+/* Resource limits */
+#define	LFS_MAX_RESOURCE(x, u)	(((x) >> 2) - 10 * (u))
+#define	LFS_WAIT_RESOURCE(x, u)	(((x) >> 1) - ((x) >> 3) - 10 * (u))
+#define	LFS_INVERSE_MAX_RESOURCE(x, u)	(((x) + 10 * (u)) << 2)
+#define LFS_MAX_BUFS	    LFS_MAX_RESOURCE(nbuf, 1)
+#define LFS_WAIT_BUFS	    LFS_WAIT_RESOURCE(nbuf, 1)
+#define LFS_INVERSE_MAX_BUFS(n)	LFS_INVERSE_MAX_RESOURCE(n, 1)
+#define LFS_MAX_BYTES	    LFS_MAX_RESOURCE(bufmem_lowater, PAGE_SIZE)
+#define LFS_INVERSE_MAX_BYTES(n) LFS_INVERSE_MAX_RESOURCE(n, PAGE_SIZE)
+#define LFS_WAIT_BYTES	    LFS_WAIT_RESOURCE(bufmem_lowater, PAGE_SIZE)
+#define LFS_MAX_DIROP	    ((desiredvnodes >> 2) + (desiredvnodes >> 3))
+#define SIZEOF_DIROP(fs)	(2 * ((fs)->lfs_bsize + LFS_DINODE1_SIZE))
+#define LFS_MAX_FSDIROP(fs)						\
+	((fs)->lfs_nclean <= (fs)->lfs_resvseg ? 0 :			\
+	 (((fs)->lfs_nclean - (fs)->lfs_resvseg) * (fs)->lfs_ssize) /	\
+          (2 * SIZEOF_DIROP(fs)))
+#define LFS_MAX_PAGES	lfs_max_pages()
+#define LFS_WAIT_PAGES	lfs_wait_pages()
+#define LFS_BUFWAIT	    2	/* How long to wait if over *_WAIT_* */
+
+#ifdef _KERNEL
+extern u_long bufmem_lowater, bufmem_hiwater; /* XXX */
+
+int lfs_wait_pages(void);
+int lfs_max_pages(void);
+#endif /* _KERNEL */
+
+/* How starved can we be before we start holding back page writes */
+#define LFS_STARVED_FOR_SEGS(fs) ((fs)->lfs_nclean < (fs)->lfs_resvseg)
+
+/*
+ * Reserved blocks for lfs_malloc
+ */
+
+/* Structure to keep reserved blocks */
+typedef struct lfs_res_blk {
+	void *p;
+	LIST_ENTRY(lfs_res_blk) res;
+	int size;
+	char inuse;
+} res_t;
+
+/* Types for lfs_newbuf and lfs_malloc */
+#define LFS_NB_UNKNOWN -1
+#define LFS_NB_SUMMARY	0
+#define LFS_NB_SBLOCK	1
+#define LFS_NB_IBLOCK	2
+#define LFS_NB_CLUSTER	3
+#define LFS_NB_CLEAN	4
+#define LFS_NB_BLKIOV	5
+#define LFS_NB_COUNT	6 /* always last */
+
+/* Number of reserved memory blocks of each type */
+#define LFS_N_SUMMARIES 2
+#define LFS_N_SBLOCKS	1   /* Always 1, to throttle superblock writes */
+#define LFS_N_IBLOCKS	16  /* In theory ssize/bsize; in practice around 2 */
+#define LFS_N_CLUSTERS	16  /* In theory ssize/MAXPHYS */
+#define LFS_N_CLEAN	0
+#define LFS_N_BLKIOV	1
+
+/* Total count of "large" (non-pool) types */
+#define LFS_N_TOTAL (LFS_N_SUMMARIES + LFS_N_SBLOCKS + LFS_N_IBLOCKS +	\
+		     LFS_N_CLUSTERS + LFS_N_CLEAN + LFS_N_BLKIOV)
+
+/* Counts for pool types */
+#define LFS_N_CL	LFS_N_CLUSTERS
+#define LFS_N_BPP	2
+#define LFS_N_SEG	2
+
+/*
+ * "struct buf" associated definitions
+ */
+
+/* Determine if a buffer belongs to the ifile */
+#define IS_IFILE(bp)	(VTOI(bp->b_vp)->i_number == LFS_IFILE_INUM)
+
+#ifdef _KERNEL
+/* This overlays the fid structure (see fstypes.h). */
+struct ulfs_ufid {
+	u_int16_t ufid_len;	/* Length of structure. */
+	u_int16_t ufid_pad;	/* Force 32-bit alignment. */
+	u_int32_t ufid_ino;	/* File number (ino). */
+	int32_t	  ufid_gen;	/* Generation number. */
+};
+/* Filehandle structure for exported LFSes */
+struct lfid {
+	struct ulfs_ufid lfid_ufid;
+#define lfid_len lfid_ufid.ufid_len
+#define lfid_ino lfid_ufid.ufid_ino
+#define lfid_gen lfid_ufid.ufid_gen
+	uint32_t lfid_ident;
+};
+#endif /* _KERNEL */
+
+/* Address calculations for metadata located in the inode */
+#define	S_INDIR(fs)	-ULFS_NDADDR
+#define	D_INDIR(fs)	(S_INDIR(fs) - NINDIR(fs) - 1)
+#define	T_INDIR(fs)	(D_INDIR(fs) - NINDIR(fs) * NINDIR(fs) - 1)
+
+/*
+ * "struct vnode" associated definitions
+ */
+
+/* Heuristic emptiness measure */
+#define VPISEMPTY(vp)	 (LIST_EMPTY(&(vp)->v_dirtyblkhd) && 		\
+			  !(vp->v_type == VREG && (vp)->v_iflag & VI_ONWORKLST) &&\
+			  VTOI(vp)->i_lfs_nbtree == 0)
+
+#define WRITEINPROG(vp) ((vp)->v_numoutput > 0 ||			\
+	(!LIST_EMPTY(&(vp)->v_dirtyblkhd) &&				\
+	 !(VTOI(vp)->i_flag & (IN_MODIFIED | IN_ACCESSED | IN_CLEANING))))
+
+
+
+
+
 #if defined(_KERNEL)
 
 /*

Reply via email to