1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-25 17:57:42 +03:00

vfs_gpfs: pass fsp to smbd_gpfs_set_times()

No change in behaviour. Prepares for dealing with pathref fsps in
smbd_gpfs_set_times().

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14771

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Christof Schmitt <cs@samba.org>
This commit is contained in:
Ralph Boehme 2021-08-05 11:58:58 +02:00
parent 443608ee81
commit 9a237e168a

View File

@ -1714,7 +1714,8 @@ static void timespec_to_gpfs_time(struct timespec ts, gpfs_timestruc_t *gt,
}
}
static int smbd_gpfs_set_times(int fd, char *path, struct smb_file_time *ft)
static int smbd_gpfs_set_times(struct files_struct *fsp,
struct smb_file_time *ft)
{
gpfs_timestruc_t gpfs_times[4];
int flags = 0;
@ -1731,12 +1732,12 @@ static int smbd_gpfs_set_times(int fd, char *path, struct smb_file_time *ft)
return 0;
}
rc = gpfswrap_set_times(fd, flags, gpfs_times);
rc = gpfswrap_set_times(fsp_get_io_fd(fsp), flags, gpfs_times);
if (rc != 0 && errno != ENOSYS) {
DBG_WARNING("gpfs_set_times() returned with error %s for %s\n",
strerror(errno),
path);
fsp_str_dbg(fsp));
}
return rc;
@ -1758,9 +1759,7 @@ static int vfs_gpfs_fntimes(struct vfs_handle_struct *handle,
/* Try to use gpfs_set_times if it is enabled and available */
if (config->settimes) {
ret = smbd_gpfs_set_times(fsp_get_io_fd(fsp),
fsp->fsp_name->base_name,
ft);
ret = smbd_gpfs_set_times(fsp, ft);
if (ret == 0 || (ret == -1 && errno != ENOSYS)) {
return ret;
}