return ret;
}
-static int snapper_gmt_rename(vfs_handle_struct *handle,
- const struct smb_filename *smb_fname_src,
- const struct smb_filename *smb_fname_dst)
-{
- time_t timestamp_src, timestamp_dst;
-
- if (!snapper_gmt_strip_snapshot(talloc_tos(), handle,
- smb_fname_src->base_name,
- ×tamp_src, NULL)) {
- return -1;
- }
- if (!snapper_gmt_strip_snapshot(talloc_tos(), handle,
- smb_fname_dst->base_name,
- ×tamp_dst, NULL)) {
- return -1;
- }
- if (timestamp_src != 0) {
- errno = EXDEV;
- return -1;
- }
- if (timestamp_dst != 0) {
- errno = EROFS;
- return -1;
- }
- return SMB_VFS_NEXT_RENAME(handle, smb_fname_src, smb_fname_dst);
-}
-
static int snapper_gmt_renameat(vfs_handle_struct *handle,
files_struct *srcfsp,
const struct smb_filename *smb_fname_src,
.opendir_fn = snapper_gmt_opendir,
.disk_free_fn = snapper_gmt_disk_free,
.get_quota_fn = snapper_gmt_get_quota,
- .rename_fn = snapper_gmt_rename,
.renameat_fn = snapper_gmt_renameat,
.link_fn = snapper_gmt_link,
.symlink_fn = snapper_gmt_symlink,