62 return path[0] ==
'/';
void dentry_attach(dentry_t *d, inode_t *inode)
Attach an inode to a dentry.
__nodiscard dentry_t * dentry_unmount(dentry_t *root)
Unmount a filesystem at the mountpoint.
dentry_t * dentry_from_fd(fd_t fd)
Get the dentry from a file descriptor.
dentry_t * dentry_ref_up_to(dentry_t *dentry, dentry_t *root)
Increment the reference count of a dentry up to a given dentry.
void dentry_dump_refstat(const dentry_t *dentry, dump_refstat_receiver_t receiver, void *data)
__nodiscard bool dentry_mount(dentry_t *mountpoint, dentry_t *root, filesystem_t *fs)
Mount a filesystem at a mountpoint.
should_inline bool path_is_absolute(const char *path)
Check if a path is absolute.
void dump_refstat_receiver_t(int depth, const dentry_t *dentry, bool mountroot, void *data)
void dentry_detach(dentry_t *dentry)
Detach the inode from a dentry.
void dentry_try_release(dentry_t *dentry)
ssize_t dentry_path(dentry_t *dentry, dentry_t *root, char *buf, size_t size)
Get the path of a dentry.
void vfs_populate_listdir_buf(dentry_t *dir, vfs_listdir_state_t *state)
List the contents of a directory.
dentry_t * dentry_ref(dentry_t *dentry)
Increment the reference count of a dentry.
should_inline dentry_t * dentry_parent(const dentry_t *dentry)
dentry_t * dentry_resolve(dentry_t *starting_dir, dentry_t *root_dir, const char *path, lastseg_resolve_flags_t flags)
Lookup a path in the filesystem.
void dentry_check_refstat(const dentry_t *dentry)
Check the reference count of a dentry.
dentry_t * dentry_lookup_child(dentry_t *parent, const char *name)
Get a child dentry from a parent dentry.
void dentry_unref(dentry_t *dentry)
Decrement the reference count of a dentry.
__nodiscard bool dentry_unref_one_norelease(dentry_t *dentry)
Decrease the refcount of ONE SINGLE dentry, including (if it's a mountpoint) the mountpoint dentry.
@ RESOLVE_EXPECT_ANY_EXIST
@ RESOLVE_SYMLINK_NOFOLLOW
@ RESOLVE_EXPECT_ANY_TYPE
@ RESOLVE_EXPECT_NONEXIST
MOSAPI void(1, 2) fatal_abort(const char *fmt
#define tree_parent(node, type)