|
PatchworkOS
19e446b
A non-POSIX operating system.
|
Directory entry structure. More...
#include <dentry.h>
Public Member Functions | |
| _Atomic (uint64_t) mountCount | |
| Number of mounts targeting this dentry. | |
Data Fields | |
| ref_t | ref |
| dentry_id_t | id |
| char | name [MAX_NAME] |
| The name of the dentry, immutable after creation. | |
| vnode_t * | vnode |
Will be NULL if the dentry is negative, once positive it will never be modified. | |
| dentry_t * | parent |
| The parent dentry, will be itself if this is the root dentry, immutable after creation. | |
| list_entry_t | siblingEntry |
| list_t | children |
| superblock_t * | superblock |
| const dentry_ops_t * | ops |
| void * | data |
| struct dentry * | next |
| Next dentry in the dentry cache hash bucket. | |
| rcu_entry_t | rcu |
| RCU entry for deferred cleanup. | |
| list_entry_t | otherEntry |
| Made available for use by any other subsystems for convenience. | |
Directory entry structure.
A dentry structure is protected by the mutex of its vnode. Note that since move and rename are not supported in favor of link and remove, the parent of a dentry will never change after creation which allows some optimizations.
| dentry_t::_Atomic | ( | uint64_t | ) |
Number of mounts targeting this dentry.
| dentry_id_t dentry_t::id |
| char dentry_t::name[MAX_NAME] |
| vnode_t* dentry_t::vnode |
| dentry_t* dentry_t::parent |
| list_entry_t dentry_t::siblingEntry |
| superblock_t* dentry_t::superblock |
| const dentry_ops_t* dentry_t::ops |
| struct dentry* dentry_t::next |
| rcu_entry_t dentry_t::rcu |
| list_entry_t dentry_t::otherEntry |