2
* Author: Sunil Soman sunils@cs.ucsb.edu
5
#include <com_eucalyptus_storage_AOEManager.h>
10
#define EUCALYPTUS_ENV_VAR_NAME "EUCALYPTUS"
12
extern int run_command_and_get_pid(char *cmd, char **args);
14
JNIEXPORT jint JNICALL Java_com_eucalyptus_storage_AOEManager_exportVolume
15
(JNIEnv *env, jobject obj, jstring iface, jstring lvName, jint major, jint minor) {
16
const jbyte* lv_name = (*env)->GetStringUTFChars(env, lvName, NULL);
17
const jbyte* if_name = (*env)->GetStringUTFChars(env, iface, NULL);
23
char* home = getenv (EUCALYPTUS_ENV_VAR_NAME);
25
home = strdup (""); /* root by default */
30
snprintf(rootwrap, 256, "%s/usr/lib/eucalyptus/euca_rootwrap", home);
32
snprintf(major_str, 4, "%d", major);
33
snprintf(minor_str, 4, "%d", minor);
39
args[4] = (char *) if_name;
40
args[5] = (char *) lv_name;
41
args[6] = (char *) NULL;
43
int pid = run_command_and_get_pid(rootwrap, args);
44
(*env)->ReleaseStringUTFChars(env, lvName, lv_name);
45
(*env)->ReleaseStringUTFChars(env, iface, if_name);