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

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-serv16224/kernel/include/cluster/gen

Modified Files:
      Tag: OPENSSI-FC
	cfs.svc cfs.x 
Log Message:
Bug fixes and enhancements. See ChangeLog.


Index: cfs.x
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/cluster/gen/cfs.x,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- cfs.x	10 Oct 2008 08:10:33 -0000	1.8
+++ cfs.x	27 Oct 2009 03:18:30 -0000	1.9
@@ -91,9 +91,7 @@
 %#define	cfsd_proc_prep_remount_0_free	0
 %#define	cfsd_proc_remount_0_free	0
 %#define	cfsd_proc_get_mhold_0_free	0
-#ifdef SSI_CFS_SKIP
 %#define	cfsd_proc_ioctl_0_free	0
-#endif
 %#define	cfsd_proc_revalidate_0_free	0
 %#define	cfsd_proc_haverpc_0_free	0
 %#define	cfsd_rb_0_free			0
@@ -123,10 +121,11 @@
 %#include <linux/nfs.h>
 %#define	CFS_FHSIZE	NFS_MAXFHSIZE + XXX;
 %#else
-%/* Reiser FS can use 6 words (24 bytes) plus we need 4 words more (16 bytes) */
 %#ifdef CFS_EXPORT_OPS
-%#define CFS_FHSIZE 40
+%/* Reiser FS can use 3 words (12 bytes) plus we need 4 words more (16 bytes) */
+%#define CFS_FHSIZE 28
 %#else
+%/* Reiser FS can use 6 words (24 bytes) plus we need 4 words more (16 bytes) */
 %/* For NFS server I'm reducing this to 5 words because of fh_compose() */
 %#define CFS_FHSIZE 20
 %#endif
@@ -439,11 +438,11 @@
 		enum cfsstat CFSD_PROC_DIRSYNC(struct cfsdirsyncargs) = 39;
 		struct cfscommitres CFSD_PROC_COMMIT(struct cfscommitargs) = 40;
 		enum cfsstat CFSD_REMOVE_NOTE(cfsremnotargs) = 41;
-#ifdef CFS_REVALIDATE_GETATTR
-		struct cfsattrstat CFSD_PROC_GETATTR(struct cfsgaargs) = 42;
+#ifdef CFS_IOCTL_SKIP
+		struct cfsioctlres CFSD_PROC_IOCTL(struct cfsioctlargs) = 42;
 #endif
-#ifdef SSI_CFS_SKIP
-		struct cfsioctlres CFSD_PROC_IOCTL(struct cfsioctlargs) = XX;
+#ifdef CFS_REVALIDATE_GETATTR
+		struct cfsattrstat CFSD_PROC_GETATTR(struct cfsgaargs) = 43;
 #endif
 	} = 0;
 } = 0x21111111;	/* BOGUS */
@@ -524,18 +523,10 @@
 %/*
 % * Arguments to remote read
 % */
-%#ifdef CFS_PAGEVEC
 struct cfsreadargs {
 	cfhandle_t	cra_fhandle;
 	l_off_t		cra_offset;
-	arch_uint	cra_pgbase;
 };
-%#else
-struct cfsreadargs {
-	cfhandle_t	cra_fhandle;
-	l_off_t		cra_offset;
-};
-%#endif
 typedef struct cfsreadargs *cfsreadargs_p;
 
 %/*
@@ -631,6 +622,19 @@
 %/*
 % * Arguments to create and to mkdir
 % */
+%#ifdef CFS_UMASK_FIX
+struct cfscreatargs {
+	struct cfsdiropargs cca_da;
+	arch_int cca_mode;
+	arch_int cca_umask;
+	int32_t cca_type;
+	dev_t cca_dev;
+	int32_t	cca_agent;
+	int32_t fsuid;
+	int32_t fsgid;
+	arch_int cca_flags;
+};
+%#else
 struct cfscreatargs {
 	struct cfsdiropargs	cca_da;
 	arch_int cca_mode;
@@ -641,6 +645,7 @@
 	int32_t fsgid;
 	arch_int cca_flags;
 };
+%#endif
 
 #ifdef	RPC_HDR
 %#define	cca_fhandle	cca_da.cda_fhandle
@@ -816,7 +821,20 @@
 	arch_uchar	cla_type;
 };
 
+%#ifdef CFS_IOCTL
+%/*
+% * arguments to ioctl
+% */
+struct cfsioctlargs {
+	cfhandle_t	cia_fhandle;
+	arch_uint	cia_fflags;	/* f_flags */
+	arch_uint	cia_cmd;
+};
+typedef struct cfsioctlargs *cfsioctlargs_p;
+%#endif /* CFS_IOCTL */
+
 #ifdef SSI_CFS_SKIP
+/* deprecated */
 struct cfsioctlargs {
 	cfhandle_t	cia_fhandle;
 	int		cia_cmd;
@@ -936,8 +954,8 @@
 %  arguments to haverpc
 %*/
 struct cfshaveargs {
-	cfhandle_t chr_fhandle;
-	arch_ulong	chr_agent;
+	cfhandle_t	chr_fhandle;
+	clusternode_t	chr_agent;
 #ifdef NOTYET_
 	arch_int	chr_ropncnt;
 	arch_int	chr_wopncnt;

Index: cfs.svc
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/cluster/gen/cfs.svc,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- cfs.svc	3 Feb 2009 06:18:13 -0000	1.5
+++ cfs.svc	27 Oct 2009 03:18:30 -0000	1.6
@@ -39,7 +39,7 @@
  *	<op_attribute> ::= RPC | IPC | ASYNC | SKIP | NO_SIG_FORWARD
  *			    | NO_JOB_FORWARD
  *	<parm_attribute> ::= IN | OUT | INOUT
- *	<parm_rpc> ::= :VAR | :OOL |
+ *	<parm_rpc> ::= :VAR | :OOL | :XDR | :PTR
  *	<parm_name> ::= identifier
  *
  * Operation attribute ASYNC requests generation of _SEND and _RECEIVE
@@ -58,37 +58,25 @@
 operation rcfs_read NO_JOB_FORWARD {
 	param IN:XDR:NOGEN struct cfsreadargs	*inargsp
 	param OUT:XDR:NOGEN struct cfsrdresults	**outargspp
-#ifndef CFS_PAGEVEC
 	/* OOL user pointers must go last. */
-	param OUT:OOL:VAR:USER char		**buffer
+#ifdef ICS_OOL_STRUCT_PAGES
+	/* OOL struct page must go very last. */
+	param OUT:OOL:VAR:NOGEN struct page	***pages
 #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
 }
 
 operation rcfs_write NO_JOB_FORWARD {
 	param IN:XDR:NOGEN struct cfswriteargs	*inargsp
 	param OUT:XDR:NOGEN struct cfswriteres	**outargspp
-#ifndef CFS_PAGEVEC
 	/* OOL user pointers must go last. */
-	param IN:OOL:VAR:USER char		*buffer
+#ifdef ICS_OOL_STRUCT_PAGES
+	/* OOL struct page must go very last. */
+	param IN:OOL:VAR:NOGEN struct page	***pages
 #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
 }
 
 operation rcfs_readdir NO_JOB_FORWARD {
@@ -97,3 +85,11 @@
 	/* OOL user pointers must go last. */
 	param OUT:OOL:VAR:USER char **buffer
 }
+
+#ifdef CFS_IOCTL
+operation rcfs_ioctl {
+	param IN:XDR:NOGEN struct cfsioctlargs	*inargsp
+	param IN u_long			*arg
+	param IN ssi_procstate_t	*pstate
+}
+#endif


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
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.