diff options
-rw-r--r-- | source3/modules/vfs_fruit.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c index 4b78e391f25..2a9e8ab495a 100644 --- a/source3/modules/vfs_fruit.c +++ b/source3/modules/vfs_fruit.c @@ -1928,8 +1928,9 @@ static int fruit_unlink_rsrc_xattr(vfs_handle_struct *handle, } static int fruit_unlink_rsrc(vfs_handle_struct *handle, - const struct smb_filename *smb_fname, - bool force_unlink) + struct files_struct *dirfsp, + const struct smb_filename *smb_fname, + bool force_unlink) { struct fruit_config_data *config = NULL; int rc; @@ -1974,7 +1975,10 @@ static int fruit_unlink_internal(vfs_handle_struct *handle, dirfsp, smb_fname); } else if (is_afpresource_stream(smb_fname->stream_name)) { - return fruit_unlink_rsrc(handle, smb_fname, false); + return fruit_unlink_rsrc(handle, + dirfsp, + smb_fname, + false); } else if (is_ntfs_stream_smb_fname(smb_fname)) { return SMB_VFS_NEXT_UNLINKAT(handle, dirfsp, @@ -2002,7 +2006,7 @@ static int fruit_unlink_internal(vfs_handle_struct *handle, return -1; } - rc = fruit_unlink_rsrc(handle, rsrc_smb_fname, true); + rc = fruit_unlink_rsrc(handle, dirfsp, rsrc_smb_fname, true); if ((rc != 0) && (errno != ENOENT)) { DBG_ERR("Forced unlink of [%s] failed [%s]\n", smb_fname_str_dbg(rsrc_smb_fname), strerror(errno)); |