Merge pull request #2787 from ceph/fix-fstat-mode

java: fill in stat structure correctly

Reviewed-by: Sage Weil <sage@redhat.com>
This commit is contained in:
Sage Weil 2014-10-23 17:57:02 -07:00
commit 9d1b585fdb

View File

@ -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;
}