4b619e493a
The original tar file has trailing base64 checksums, so I have repackaged the tar file for just now. This is release 1.3 of the Parallel Data Laboratory NASD software prototype. The release includes the NASD drive prototype, the NASD-NFS filemanager, simple client APIs, a regression-testing suite, sample programs, a snapshot of Cheops (which is one implementation of aggregation over multiple NASDs), and some basic documentation.
289 lines
10 KiB
Text
289 lines
10 KiB
Text
$NetBSD: patch-at,v 1.1.1.1 2005/05/04 08:56:50 agc Exp $
|
|
|
|
Index: edrfs/client/nasd_edrfs_client_mq.c
|
|
===================================================================
|
|
RCS file: /usr/cvsroot/nasd/nasd-1.3/edrfs/client/nasd_edrfs_client_mq.c,v
|
|
retrieving revision 1.1.1.1
|
|
retrieving revision 1.2
|
|
diff -u -r1.1.1.1 -r1.2
|
|
--- edrfs/client/nasd_edrfs_client_mq.c 21 Mar 2005 08:52:02 -0000 1.1.1.1
|
|
+++ edrfs/client/nasd_edrfs_client_mq.c 21 Mar 2005 17:07:25 -0000 1.2
|
|
@@ -39,13 +39,13 @@
|
|
|
|
/* I am, in all likelihood, going to go to hell for these macros. */
|
|
|
|
-#define NASD_EDRFSMQ_DEFINE_VARS(n) \
|
|
- nasd_edrfs_mq_buf_t mb;\
|
|
- NASDMQ_edrfs_##n##_msg_t *msg = &(mb.un.##n##_msg);\
|
|
- NASDMQ_edrfs_##n##_rep_t *rep = &(mb.un.##n##_rep);\
|
|
- nasd_edrfscli_handle_msgq_t *rpch =\
|
|
- (nasd_edrfscli_handle_msgq_t *)handle->rpc_specific_handle;\
|
|
- int seqnum;\
|
|
+#define NASD_EDRFSMQ_DEFINE_VARS(msgtype, msgfield, reptype, repfield) \
|
|
+ nasd_edrfs_mq_buf_t mb; \
|
|
+ msgtype *msg = &(mb.un.msgfield); \
|
|
+ reptype *rep = &(mb.un.repfield); \
|
|
+ nasd_edrfscli_handle_msgq_t *rpch = \
|
|
+ (nasd_edrfscli_handle_msgq_t *)handle->rpc_specific_handle; \
|
|
+ int seqnum; \
|
|
int rc;
|
|
|
|
#define NASD_EDRFSMQ_INC_SEQNUM() \
|
|
@@ -70,8 +70,8 @@
|
|
}\
|
|
*op_status = rep->op_status;
|
|
|
|
-#define NASD_EDRFSMQ_MARSHALL(n) bcopy(args, &mb.un.##n##_msg.args, sizeof(nasd_edrfs_##n##_args_t))
|
|
-#define NASD_EDRFSMQ_UNMARSHALL(n) bcopy(&mb.un.##n##_rep.res, res, sizeof(nasd_edrfs_##n##_res_t))
|
|
+#define NASD_EDRFSMQ_MARSHALL(msgfield, argstype) bcopy(args, &mb.un.msgfield.args, sizeof(argstype))
|
|
+#define NASD_EDRFSMQ_UNMARSHALL(repfield, restype) bcopy(&mb.un.repfield.res, res, sizeof(restype))
|
|
|
|
nasd_status_t
|
|
nasd_edrfsmq_bind(
|
|
@@ -129,7 +129,7 @@
|
|
nasd_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(null);
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_null_msg_t, null_msg, NASDMQ_edrfs_null_rep_t, null_rep);
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_NULL);
|
|
res->nasd_status = mb.un.null_rep.nasd_status;
|
|
@@ -143,11 +143,11 @@
|
|
nasd_edrfs_mount_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(mount);
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_mount_msg_t, mount_msg, NASDMQ_edrfs_mount_rep_t, mount_rep);
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
- NASD_EDRFSMQ_MARSHALL(mount);
|
|
+ NASD_EDRFSMQ_MARSHALL(mount_msg, nasd_edrfs_mount_args_t);
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_MOUNT);
|
|
- NASD_EDRFSMQ_UNMARSHALL(mount);
|
|
+ NASD_EDRFSMQ_UNMARSHALL(mount_rep, nasd_edrfs_mount_res_t);
|
|
}
|
|
|
|
|
|
@@ -158,11 +158,11 @@
|
|
nasd_edrfs_fsstat_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(fsstat);
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_fsstat_msg_t, fsstat_msg, NASDMQ_edrfs_fsstat_rep_t, fsstat_rep);
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
- NASD_EDRFSMQ_MARSHALL(fsstat);
|
|
+ NASD_EDRFSMQ_MARSHALL(fsstat_msg, nasd_edrfs_fsstat_args_t);
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_FSSTAT);
|
|
- NASD_EDRFSMQ_UNMARSHALL(fsstat);
|
|
+ NASD_EDRFSMQ_UNMARSHALL(fsstat_rep, nasd_edrfs_fsstat_res_t);
|
|
}
|
|
|
|
|
|
@@ -173,11 +173,11 @@
|
|
nasd_edrfs_fsinfo_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(fsinfo);
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_fsinfo_msg_t, fsinfo_msg, NASDMQ_edrfs_fsinfo_rep_t, fsinfo_rep);
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
- NASD_EDRFSMQ_MARSHALL(fsinfo);
|
|
+ NASD_EDRFSMQ_MARSHALL(fsinfo_msg, nasd_edrfs_fsinfo_args_t);
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_FSINFO);
|
|
- NASD_EDRFSMQ_UNMARSHALL(fsinfo);
|
|
+ NASD_EDRFSMQ_UNMARSHALL(fsinfo_rep, nasd_edrfs_fsinfo_res_t);
|
|
}
|
|
|
|
|
|
@@ -188,11 +188,11 @@
|
|
nasd_edrfs_lookup_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(lookup);
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_lookup_msg_t, lookup_msg, NASDMQ_edrfs_lookup_rep_t, lookup_rep);
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
- NASD_EDRFSMQ_MARSHALL(lookup);
|
|
+ NASD_EDRFSMQ_MARSHALL(lookup_msg, nasd_edrfs_lookup_args_t);
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_LOOKUP);
|
|
- NASD_EDRFSMQ_UNMARSHALL(lookup);
|
|
+ NASD_EDRFSMQ_UNMARSHALL(lookup_rep, nasd_edrfs_lookup_res_t);
|
|
}
|
|
|
|
|
|
@@ -217,7 +217,7 @@
|
|
nasd_edrfs_readdir_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(readdir)
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_readdir_msg_t, readdir_msg, NASDMQ_edrfs_readdir_rep_t, readdir_rep);
|
|
nasd_byte_t *shmbuf;
|
|
int shmid;
|
|
nasd_len_t len;
|
|
@@ -240,9 +240,9 @@
|
|
}
|
|
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
- NASD_EDRFSMQ_MARSHALL(readdir);
|
|
+ NASD_EDRFSMQ_MARSHALL(readdir_msg, nasd_edrfs_readdir_args_t);
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_READDIR);
|
|
- NASD_EDRFSMQ_UNMARSHALL(readdir);
|
|
+ NASD_EDRFSMQ_UNMARSHALL(readdir_rep, nasd_edrfs_readdir_res_t);
|
|
bcopy(shmbuf, out_entries, len);
|
|
rc = nasd_shmpipe_complete_cs(shmid, shmbuf, op_status);
|
|
if(rc)
|
|
@@ -257,11 +257,11 @@
|
|
nasd_edrfs_access_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(access);
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_access_msg_t, access_msg, NASDMQ_edrfs_access_rep_t, access_rep);
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
- NASD_EDRFSMQ_MARSHALL(access);
|
|
+ NASD_EDRFSMQ_MARSHALL(access_msg, nasd_edrfs_access_args_t);
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_ACCESS);
|
|
- NASD_EDRFSMQ_UNMARSHALL(access);
|
|
+ NASD_EDRFSMQ_UNMARSHALL(access_rep, nasd_edrfs_access_res_t);
|
|
}
|
|
|
|
|
|
@@ -272,11 +272,11 @@
|
|
nasd_edrfs_setattr_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(setattr);
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_setattr_msg_t, setattr_msg, NASDMQ_edrfs_setattr_rep_t, setattr_rep);
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
- NASD_EDRFSMQ_MARSHALL(setattr);
|
|
+ NASD_EDRFSMQ_MARSHALL(setattr_msg, nasd_edrfs_setattr_args_t);
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_SETATTR);
|
|
- NASD_EDRFSMQ_UNMARSHALL(setattr);
|
|
+ NASD_EDRFSMQ_UNMARSHALL(setattr_rep, nasd_edrfs_setattr_res_t);
|
|
}
|
|
|
|
|
|
@@ -287,11 +287,11 @@
|
|
nasd_edrfs_create_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(create);
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_create_msg_t, create_msg, NASDMQ_edrfs_create_rep_t, create_rep);
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
- NASD_EDRFSMQ_MARSHALL(create);
|
|
+ NASD_EDRFSMQ_MARSHALL(create_msg, nasd_edrfs_create_args_t);
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_CREATE);
|
|
- NASD_EDRFSMQ_UNMARSHALL(create);
|
|
+ NASD_EDRFSMQ_UNMARSHALL(create_rep, nasd_edrfs_create_res_t);
|
|
}
|
|
|
|
|
|
@@ -315,11 +315,11 @@
|
|
nasd_edrfs_symlink_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(symlink);
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_symlink_msg_t, symlink_msg, NASDMQ_edrfs_symlink_rep_t, symlink_rep);
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
- NASD_EDRFSMQ_MARSHALL(symlink);
|
|
+ NASD_EDRFSMQ_MARSHALL(symlink_msg, nasd_edrfs_symlink_args_t);
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_SYMLINK);
|
|
- NASD_EDRFSMQ_UNMARSHALL(symlink);
|
|
+ NASD_EDRFSMQ_UNMARSHALL(symlink_rep, nasd_edrfs_symlink_res_t);
|
|
}
|
|
|
|
|
|
@@ -330,11 +330,11 @@
|
|
nasd_edrfs_remove_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(remove);
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_remove_msg_t, remove_msg, NASDMQ_edrfs_remove_rep_t, remove_rep);
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
- NASD_EDRFSMQ_MARSHALL(remove);
|
|
+ NASD_EDRFSMQ_MARSHALL(remove_msg, nasd_edrfs_remove_args_t);
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_REMOVE);
|
|
- NASD_EDRFSMQ_UNMARSHALL(remove);
|
|
+ NASD_EDRFSMQ_UNMARSHALL(remove_rep, nasd_edrfs_remove_res_t);
|
|
}
|
|
|
|
|
|
@@ -345,11 +345,11 @@
|
|
nasd_edrfs_mkdir_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(mkdir);
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_mkdir_msg_t, mkdir_msg, NASDMQ_edrfs_mkdir_rep_t, mkdir_rep);
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
- NASD_EDRFSMQ_MARSHALL(mkdir);
|
|
+ NASD_EDRFSMQ_MARSHALL(mkdir_msg, nasd_edrfs_mkdir_args_t);
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_MKDIR);
|
|
- NASD_EDRFSMQ_UNMARSHALL(mkdir);
|
|
+ NASD_EDRFSMQ_UNMARSHALL(mkdir_rep, nasd_edrfs_mkdir_res_t);
|
|
}
|
|
|
|
|
|
@@ -360,11 +360,11 @@
|
|
nasd_edrfs_rmdir_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(rmdir);
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_rmdir_msg_t, rmdir_msg, NASDMQ_edrfs_rmdir_rep_t, rmdir_rep);
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
- NASD_EDRFSMQ_MARSHALL(rmdir);
|
|
+ NASD_EDRFSMQ_MARSHALL(rmdir_msg, nasd_edrfs_rmdir_args_t);
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_RMDIR);
|
|
- NASD_EDRFSMQ_UNMARSHALL(rmdir);
|
|
+ NASD_EDRFSMQ_UNMARSHALL(rmdir_rep, nasd_edrfs_rmdir_res_t);
|
|
}
|
|
|
|
|
|
@@ -375,11 +375,11 @@
|
|
nasd_edrfs_newcookie_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(newcookie);
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_newcookie_msg_t, newcookie_msg, NASDMQ_edrfs_newcookie_rep_t, newcookie_rep);
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
- NASD_EDRFSMQ_MARSHALL(newcookie);
|
|
+ NASD_EDRFSMQ_MARSHALL(newcookie_msg, nasd_edrfs_newcookie_args_t);
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_NEWCOOKIE);
|
|
- NASD_EDRFSMQ_UNMARSHALL(newcookie);
|
|
+ NASD_EDRFSMQ_UNMARSHALL(newcookie_rep, nasd_edrfs_newcookie_res_t);
|
|
}
|
|
|
|
|
|
@@ -390,11 +390,11 @@
|
|
nasd_edrfs_rename_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(rename);
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_rename_msg_t, rename_msg, NASDMQ_edrfs_rename_rep_t, rename_rep);
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
- NASD_EDRFSMQ_MARSHALL(rename);
|
|
+ NASD_EDRFSMQ_MARSHALL(rename_msg, nasd_edrfs_rename_args_t);
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_RENAME);
|
|
- NASD_EDRFSMQ_UNMARSHALL(rename);
|
|
+ NASD_EDRFSMQ_UNMARSHALL(rename_rep, nasd_edrfs_rename_res_t);
|
|
}
|
|
|
|
|
|
@@ -404,10 +404,10 @@
|
|
nasd_edrfs_getstats_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(getstats);
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_getstats_msg_t, getstats_msg, NASDMQ_edrfs_getstats_rep_t, getstats_rep);
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_GETSTATS);
|
|
- NASD_EDRFSMQ_UNMARSHALL(getstats);
|
|
+ NASD_EDRFSMQ_UNMARSHALL(getstats_rep, nasd_edrfs_getstats_res_t);
|
|
}
|
|
|
|
void
|
|
@@ -416,7 +416,7 @@
|
|
nasd_res_t *res,
|
|
nasd_rpc_status_t *op_status)
|
|
{
|
|
- NASD_EDRFSMQ_DEFINE_VARS(resetstats);
|
|
+ NASD_EDRFSMQ_DEFINE_VARS(NASDMQ_edrfs_resetstats_msg_t, resetstats_msg, NASDMQ_edrfs_resetstats_rep_t, resetstats_rep);
|
|
NASD_EDRFSMQ_INC_SEQNUM();
|
|
NASD_EDRFSMQ_DOCALL(NASD_EDRFS_MQ_RESETSTATS);
|
|
res->nasd_status = mb.un.resetstats_rep.nasd_status;
|