struct files_struct *fsp,
const struct vfs_open_how *how)
{
+ if (how->resolve != 0) {
+ errno = ENOSYS;
+ return -1;
+ }
+
errno = ENOSYS;
return -1;
}
struct vfs_open_how {
int flags;
mode_t mode;
+ uint64_t resolve;
};
/*
bool aio_allow_open = lp_parm_bool(
SNUM(handle->conn), "aio_pthread", "aio open", false);
+ if (how->resolve != 0) {
+ errno = ENOSYS;
+ return -1;
+ }
+
if (is_named_stream(smb_fname)) {
/* Don't handle stream opens. */
errno = ENOENT;
bool became_root = false;
int result = -ENOENT;
+ if (how->resolve != 0) {
+ errno = ENOSYS;
+ return -1;
+ }
+
/*
* ceph doesn't have openat().
*/
START_PROFILE(syscall_openat);
+ if (how->resolve != 0) {
+ errno = ENOSYS;
+ result = -1;
+ goto out;
+ }
+
if (is_named_stream(smb_fname)) {
errno = ENOENT;
result = -1;
how);
}
+ if (how->resolve != 0) {
+ errno = ENOSYS;
+ return -1;
+ }
+
SMB_ASSERT(fsp_is_alternate_stream(fsp));
if (is_afpinfo_stream(smb_fname->stream_name)) {
START_PROFILE(syscall_openat);
+ if (how->resolve != 0) {
+ END_PROFILE(syscall_openat);
+ errno = ENOSYS;
+ return -1;
+ }
+
/*
* Looks like glfs API doesn't have openat().
*/
int ret;
bool ok;
+ if (how.resolve != 0) {
+ errno = ENOSYS;
+ return -1;
+ }
+
smb_fname = shadow_copy2_openat_name(
talloc_tos(), dirfsp, fsp, smb_fname_in);
if (smb_fname == NULL) {
how);
}
+ if (how->resolve != 0) {
+ errno = ENOSYS;
+ return -1;
+ }
+
SMB_ASSERT(fsp_is_alternate_stream(fsp));
SMB_ASSERT(dirfsp == NULL);
SMB_ASSERT(VALID_STAT(fsp->base_fsp->fsp_name->st));
how);
}
+ if (how->resolve != 0) {
+ errno = ENOSYS;
+ return -1;
+ }
+
SMB_ASSERT(fsp_is_alternate_stream(fsp));
SMB_ASSERT(dirfsp == NULL);