Changeset 558
- Timestamp:
- 02/20/07 21:46:23 (2 years ago)
- Files:
-
- trunk/src/vcd/methods/vg/vg_list.c (modified) (1 diff)
- trunk/src/vcd/methods/vg/vg_remove.c (modified) (3 diffs)
- trunk/src/vcd/methods/vg/vg_vx_start.c (modified) (3 diffs)
- trunk/src/vcd/methods/vg/vg_vx_stop.c (modified) (4 diffs)
- trunk/src/vcd/vxdb.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/vcd/methods/vg/vg_list.c
r551 r558 50 50 "invalid group value: %s", group); 51 51 52 if (str_equal(group, "all")) 53 method_return_faultf(env, MEINVAL, 54 "cannot list group '%s', use vxdb.list instead", group); 55 52 56 if (!(gid = vxdb_getgid(group))) 53 57 method_return_fault(env, MENOVG); trunk/src/vcd/methods/vg/vg_remove.c
r551 r558 29 29 30 30 xmlrpc_value *params; 31 char * name, *group;31 char *group, *name; 32 32 int gid, rc; 33 33 xid_t xid; … … 62 62 63 63 rc = vxdb_exec( 64 "INSERT INTO xid_gid_map (xid, gid) " 65 "VALUES (%d, %d)", 64 "DELETE FROM xid_gid_map WHERE xid = %d AND gid = %d", 66 65 xid, gid); 67 66 } … … 69 68 else { 70 69 rc = vxdb_exec( 71 "BEGIN EXCLUSIVE TRANSACTION;"72 "DELETE FROM xid_gid_map WHERE gid = %d;"73 "DELETE FROM groups WHERE gid = %d;"74 "COMMIT TRANSACTION;",75 gid, gid);70 "BEGIN EXCLUSIVE TRANSACTION;" 71 "DELETE FROM xid_gid_map WHERE gid = %d;" 72 "DELETE FROM groups WHERE gid = %d;" 73 "COMMIT TRANSACTION;", 74 gid, gid); 76 75 } 77 76 trunk/src/vcd/methods/vg/vg_vx_start.c
r551 r558 23 23 #include <lucid/list.h> 24 24 #include <lucid/log.h> 25 #include <lucid/mem.h>26 25 #include <lucid/str.h> 27 26 … … 63 62 64 63 rc = vxdb_prepare(&dbr, 65 "SELECT xid_name_map.xid,xid_name_map.name FROM xid_name_map "66 "INNER JOIN xid_gid_map "67 "ON xid_name_map.xid = xid_gid_map.xid "68 "WHERE xid_gid_map.gid = %d",69 gid);64 "SELECT xid_name_map.xid,xid_name_map.name FROM xid_name_map " 65 "INNER JOIN xid_gid_map " 66 "ON xid_name_map.xid = xid_gid_map.xid " 67 "WHERE xid_gid_map.gid = %d", 68 gid); 70 69 } 71 70 … … 90 89 91 90 list_for_each_entry(pos, &(xns->list), list) { 91 /* vserver is stopped, let's start it */ 92 92 if (vx_info(pos->xid, NULL) == -1) { 93 93 if (errno == ESRCH) { trunk/src/vcd/methods/vg/vg_vx_stop.c
r551 r558 23 23 #include <lucid/list.h> 24 24 #include <lucid/log.h> 25 #include <lucid/mem.h>26 25 #include <lucid/str.h> 27 26 … … 56 55 if (str_equal(group, "all")) 57 56 rc = vxdb_prepare(&dbr, 58 "SELECT xid,name FROM xid_name_map");57 "SELECT xid,name FROM xid_name_map"); 59 58 60 59 else { … … 63 62 64 63 rc = vxdb_prepare(&dbr, 65 "SELECT xid_name_map.xid,xid_name_map.name FROM xid_name_map "66 "INNER JOIN xid_gid_map "67 "ON xid_name_map.xid = xid_gid_map.xid "68 "WHERE xid_gid_map.gid = %d",69 gid);64 "SELECT xid_name_map.xid,xid_name_map.name FROM xid_name_map " 65 "INNER JOIN xid_gid_map " 66 "ON xid_name_map.xid = xid_gid_map.xid " 67 "WHERE xid_gid_map.gid = %d", 68 gid); 70 69 } 71 70 … … 90 89 91 90 list_for_each_entry(pos, &(xns->list), list) { 91 /* vserver is running, let's stop it */ 92 92 if (vx_info(pos->xid, NULL) == 0) { 93 93 params = xmlrpc_build_value(env, "{s:s}", "name", pos->name); trunk/src/vcd/vxdb.h
r534 r558 60 60 char *vxdb_getname(xid_t xid); 61 61 char *vxdb_getvdir(const char *name); 62 int vxdb_getgid(const char *group name);62 int vxdb_getgid(const char *group); 63 63 64 64 #endif
