X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Ffd-tracker%2Finode.h;h=67e63eca46fa75fb4b25524aed2f39bdb0ced5be;hb=e2d1190b9ea09c54e5d7373643d62e2034bc1531;hp=d69f354ea7d12c78c147a61b5c9b31b5b77f20ea;hpb=ab5be9fa2eb5ba9600a82cd18fd3cfcbac69169a;p=lttng-tools.git diff --git a/src/common/fd-tracker/inode.h b/src/common/fd-tracker/inode.h index d69f354ea..67e63eca4 100644 --- a/src/common/fd-tracker/inode.h +++ b/src/common/fd-tracker/inode.h @@ -14,6 +14,7 @@ struct lttng_inode; struct lttng_inode_registry; struct lttng_unlinked_file_directory; +struct lttng_directory_handle; /* * The unlinked file pool is protected by the fd-tracker's lock. @@ -23,15 +24,19 @@ struct lttng_unlinked_file_directory; * by the fd-tracker. Users of the fd-tracker should account for this extra * file descriptor. */ +LTTNG_HIDDEN struct lttng_unlinked_file_pool *lttng_unlinked_file_pool_create( const char *path); +LTTNG_HIDDEN void lttng_unlinked_file_pool_destroy( struct lttng_unlinked_file_pool *pool); /* The inode registry is protected by the fd-tracker's lock. */ +LTTNG_HIDDEN struct lttng_inode_registry *lttng_inode_registry_create(void); +LTTNG_HIDDEN struct lttng_inode *lttng_inode_registry_get_inode( struct lttng_inode_registry *registry, struct lttng_directory_handle *handle, @@ -39,12 +44,20 @@ struct lttng_inode *lttng_inode_registry_get_inode( int fd, struct lttng_unlinked_file_pool *pool); +LTTNG_HIDDEN void lttng_inode_registry_destroy(struct lttng_inode_registry *registry); -void lttng_inode_get_location(struct lttng_inode *inode, +LTTNG_HIDDEN +void lttng_inode_borrow_location(struct lttng_inode *inode, const struct lttng_directory_handle **out_directory_handle, const char **out_path); +/* Returns a new reference to the inode's location directory handle. */ +LTTNG_HIDDEN +struct lttng_directory_handle *lttng_inode_get_location_directory_handle( + struct lttng_inode *inode); + +LTTNG_HIDDEN int lttng_inode_rename(struct lttng_inode *inode, struct lttng_directory_handle *old_directory_handle, const char *old_path, @@ -52,8 +65,10 @@ int lttng_inode_rename(struct lttng_inode *inode, const char *new_path, bool overwrite); +LTTNG_HIDDEN int lttng_inode_unlink(struct lttng_inode *inode); +LTTNG_HIDDEN void lttng_inode_put(struct lttng_inode *inode); #endif /* FD_TRACKER_INODE_H */