pthread_mutex_unlock(&handle->lock);
}
+int fs_handle_unlink(struct fs_handle *handle)
+{
+ int ret;
+
+ pthread_mutex_lock(&handle->tracker->lock);
+ pthread_mutex_lock(&handle->lock);
+ ret = lttng_inode_defer_unlink(handle->inode);
+ pthread_mutex_unlock(&handle->lock);
+ pthread_mutex_unlock(&handle->tracker->lock);
+ return ret;
+}
+
int fs_handle_close(struct fs_handle *handle)
{
int ret = 0;
*/
void fs_handle_put_fd(struct fs_handle *handle);
+/*
+ * Unlink the file associated to an fs_handle. Note that the unlink
+ * operation will not be performed immediately. It will only be performed
+ * once all references to the underlying file (through other fs_handle objects)
+ * have been released.
+ *
+ * However, note that the file will be renamed so as to provide the observable
+ * effect of an unlink(), that is removing a name from the filesystem.
+ *
+ * Returns 0 on success, otherwise a negative value will be returned
+ * if the operation failed.
+ */
+int fs_handle_unlink(struct fs_handle *handle);
+
/*
* Frees the handle and discards the underlying fd.
*/