]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Hadoop: Compiles now. Stupid macros.
authorGreg Farnum <gregf@hq.newdream.net>
Thu, 23 Jul 2009 18:07:48 +0000 (11:07 -0700)
committerGreg Farnum <gregf@hq.newdream.net>
Thu, 23 Jul 2009 18:12:44 +0000 (11:12 -0700)
src/client/hadoop/CephFSInterface.cc
src/client/hadoop/CephFSInterface.h
src/client/hadoop/ceph/CephFileSystem.java

index 703db007349158e5b95d69af71e92c3d1bfb8348..24b47215c1522900dd0d1472512343c1c74446ee 100644 (file)
@@ -14,10 +14,10 @@ using namespace std;
 /*
  * Class:     org_apache_hadoop_fs_ceph_CephFileSystem
  * Method:    ceph_initializeClient
- * Signature: ()J
+ * Signature: ()Z
  * Initializes a ceph client.
  */
-JNIEXPORT jlong JNICALL Java_org_apache_hadoop_fs_ceph_CephFileSystem_ceph_1initializeClient
+JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephFileSystem_ceph_1initializeClient
 (JNIEnv *env, jobject, jstring j_mon_host)
 {
   dout(3) << "CephFSInterface: Initializing Ceph client:" << dendl;
@@ -31,6 +31,7 @@ JNIEXPORT jlong JNICALL Java_org_apache_hadoop_fs_ceph_CephFileSystem_ceph_1init
 
   ceph_initialize(argc, argv);
   ceph_mount();
+  return true;
 }
 
 
@@ -273,7 +274,7 @@ JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephFileSystem_ceph_1e
   struct stat stbuf;
 
   const char* c_path = env->GetStringUTFChars(j_path, 0);
-  dout(10) << "Attempting lstat with file " << c_path << ":" ;
+  dout(10) << "Attempting lstat with file " << c_path << ":" << dendl;
   int result = ceph_lstat(c_path, &stbuf);
   dout(10) << "result is " << result << dendl;
   env->ReleaseStringUTFChars(j_path, c_path);
index 84c03c09cfbd994003ebda53b90ef100f7f2818d..daa6a82bc05b2bdb52d15445996f4ef3b0640449 100644 (file)
@@ -18,9 +18,9 @@ extern "C" {
 /*
  * Class:     org_apache_hadoop_fs_ceph_CephFileSystem
  * Method:    ceph_initializeClient
- * Signature: ()J
+ * Signature: ()Z
  */
-JNIEXPORT jlong JNICALL Java_org_apache_hadoop_fs_ceph_CephFileSystem_ceph_1initializeClient
+JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephFileSystem_ceph_1initializeClient
   (JNIEnv *, jobject);
 
 /*
index 8ac56537ecfa5ef0554c596e1b0ad4e133070ed8..f2023636339a245e0f6513f33c7752a2c33b2697 100644 (file)
@@ -55,7 +55,7 @@ public class CephFileSystem extends FileSystem {
    * include wrapper functions to automatically add the parameter.
    */ 
   
-  private native long    ceph_initializeClient();
+  private native boolean ceph_initializeClient();
   private native boolean ceph_copyFromLocalFile(String localPath, String cephPath);
   private native boolean ceph_copyToLocalFile(String cephPath, String localPath);
   private native String  ceph_getcwd();
@@ -100,9 +100,10 @@ public class CephFileSystem extends FileSystem {
     this.localFs = get(URI.create("file:///"), conf);
 
     //  Initializes the client    
-    this.clientPointer = ceph_initializeClient();
-    System.out.println("Initialized client with pointer " + clientPointer 
-                      + ". Setting cwd to /");
+    if (!ceph_initializeClient()) {
+      throw new IOException("Ceph initialization failed!");
+    }
+    System.out.println("Initialized client. Setting cwd to /");
     ceph_setcwd("/");
     // DEBUG
     // attempt to do three exists operations on root