[SSI] openssi/kernel/include/linux config.h, 1.26, 1.27 dpvproc.h, 1.16, 1.17 nd_origin.h, 1.5, 1.6 vproc.h, 1.25, 1.26

Roger Tsang <[email protected]>
Newsgroups gmane.linux.cluster.ssic.cvs
Message-ID <[email protected]>
Update of /cvsroot/ssic-linux/openssi/kernel/include/linux
In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv29491/include/linux

Modified Files:
      Tag: OPENSSI-FC
	config.h dpvproc.h nd_origin.h vproc.h 
Log Message:
Bug fixes and enhancements (see ChangeLog)


Index: config.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/linux/config.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- config.h	24 Feb 2009 01:51:47 -0000	1.26
+++ config.h	24 Mar 2009 04:26:29 -0000	1.27
@@ -35,7 +35,6 @@
 /*
  * Fixes
  */
-#define CFS_WRITEPAGES_AT_SVR_SKIP_BDI
 #define CFS_MIRROR_LOCK_WAIT
 #define CLMS_CLIENT_PERFORM_NODEUP_DISCOVER_MOUNTS
 #define REOP_EXPORT_PATH_SVRNODE
@@ -91,6 +90,12 @@
 #define CFS_STALE_SUPER_BLOCKS
 #define CFS_IPCSHM_DENTRY
 #define SSI_DCACHE_RACE_FIX
+#define WRITE_LOADLIST_FIX
+#define PROC_CLUSTER_DIR_ENTRY_FIX
+#define CFS_VFSMOUNT_RACE_FIX
+#define SSI_RW_VERIFY_AREA_FIX
+#define VPROC_LOCKING_CONTEXT_FIX
+#define VPROC_CARECOUNT_FIX
 
 /*
  * Experimental
@@ -100,7 +105,7 @@
 #define RMTSOCK_SENDMSG_IOVECS
 #define SSI_CFS_NEGDCACHE
 #ifdef REOP_EXPORT_PATH_SVRNODE
-/* #  define SSI_SOCK_REOP_TYPE */
+#  define SSI_SOCK_REOP_TYPE
 #endif
 
 #ifdef CFSD_OPEN
@@ -202,10 +207,12 @@
 #define NSC_ASYNC_LINUX_LIST
 
 #ifdef CFS_PAGEVEC
-/* Avoid remote scatter/gather I/O */
+/* Avoid remote scatter/gather I/O. Not enabled by default. */
+#if 0
 #  define CFS_PAGEVEC_BUFFER_READ
 #  define CFS_PAGEVEC_BUFFER_WRITE
 #endif
+#endif
 
 #define NSC_ASYNC_SLAB_NOFS__FLAG
 
@@ -241,17 +248,39 @@
 #  define NSC_ASYNC_ENTRY_KMEM_CACHE
 #endif
 
-#if defined(CFSTOKHOLD_LINUX_LIST) && defined(CFS_ZAP_CACHES) && defined(CLITOK_KMEM_CACHE)
-#  define CFSTOK_INTR
+#define LINUX_SSI_INTERRUPTIBLE
+
+#if defined(LINUX_SSI_INTERRUPTIBLE) && defined(CFSTOKHOLD_LINUX_LIST) && defined(CFS_ZAP_CACHES)
+/* NOTYET need to prevent pre-emptive req_release #  define CFSTOK_INTR */
 #endif
 
 #define RMTUNIX_SOCK_INFO_CACHE
 #define NSC_IPC_RWLOCK_DOWNGRADE
+/* NOTYET #define SSI_LOOKUP_DENTRY_HASH */
+
+#if defined(LINUX_SSI_INTERRUPTIBLE) && defined(KERNEL2616_53)
+#  define CFS_INTR
+#endif
+
+#ifdef KERNEL2616_53
+#  define CFS_FLOCK
+#endif
+
+#ifdef CFS_INTR
+/* NOTYET #  define CFS_FLAGS_BITOPS */
+#endif
+
+#ifdef VPROC_RCU_LIST
+#  define PROC_LARGE_MAXPIDS
+#endif
+
+#ifdef CFS_READAHEAD
+#define CFS_BDI
+#endif
 
 /*
  * High-Availability / Failover
  */
-#define CFS_DECODE_FH
 #define SHRINK_ICACHE_SB
 #define CFS_MIGRATE_ACTIVE_PFS
 
@@ -265,7 +294,9 @@
 /*
  * Workarounds
  */
-#define SSI_SKIP_RW_VERIFY_AREA
+#ifndef CFS_BDI
+#define CFS_WRITEPAGES_AT_SVR_SKIP_BDI
+#endif
 
 /*
  * Debug

Index: dpvproc.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/linux/dpvproc.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- dpvproc.h	3 Feb 2009 06:18:13 -0000	1.16
+++ dpvproc.h	24 Mar 2009 04:26:29 -0000	1.17
@@ -643,6 +643,9 @@
 		WAIT_INTR_EVENT(&(PVP((v))->pvp_wait_event), B_TRUE,	\
 				(_intr));				\
 		} while(0)
+#define VPROC_WAIT_EVENT_SIGNAL(v) do {					\
+		SIGNAL_INTR_EVENT(&(PVP((v))->pvp_wait_event));		\
+		} while(0)
 #define VPROC_WAIT_EVENT_BROADCAST(v) do {				\
 		BROADCAST_INTR_EVENT(&(PVP((v))->pvp_wait_event));	\
 		} while(0)

Index: nd_origin.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/linux/nd_origin.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- nd_origin.h	3 Feb 2009 06:18:14 -0000	1.5
+++ nd_origin.h	24 Mar 2009 04:26:29 -0000	1.6
@@ -31,7 +31,12 @@
 	hlist_for_each_entry(_vod, _pos, &vproc_origin_list, vod_list)
 #endif /* !RCU_VPROC_ORIGIN_LIST */
 #endif /* VOD_HLIST */
+#ifdef VPROC_LOCKING_CONTEXT_FIX
+#define	VOD_GET(vodp) atomic_inc(&((vodp)->vod_refcnt))
+#define	VOD_PUT(vodp) atomic_dec(&((vodp)->vod_refcnt))
+#else
 	RW_LOCK_T			vod_rwlock;
+#endif
 	clusternode_t			vod_node;
 	int				vod_flags;
 	SPIN_LOCK_T			vod_mutex;

Index: vproc.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/linux/vproc.h,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- vproc.h	9 Feb 2009 05:00:36 -0000	1.25
+++ vproc.h	24 Mar 2009 04:26:29 -0000	1.26
@@ -125,10 +125,17 @@
  * some nodedown code.
  */
 #define VPROCPTR(pid)		(vprocptr(pid, TRUE))
+#ifndef VPROC_RCU_LIST
 #define VPROCPTR_NOLOCK(pid)	(vprocptr(pid, FALSE))
 #ifdef VPROC_RELEASE__REFCNT_RACE_FIX
 #define VPROCPTR_NOHOLD(pid)	(vprocptr(pid, -1))
 #endif
+#else /* VPROC_RCU_LIST */
+#define VPROCPTR_NOLOCK(pid)	VPROCPTR(pid)
+#ifdef VPROC_RELEASE__REFCNT_RACE_FIX
+#define VPROCPTR_NOHOLD(pid)	(vprocptr(pid, 0))
+#endif
+#endif /* VPROC_RCU_LIST */
 #define VPROCPTR_VALID(v)	(v->vp_magic == VP_MAGIC)
 
 /* LOCATE_VPROC_PID() option flags */
@@ -145,7 +152,11 @@
 #define LOCATE_VPROC_PID_ORIGIN(pid, str) \
 			(*locate_vproc_pid_routine)(pid, str, LVP_ORIGIN)
 
+#ifdef VPROC_RELEASE__REFCNT_RACE_FIX
+extern struct vproc *vproc_hold(struct vproc *, int);
+#else
 extern int vproc_hold(struct vproc *, int);
+#endif
 extern int vproc_release(struct vproc *);
 /*
  * Macros which define the existence rules for a vproc.
@@ -166,7 +177,7 @@
 #define	VPROC_RELE(v, str)	DECREMENT_VP_REFCNT((v), (str))
 #ifdef VPROC_RELEASE__REFCNT_RACE_FIX
 /* SSI_XXX to support VPROC_DEBUG */
-#define	VPROC_HOLD_AND_CHECK(v, str)	(vproc_hold((v), 1) == ESUCCESS)
+#define	VPROC_HOLD_AND_CHECK(v, str)	vproc_hold((v), 1)
 #define VPROC_RELE_PID(_pid, str)	VPROC_RELE(VPROCPTR_NOHOLD(_pid), str)
 #else
 #define VPROC_RELE_PID(_pid, str)	VPROC_RELE(VPROCPTR(_pid), str)


------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.