return close_result;
}
-static int virusfilter_vfs_unlink(
- struct vfs_handle_struct *handle,
- const struct smb_filename *smb_fname)
-{
- int ret = SMB_VFS_NEXT_UNLINK(handle, smb_fname);
- struct virusfilter_config *config = NULL;
- char *fname = NULL;
- char *cwd_fname = handle->conn->cwd_fsp->fsp_name->base_name;
-
- if (ret != 0 && errno != ENOENT) {
- return ret;
- }
-
- SMB_VFS_HANDLE_GET_DATA(handle, config,
- struct virusfilter_config, return -1);
-
- if (config->cache == NULL) {
- return 0;
- }
-
- fname = smb_fname->base_name;
-
- DBG_DEBUG("Removing cache entry (if existent): fname: %s\n", fname);
- virusfilter_cache_remove(config->cache, cwd_fname, fname);
-
- return 0;
-}
-
static int virusfilter_vfs_unlinkat(struct vfs_handle_struct *handle,
struct files_struct *dirfsp,
const struct smb_filename *smb_fname,
.disconnect_fn = virusfilter_vfs_disconnect,
.open_fn = virusfilter_vfs_open,
.close_fn = virusfilter_vfs_close,
- .unlink_fn = virusfilter_vfs_unlink,
.unlinkat_fn = virusfilter_vfs_unlinkat,
.renameat_fn = virusfilter_vfs_renameat,
};