TALLOC_FREE(parent);
- result = mkdirat(dirfsp->fh->fd, smb_fname->base_name, mode);
+ result = mkdirat(fsp_get_pathref_fd(dirfsp), smb_fname->base_name, mode);
END_PROFILE(syscall_mkdirat);
return result;
goto out;
}
- result = openat(dirfsp->fh->fd, smb_fname->base_name, flags, mode);
+ result = openat(fsp_get_pathref_fd(dirfsp),
+ smb_fname->base_name,
+ flags,
+ mode);
out:
END_PROFILE(syscall_openat);
goto out;
}
- result = renameat(srcfsp->fh->fd,
+ result = renameat(fsp_get_pathref_fd(srcfsp),
smb_fname_src->base_name,
- dstfsp->fh->fd,
+ fsp_get_pathref_fd(dstfsp),
smb_fname_dst->base_name);
out:
int result;
START_PROFILE(syscall_fstat);
- result = sys_fstat(fsp->fh->fd,
+ result = sys_fstat(fsp_get_pathref_fd(fsp),
sbuf, lp_fake_directory_create_times(SNUM(handle->conn)));
END_PROFILE(syscall_fstat);
return result;
errno = ENOENT;
goto out;
}
- result = unlinkat(dirfsp->fh->fd,
+ result = unlinkat(fsp_get_pathref_fd(dirfsp),
smb_fname->base_name,
flags);
START_PROFILE(syscall_symlinkat);
result = symlinkat(link_target->base_name,
- dirfsp->fh->fd,
+ fsp_get_pathref_fd(dirfsp),
new_smb_fname->base_name);
END_PROFILE(syscall_symlinkat);
return result;
START_PROFILE(syscall_readlinkat);
- result = readlinkat(dirfsp->fh->fd,
+ result = readlinkat(fsp_get_pathref_fd(dirfsp),
smb_fname->base_name,
buf,
bufsiz);
START_PROFILE(syscall_linkat);
- result = linkat(srcfsp->fh->fd,
+ result = linkat(fsp_get_pathref_fd(srcfsp),
old_smb_fname->base_name,
- dstfsp->fh->fd,
+ fsp_get_pathref_fd(dstfsp),
new_smb_fname->base_name,
flags);
START_PROFILE(syscall_mknodat);
- result = sys_mknodat(dirfsp->fh->fd,
+ result = sys_mknodat(fsp_get_pathref_fd(dirfsp),
smb_fname->base_name,
mode,
dev);
SMBPROFILE_BYTES_ASYNC_START(syscall_asys_getxattrat, profile_p,
state->profile_bytes, 0);
- if (dir_fsp->fh->fd == -1) {
+ if (fsp_get_pathref_fd(dir_fsp) == -1) {
DBG_ERR("Need a valid directory fd\n");
tevent_req_error(req, EINVAL);
return tevent_req_post(req, ev);
goto end_profile;
}
- ret = fchdir(state->dir_fsp->fh->fd);
+ ret = fchdir(fsp_get_pathref_fd(state->dir_fsp));
if (ret == -1) {
state->xattr_size = -1;
state->vfs_aio_state.error = errno;