[Pvfs2-cvs] commit by kunkel in pvfs2/src/proto:
PINT-le-bytefield.c PINT-reqproto-encode.c pvfs2-req-proto.h
CVS commit program
cvs at parl.clemson.edu
Tue Aug 22 06:54:20 EDT 2006
Update of /projects/cvsroot/pvfs2/src/proto
In directory parlweb1:/tmp/cvs-serv29962/src/proto
Modified Files:
Tag: kunkel-branch
PINT-le-bytefield.c PINT-reqproto-encode.c pvfs2-req-proto.h
Log Message:
Added tool which prints file mapping to server aliases. Added
experimental stubs for migration tools. Added kernel tgid to request ID.
Bugfix of PINT_cached_config_get_one_server_str.
Index: PINT-le-bytefield.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/proto/PINT-le-bytefield.c,v
diff -p -u -r1.41.4.3 -r1.41.4.4
--- PINT-le-bytefield.c 19 Aug 2006 13:09:38 -0000 1.41.4.3
+++ PINT-le-bytefield.c 22 Aug 2006 10:54:20 -0000 1.41.4.4
@@ -105,6 +105,10 @@ static void lebf_initialize(void)
case PVFS_SERV_REMOVE:
/* nothing special, let normal encoding work */
break;
+ case PVFS_SERV_MGMT_MIGRATE:
+ req.u.mgmt_migrate.new_datafile_extent_array.extent_count = 0;
+ reqsize = extra_size_PVFS_servreq_mgmt_migrate;
+ break;
case PVFS_SERV_MGMT_REMOVE_OBJECT:
/* nothing special, let normal encoding work */
break;
@@ -336,6 +340,7 @@ static int lebf_encode_req(
CASE(PVFS_SERV_LOOKUP_PATH, lookup_path);
CASE(PVFS_SERV_CREATE, create);
CASE(PVFS_SERV_REMOVE, remove);
+ CASE(PVFS_SERV_MGMT_MIGRATE, mgmt_migrate);
CASE(PVFS_SERV_MGMT_REMOVE_OBJECT, mgmt_remove_object);
CASE(PVFS_SERV_MGMT_REMOVE_DIRENT, mgmt_remove_dirent);
CASE(PVFS_SERV_MGMT_GET_DIRDATA_HANDLE, mgmt_get_dirdata_handle);
@@ -442,6 +447,7 @@ static int lebf_encode_resp(
CASE(PVFS_SERV_MKDIR, mkdir);
CASE(PVFS_SERV_READDIR, readdir);
CASE(PVFS_SERV_STATFS, statfs);
+ CASE(PVFS_SERV_MGMT_MIGRATE, mgmt_migrate);
CASE(PVFS_SERV_MGMT_SETPARAM, mgmt_setparam);
CASE(PVFS_SERV_MGMT_PERF_MON, mgmt_perf_mon);
CASE(PVFS_SERV_MGMT_ITERATE_HANDLES, mgmt_iterate_handles);
@@ -543,6 +549,7 @@ static int lebf_decode_req(
CASE(PVFS_SERV_READDIR, readdir);
CASE(PVFS_SERV_FLUSH, flush);
CASE(PVFS_SERV_STATFS, statfs);
+ CASE(PVFS_SERV_MGMT_MIGRATE, mgmt_migrate);
CASE(PVFS_SERV_MGMT_SETPARAM, mgmt_setparam);
CASE(PVFS_SERV_MGMT_PERF_MON, mgmt_perf_mon);
CASE(PVFS_SERV_MGMT_ITERATE_HANDLES, mgmt_iterate_handles);
@@ -625,6 +632,7 @@ static int lebf_decode_resp(
CASE(PVFS_SERV_MKDIR, mkdir);
CASE(PVFS_SERV_READDIR, readdir);
CASE(PVFS_SERV_STATFS, statfs);
+ CASE(PVFS_SERV_MGMT_MIGRATE, mgmt_migrate);
CASE(PVFS_SERV_MGMT_SETPARAM, mgmt_setparam);
CASE(PVFS_SERV_MGMT_PERF_MON, mgmt_perf_mon);
CASE(PVFS_SERV_MGMT_ITERATE_HANDLES, mgmt_iterate_handles);
@@ -727,7 +735,9 @@ static void lebf_decode_rel(struct PINT_
if (req->u.mkdir.attr.mask & PVFS_ATTR_META_DFILES)
decode_free(req->u.mkdir.attr.u.meta.dfile_array);
break;
-
+ case PVFS_SERV_MGMT_MIGRATE:
+ decode_free(req->u.mgmt_migrate.new_datafile_extent_array.extent_array);
+ break;
case PVFS_SERV_MGMT_DSPACE_INFO_LIST:
decode_free(req->u.mgmt_dspace_info_list.handle_array);
break;
@@ -842,6 +852,7 @@ static void lebf_decode_rel(struct PINT_
case PVFS_SERV_FLUSH:
case PVFS_SERV_MGMT_SETPARAM:
case PVFS_SERV_MGMT_NOOP:
+ case PVFS_SERV_MGMT_MIGRATE:
case PVFS_SERV_STATFS:
case PVFS_SERV_WRITE_COMPLETION:
case PVFS_SERV_PROTO_ERROR:
Index: PINT-reqproto-encode.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/proto/PINT-reqproto-encode.c,v
diff -p -u -r1.28.18.3 -r1.28.18.4
--- PINT-reqproto-encode.c 24 Jul 2006 17:20:55 -0000 1.28.18.3
+++ PINT-reqproto-encode.c 22 Aug 2006 10:54:20 -0000 1.28.18.4
@@ -355,7 +355,7 @@ int PINT_encode_calc_max_size(
return(ret);
}
-static char PVFS_server_op_name[][35]={
+static char PVFS_server_op_name[][PVFS_MAX_SERVER_OP+2]={
"PVFS_SERV_INVALID",
"PVFS_SERV_CREATE",
"PVFS_SERV_REMOVE",
@@ -389,7 +389,8 @@ static char PVFS_server_op_name[][35]={
"PVFS_SERV_SETEATTR",
"PVFS_SERV_DELEATTR",
"PVFS_SERV_LISTEATTR",
- "PVFS_SERV_SMALL_IO"
+ "PVFS_SERV_SMALL_IO",
+ "PVFS_SERV_MGMT_MIGRATE"
};
char * server_op_to_str(enum PVFS_server_op sop){
Index: pvfs2-req-proto.h
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/proto/pvfs2-req-proto.h,v
diff -p -u -r1.140.4.3 -r1.140.4.4
--- pvfs2-req-proto.h 19 Aug 2006 13:09:38 -0000 1.140.4.3
+++ pvfs2-req-proto.h 22 Aug 2006 10:54:20 -0000 1.140.4.4
@@ -74,7 +74,8 @@ enum PVFS_server_op
PVFS_SERV_SETEATTR = 30,
PVFS_SERV_DELEATTR = 31,
PVFS_SERV_LISTEATTR = 32,
- PVFS_SERV_SMALL_IO = 33
+ PVFS_SERV_SMALL_IO = 33,
+ PVFS_SERV_MGMT_MIGRATE = 34
/* IMPORTANT: please remember to modify PVFS_MAX_SERVER_OP define
* (below) if you add a new operation to this list
*/
@@ -201,6 +202,17 @@ endecode_fields_1_struct(
PVFS_servresp_create,
PVFS_handle, handle)
+/*
+ * New datafile handle
+ */
+struct PVFS_servresp_mgmt_migrate
+{
+ PVFS_handle handle;
+};
+endecode_fields_1_struct(
+ PVFS_servresp_mgmt_migrate,
+ PVFS_handle, handle)
+
/* remove *****************************************************/
/* - used to remove an existing metafile or datafile object */
@@ -923,6 +935,46 @@ endecode_fields_1_struct(
#define SMALL_IO_MAX_SEGMENTS 64
+
+struct PVFS_servreq_mgmt_migrate
+{
+ PVFS_handle handle;
+ PVFS_fs_id fs_id;
+
+ PVFS_handle datafile_handle;
+ PVFS_handle_extent_array new_datafile_extent_array;
+};
+endecode_fields_4_struct(
+ PVFS_servreq_mgmt_migrate,
+ PVFS_handle, handle,
+ PVFS_fs_id, fs_id,
+ PVFS_handle, datafile_handle,
+ PVFS_handle_extent_array, new_datafile_extent_array)
+#define extra_size_PVFS_servreq_mgmt_migrate \
+ (PVFS_REQ_LIMIT_HANDLES_COUNT * sizeof(PVFS_handle_extent))
+
+#define PINT_SERVREQ_MGMT_MIGRATE_FILL(__req, \
+ __creds, \
+ __handle, \
+ __fsid, \
+ __data_handle, \
+ __ext_array, \
+ __hints) \
+do { \
+ memset(&(__req), 0, sizeof(__req)); \
+ (__req).op = PVFS_SERV_CREATE; \
+ (__req).hints = (__hints); \
+ (__req).credentials = (__creds); \
+ (__req).u.mgmt_migrate.fs_id = (__fsid); \
+ (__req).u.mgmt_migrate.handle = (__handle); \
+ (__req).u.mgmt_migrate.datafile_handle = (__data_handle); \
+ (__req).u.mgmt_migrate.new_datafile_extent_array.extent_count =\
+ (__ext_array).extent_count; \
+ (__req).u.mgmt_migrate.new_datafile_extent_array.extent_array =\
+ (__ext_array).extent_array; \
+} while (0)
+
+
struct PVFS_servreq_small_io
{
PVFS_handle handle;
@@ -1535,6 +1587,7 @@ struct PVFS_server_req
struct PVFS_servreq_mgmt_remove_object mgmt_remove_object;
struct PVFS_servreq_mgmt_remove_dirent mgmt_remove_dirent;
struct PVFS_servreq_mgmt_get_dirdata_handle mgmt_get_dirdata_handle;
+ struct PVFS_servreq_mgmt_migrate mgmt_migrate;
struct PVFS_servreq_geteattr geteattr;
struct PVFS_servreq_seteattr seteattr;
struct PVFS_servreq_deleattr deleattr;
@@ -1593,6 +1646,7 @@ struct PVFS_server_resp
struct PVFS_servresp_mgmt_dspace_info_list mgmt_dspace_info_list;
struct PVFS_servresp_mgmt_event_mon mgmt_event_mon;
struct PVFS_servresp_mgmt_get_dirdata_handle mgmt_get_dirdata_handle;
+ struct PVFS_servresp_mgmt_migrate mgmt_migrate;
struct PVFS_servresp_geteattr geteattr;
struct PVFS_servresp_listeattr listeattr;
struct PVFS_servresp_small_io small_io;
More information about the Pvfs2-cvs
mailing list