In case of nonexistent file, calling Client::replication()
triggers assert.

Signed-off-by: Andrey Stepachev <[email protected]>
---
 src/client/hadoop/CephFSInterface.cc |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/client/hadoop/CephFSInterface.cc 
b/src/client/hadoop/CephFSInterface.cc
index 4a050f2..5ffca64 100644
--- a/src/client/hadoop/CephFSInterface.cc
+++ b/src/client/hadoop/CephFSInterface.cc
@@ -750,9 +750,12 @@ JNIEXPORT jint JNICALL 
Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1replicati
   ceph_mount_info *cmount = get_ceph_mount_t(env, obj);
   int fh = 0;
   fh = ceph_open(cmount, c_path, O_RDONLY, 0);
+  env->ReleaseStringUTFChars(j_path, c_path);
+  if (fh < 0) {
+         return fh;
+  }
   int replication = ceph_get_file_replication(cmount, fh);
   ceph_close(cmount, fh);
-  env->ReleaseStringUTFChars(j_path, c_path);
   return replication;
 }
 
-- 
1.7.5.4

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to