--- old/usr/src/uts/common/sys/fs/cachefs_fscache.h	Sat Sep 12 00:41:34 2015
+++ /dev/null	Fri Sep 11 21:22:37 2015
@@ -1,233 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License").  You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SYS_FS_CACHEFS_FSCACHE_H
-#define	_SYS_FS_CACHEFS_FSCACHE_H
-
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define	CFS_FS_FGP_BUCKET_SIZE	64	/* must be a power of 2 */
-#define	CFS_FS_MAXIDLE 100
-
-enum cachefs_connected {
-	CFS_CD_CONNECTED = 0x801,	/* connected to back fs */
-	CFS_CD_DISCONNECTED,		/* disconnected from back fs */
-	CFS_CD_RECONNECTING		/* rolling log to back fs */
-};
-
-typedef struct cachefs_stats {
-	uint_t	st_hits;
-	uint_t	st_misses;
-	uint_t	st_passes;
-	uint_t	st_fails;
-	uint_t	st_modifies;
-	uint_t	st_gc_count;
-	cfs_time_t	st_gc_time;
-	cfs_time_t	st_gc_before_atime;
-	cfs_time_t	st_gc_after_atime;
-} cachefs_stats_t;
-
-/* file system persistant state */
-struct cachefs_fsinfo {
-	uint_t		fi_mntflags;		/* mount flags */
-	int		fi_popsize;		/* cache population size */
-	ino64_t		fi_root;		/* inode # of root of fs */
-	uint_t		fi_resettimes;		/* when to reset local times */
-	uint_t		fi_resetfileno;		/* when to reset local fileno */
-	ino64_t		fi_localfileno;		/* next local fileno to use */
-	int		fi_fgsize;		/* filegrp size, default 256 */
-	uint_t		fi_pad[1];		/* pad field */
-};
-typedef struct cachefs_fsinfo cachefs_fsinfo_t;
-
-/*
- * used to translate the server's idea of inode numbers into the
- * client's idea, after a reconnect, in a directory entry a la
- * readdir()
- */
-
-typedef struct cachefs_inum_trans {
-	ino64_t cit_real;
-	ino64_t cit_fake;
-} cachefs_inum_trans_t;
-
-extern int cachefs_hash_sizes[];
-
-/*
- * fscache structure contains per-filesystem information, both filesystem
- * cache directory information and mount-specific information.
- */
-struct fscache {
-	ino64_t			 fs_cfsid;	/* File system ID */
-	int			 fs_flags;
-	struct vnode		*fs_fscdirvp;	/* vp to fs cache dir */
-	struct vnode		*fs_fsattrdir;	/* vp to attrcache dir */
-	struct vnode		*fs_infovp;	/* vp to fsinfo file */
-	struct cachefscache	*fs_cache;	/* back ptr to cache struct */
-	cachefs_fsinfo_t	 fs_info;	/* fs persistant state */
-	struct vfs		*fs_cfsvfsp;	/* cfs vfsp */
-	struct vfs		*fs_backvfsp;	/* back file system vfsp */
-	struct vnode		*fs_rootvp;	/* root vnode ptr */
-	offset_t		 fs_offmax;	/* maximum offset if backvp */
-	int			 fs_ref;	/* ref count on fscache */
-	int			 fs_cnodecnt;	/* cnt of cnodes on fscache */
-	int			 fs_consttype;	/* type of consistency check */
-	struct cachefsops	*fs_cfsops;	/* cfsops vector pointer */
-	uint_t			 fs_acregmin;	/* same as nfs values */
-	uint_t			 fs_acregmax;
-	uint_t			 fs_acdirmin;
-	uint_t			 fs_acdirmax;
-	struct fscache		*fs_next;	/* ptr to next fscache */
-	struct cachefs_workq	 fs_workq;	/* async thread work queue */
-
-	kmutex_t		 fs_fslock;	/* contents lock */
-
-	struct vnode		*fs_dlogfile;	/* log file */
-	off_t			 fs_dlogoff;	/* offset into log file */
-	uint_t			 fs_dlogseq;	/* sequence number */
-	struct vnode		*fs_dmapfile;	/* map file */
-	off_t			 fs_dmapoff;	/* offset into map file */
-	off_t			 fs_dmapsize;	/* size of map file */
-	kmutex_t		 fs_dlock;	/* protects d* variables */
-
-	kmutex_t		 fs_idlelock;	/* idle* lock */
-	int			 fs_idlecnt;	/* number of idle cnodes */
-	int			 fs_idleclean;	/* cleaning idle list */
-	struct cnode		*fs_idlefront;	/* front of idle list */
-
-	/* related to connected or disconnected (cd) */
-	kmutex_t		 fs_cdlock;	/* protects fs_cd* variables */
-	kcondvar_t		 fs_cdwaitcv;	/* signal state transitions */
-	enum cachefs_connected	 fs_cdconnected; /* how connected to backfs */
-	int			 fs_cdtransition; /* 1 transitioning, 0 not */
-	pid_t			 fs_cddaemonid;	/* pid of cachefsd */
-	int			 fs_cdrefcnt;	/* # threads in cachefs */
-
-	struct cnode		*fs_idleback;	/* back of idle list */
-
-	cachefs_inum_trans_t	*fs_inum_trans;	/* real->fake inums */
-	int			 fs_inum_size;	/* # fs_inum_trans alloced */
-
-	/* list of fgps */
-	struct filegrp		*fs_filegrp[CFS_FS_FGP_BUCKET_SIZE];
-
-	timestruc_t		 fs_cod_time;	/* time of CoD event */
-	int			 fs_kstat_id;
-	cachefs_stats_t		 fs_stats;
-	char			 *fs_mntpt;
-	char			 *fs_hostname;
-	char			 *fs_backfsname;
-};
-typedef struct fscache fscache_t;
-
-extern struct kmem_cache *cachefs_fscache_cache;
-
-/* valid fscache flags */
-#define	CFS_FS_MOUNTED		0x01	/* fscache is mounted */
-#define	CFS_FS_READ		0x02	/* fscache can be read */
-#define	CFS_FS_WRITE		0x04	/* fscache can be written */
-#define	CFS_FS_ROOTFS		0x08	/* fscache is / */
-#define	CFS_FS_DIRTYINFO	0x10	/* fs_info needs to be written */
-#define	CFS_FS_HASHPRINT	0x20	/* hash warning already printed once */
-
-/* types of consistency checking */
-#define	CFS_FS_CONST_STRICT	11	/* strict consistency */
-#define	CFS_FS_CONST_NOCONST	12	/* no consistency */
-#define	CFS_FS_CONST_CODCONST	13	/* consistency on demand */
-
-#define	CFSOP_INIT_COBJECT(FSCP, CP, VAP, CR)	\
-	(*(FSCP)->fs_cfsops->co_init_cobject)(FSCP, CP, VAP, CR)
-#define	CFSOP_CHECK_COBJECT(FSCP, CP, WHAT, CR)	\
-	(*(FSCP)->fs_cfsops->co_check_cobject)(FSCP, CP, WHAT, CR)
-#define	CFSOP_MODIFY_COBJECT(FSCP, CP, CR)	\
-	(*(FSCP)->fs_cfsops->co_modify_cobject)(FSCP, CP, CR)
-#define	CFSOP_INVALIDATE_COBJECT(FSCP, CP, CR)	\
-	(*(FSCP)->fs_cfsops->co_invalidate_cobject)(FSCP, CP, CR)
-#define	CFSOP_CONVERT_COBJECT(FSCP, CP, CR)	\
-	(*(FSCP)->fs_cfsops->co_convert_cobject)(FSCP, CP, CR)
-
-#define	CFS_ISFS_SNR(FSCP) \
-	((FSCP)->fs_info.fi_mntflags & CFS_DISCONNECTABLE)
-#define	CFS_ISFS_SOFT(FSCP) \
-	((FSCP)->fs_info.fi_mntflags & CFS_SOFT)
-
-#define	CFS_ISFS_WRITE_AROUND(FSCP) \
-	((FSCP)->fs_info.fi_mntflags & CFS_WRITE_AROUND)
-#define	CFS_ISFS_NONSHARED(FSCP) \
-	((FSCP)->fs_info.fi_mntflags & CFS_NONSHARED)
-
-#define	CFS_ISFS_STRICT(FSCP) \
-	(((FSCP)->fs_info.fi_mntflags & CFS_WRITE_AROUND) && \
-	(((FSCP)->fs_info.fi_mntflags & \
-		(CFS_NOCONST_MODE | CFS_CODCONST_MODE)) == 0))
-#define	CFS_ISFS_NOCONST(FSCP) \
-	((FSCP)->fs_info.fi_mntflags & CFS_NOCONST_MODE)
-#define	CFS_ISFS_CODCONST(FSCP) \
-	((FSCP)->fs_info.fi_mntflags & CFS_CODCONST_MODE)
-
-#define	CFS_ISFS_LLOCK(FSCP) \
-	((FSCP)->fs_info.fi_mntflags & CFS_LLOCK)
-#define	CFS_ISFS_BACKFS_NFSV4(FSCP) \
-	((FSCP)->fs_info.fi_mntflags & CFS_BACKFS_NFSV4)
-
-fscache_t *fscache_create(cachefscache_t *cachep);
-void fscache_destory(fscache_t *fscp);
-int fscache_activate(fscache_t *fscp, ino64_t fsid, char *namep,
-	struct cachefsoptions *optp, ino64_t backfileno);
-int fscache_enable(fscache_t *fscp, ino64_t fsid, char *namep,
-	struct cachefsoptions *optp, ino64_t backfileno);
-void fscache_activate_rw(fscache_t *fscp);
-void fscache_hold(fscache_t *fscp);
-void fscache_rele(fscache_t *fscp);
-int fscache_cnodecnt(fscache_t *fscp, int cnt);
-int fscache_mounted(fscache_t *fscp, struct vfs *cfsvfsp, struct vfs *backvfsp);
-int fscache_compare_options(fscache_t *fscp, struct cachefsoptions *opnewp);
-void fscache_sync(fscache_t *fscp);
-void fscache_acset(fscache_t *fscp,
-	uint_t acregmin, uint_t acregmax, uint_t acdirmin, uint_t acdirmax);
-
-fscache_t *fscache_list_find(cachefscache_t *cachep, ino64_t fsid);
-void fscache_list_add(cachefscache_t *cachep, fscache_t *fscp);
-void fscache_list_remove(cachefscache_t *cachep, fscache_t *fscp);
-void fscache_list_gc(cachefscache_t *cachep);
-int fscache_list_mounted(cachefscache_t *cachep);
-
-int fscache_name_to_fsid(cachefscache_t *cachep, char *namep, ino64_t *fsidp);
-
-int cachefs_cd_access(fscache_t *fscp, int waitconnected, int writing);
-int cachefs_cd_access_miss(fscache_t *fscp);
-void cachefs_cd_release(fscache_t *fscp);
-void cachefs_cd_timedout(fscache_t *fscp);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SYS_FS_CACHEFS_FSCACHE_H */
