return ret;
}
+static int fake_acls_sys_acl_delete_def_fd(vfs_handle_struct *handle,
+ struct files_struct *fsp)
+{
+ int ret;
+ const char *name = FAKE_ACL_DEFAULT_XATTR;
+
+ if (!fsp->fsp_flags.is_directory) {
+ errno = EINVAL;
+ return -1;
+ }
+
+ ret = SMB_VFS_NEXT_FREMOVEXATTR(handle, fsp, name);
+ if (ret == -1 && errno == ENOATTR) {
+ ret = 0;
+ errno = 0;
+ }
+
+ return ret;
+}
+
static int fake_acls_lchown(vfs_handle_struct *handle,
const struct smb_filename *smb_fname,
uid_t uid,
.sys_acl_blob_get_fd_fn = posix_sys_acl_blob_get_fd,
.sys_acl_set_fd_fn = fake_acls_sys_acl_set_fd,
.sys_acl_delete_def_file_fn = fake_acls_sys_acl_delete_def_file,
+ .sys_acl_delete_def_fd_fn = fake_acls_sys_acl_delete_def_fd,
.lchown_fn = fake_acls_lchown,
.fchown_fn = fake_acls_fchown,