From 44a8d59b10fcde4cde63487435acaf494025bc01 Mon Sep 17 00:00:00 2001 From: Noah Watkins Date: Thu, 23 Oct 2014 13:22:52 -0700 Subject: [PATCH] java: fill in stat structure correctly Added stat filling helper function but only stat and lstat were updated. This patch makes fstat use it. Crucially the fstat wasn't updating the mode flags. Signed-off-by: Noah Watkins --- src/java/native/libcephfs_jni.cc | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/src/java/native/libcephfs_jni.cc b/src/java/native/libcephfs_jni.cc index a96b20d95598a..99ab3f48c10e9 100644 --- a/src/java/native/libcephfs_jni.cc +++ b/src/java/native/libcephfs_jni.cc @@ -1775,7 +1775,6 @@ JNIEXPORT jint JNICALL Java_com_ceph_fs_CephMount_native_1ceph_1fstat { struct ceph_mount_info *cmount = get_ceph_mount(j_mntp); CephContext *cct = ceph_get_mount_context(cmount); - long long time; struct stat st; int ret; @@ -1793,22 +1792,7 @@ JNIEXPORT jint JNICALL Java_com_ceph_fs_CephMount_native_1ceph_1fstat return ret; } - env->SetIntField(j_cephstat, cephstat_mode_fid, st.st_mode); - env->SetIntField(j_cephstat, cephstat_uid_fid, st.st_uid); - env->SetIntField(j_cephstat, cephstat_gid_fid, st.st_gid); - env->SetLongField(j_cephstat, cephstat_size_fid, st.st_size); - env->SetLongField(j_cephstat, cephstat_blksize_fid, st.st_blksize); - env->SetLongField(j_cephstat, cephstat_blocks_fid, st.st_blocks); - - time = st.st_mtim.tv_sec; - time *= 1000; - time += st.st_mtim.tv_nsec / 1000; - env->SetLongField(j_cephstat, cephstat_m_time_fid, time); - - time = st.st_atim.tv_sec; - time *= 1000; - time += st.st_atim.tv_nsec / 1000; - env->SetLongField(j_cephstat, cephstat_a_time_fid, time); + fill_cephstat(env, j_cephstat, &st); return ret; } -- 2.39.5