return result;
}
-static int cephwrap_ntimes(struct vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- struct smb_file_time *ft)
-{
- struct ceph_statx stx = { 0 };
- int result;
- int mask = 0;
-
- if (!is_omit_timespec(&ft->atime)) {
- stx.stx_atime = ft->atime;
- mask |= CEPH_SETATTR_ATIME;
- }
- if (!is_omit_timespec(&ft->mtime)) {
- stx.stx_mtime = ft->mtime;
- mask |= CEPH_SETATTR_MTIME;
- }
- if (!is_omit_timespec(&ft->create_time)) {
- stx.stx_btime = ft->create_time;
- mask |= CEPH_SETATTR_BTIME;
- }
-
- if (!mask) {
- return 0;
- }
-
- result = ceph_setattrx(handle->data, smb_fname->base_name, &stx, mask, 0);
- DBG_DEBUG("[CEPH] ntimes(%p, %s, {%ld, %ld, %ld, %ld}) = %d\n", handle, smb_fname_str_dbg(smb_fname),
- ft->mtime.tv_sec, ft->atime.tv_sec, ft->ctime.tv_sec,
- ft->create_time.tv_sec, result);
- return result;
-}
-
static int cephwrap_fntimes(struct vfs_handle_struct *handle,
files_struct *fsp,
struct smb_file_time *ft)
.lchown_fn = cephwrap_lchown,
.chdir_fn = cephwrap_chdir,
.getwd_fn = cephwrap_getwd,
- .ntimes_fn = cephwrap_ntimes,
.fntimes_fn = cephwrap_fntimes,
.ftruncate_fn = cephwrap_ftruncate,
.fallocate_fn = cephwrap_fallocate,