[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