[SSI] openssi/kernel/include/cluster/gen cfs.svc, 1.4, 1.5 reopen.x, 1.5, 1.6

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

Modified Files:
      Tag: OPENSSI-FC
	cfs.svc reopen.x 
Log Message:
Bug fixes and enhancements. (see ChangeLog)


Index: reopen.x
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/cluster/gen/reopen.x,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- reopen.x	10 Oct 2008 08:10:33 -0000	1.5
+++ reopen.x	3 Feb 2009 06:18:13 -0000	1.6
@@ -38,6 +38,11 @@
 
 %#include <cluster/nsc.h>
 
+%#ifndef _PATHPAGEP_T
+%#define _PATHPAGEP_T
+%typedef	char *	pathpagep_t;
+%#endif
+
 #ifdef RPC_XDR
 %#include <cluster/rpc/xdr.h>
 %
@@ -53,6 +58,20 @@
 %	return xdr_opaque(xdrs, (void *)objp, sizeof(*objp));
 %}
 %
+%bool_t
+%xdr_pathpagep_t(XDR *xdrs, pathpagep_t *objp)
+%{
+%	switch (xdrs->x_op) {
+%	    case XDR_FREE:
+%		if (!*objp) break;
+%		free_page ((unsigned long) *objp);
+%	    case XDR_DECODE:
+%		*objp = NULL;
+%	    case XDR_ENCODE:
+%		;
+%	}
+%	return 1 /* true */;
+%}
 #endif /*RPC_XDR*/
 
 #define		MAX_DATA	96	/* NSC_XXX */
@@ -83,7 +102,8 @@
 	arch_ulong		ino;
 	__u32			generation;
 	arch_ulong		parent_ino;
-	arch_char		*pathpage;
+	/* This must be a pointer to a gfp allocated page, or NULL: */
+	pathpagep_t		pathpage;
 	string			pathname<>;
 	clusternode_t		svrnode;
 	arch_int		deleted;
@@ -94,9 +114,9 @@
 	filockdata_list_t	lckdata_info;
 };
 
+%#ifdef REOP_EXPORT_PATH_SVRNODE
 %#ifdef SSI_SOCK_REOP_TYPE
 struct	fb_data {
-	clusternode_t		svrnode;
 	arch_ulong		fileid;
 	arch_ulong		ino;
 	loff_t			pos;
@@ -112,6 +132,22 @@
 };
 %#else
 struct	fb_data {
+	arch_ulong		fileid;
+	arch_ulong		ino;
+	loff_t			pos;
+	arch_uint 		flags;
+	struct fown_struct	f_owner;
+#ifdef NOTYET
+	fbtokinfo  		fbtok;	 /* fbtok information */
+#endif
+	struct pathdata		*path;
+	arch_char		*rfb;    /* needed for clean-up */
+	mode_t	f_mode;
+};
+%#endif /* !SSI_SOCK_REOP_TYPE */
+%#define fb_svrnode	path->svrnode
+%#else
+struct	fb_data {
 	clusternode_t		svrnode;
 	arch_ulong		fileid;
 	arch_ulong		ino;

Index: cfs.svc
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/cluster/gen/cfs.svc,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- cfs.svc	20 Apr 2008 05:49:24 -0000	1.4
+++ cfs.svc	3 Feb 2009 06:18:13 -0000	1.5
@@ -62,9 +62,14 @@
 	/* OOL user pointers must go last. */
 	param OUT:OOL:VAR:USER char		**buffer
 #else
+#ifndef CFS_PAGEVEC_BUFFER_READ
 	param INOUT u_long *count
+#endif
 	/* OOL user pointers must go last. */
 	param OUT:OOL:VAR:NOGEN struct kvec **vec
+#ifdef CFS_PAGEVEC_BUFFER_READ
+	param OUT:OOL:VAR:USER char		**buffer
+#endif
 #endif
 }
 
@@ -75,9 +80,14 @@
 	/* OOL user pointers must go last. */
 	param IN:OOL:VAR:USER char		*buffer
 #else
+#ifndef CFS_PAGEVEC_BUFFER_WRITE
 	param IN u_long count
+#endif
 	/* OOL user pointers must go last. */
 	param IN:OOL:VAR:NOGEN struct kvec **vec
+#ifdef CFS_PAGEVEC_BUFFER_WRITE
+	param IN:OOL:VAR:USER char		*buffer
+#endif
 #endif
 }
 


------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/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.