123 if (d_parent ==
NULL)
135 add_record(state, child->inode->ino, child->name,
strlen(child->name), child->inode->type);
should_inline dentry_t * dentry_parent(const dentry_t *dentry)
MOSAPI char * strdup(const char *src)
MOSAPI s32 strcmp(const char *str1, const char *str2)
ssize_t vfs_write_pagecache(inode_cache_t *icache, const void *buf, size_t total_size, off_t offset)
phyframe_t * pagecache_get_page_for_write(inode_cache_t *cache, off_t pgoff)
Get a page from the page cache for writing.
ssize_t vfs_read_pagecache(inode_cache_t *icache, void *buf, size_t size, off_t offset)
static size_t strlen(const char *s)
#define SLAB_AUTOINIT(name, var, type)
should_inline bool spinlock_is_locked(const spinlock_t *lock)
#define spinlock_acquire(lock)
#define spinlock_release(lock)
superblock_t * superblock
MOSAPI void tree_node_init(tree_node_t *node)
#define tree_node(element)
MOSAPI void tree_add_child(tree_node_t *parent, tree_node_t *child)
#define tree_foreach_child(t, v, h)
void dentry_iterator_op(vfs_listdir_state_t *state, u64 ino, const char *name, size_t name_len, file_type_t type)
bool simple_page_write_begin(inode_cache_t *icache, off_t offset, size_t size, phyframe_t **page, void **private)
static dentry_t * dentry_create(superblock_t *sb, dentry_t *parent, const char *name)
ssize_t vfs_generic_write(const file_t *file, const void *buf, size_t size, off_t offset)
void vfs_generic_iterate_dir(const dentry_t *dir, vfs_listdir_state_t *state, dentry_iterator_op add_record)
dentry_t * dentry_get_from_parent(superblock_t *sb, dentry_t *parent, const char *name)
Create a new dentry with the given name and parent.
void simple_page_write_end(inode_cache_t *icache, off_t offset, size_t size, phyframe_t *page, void *private)
bool vfs_simple_write_begin(inode_cache_t *icache, off_t offset, size_t size)
ssize_t vfs_generic_read(const file_t *file, void *buf, size_t size, off_t offset)
long simple_flush_page_discard_data(inode_cache_t *icache, off_t pgoff, phyframe_t *page)