int errno = __vfs_walk(start, path, &interim, component, options);
int counter = 0;
int errno = __vfs_walk(start, path, &interim, component, options);
int counter = 0;
if ((inode->itype & VFS_IFFILE) && !inode->pg_cache) {
struct pcache* pcache = vzalloc(sizeof(struct pcache));
pcache_init(pcache);
if ((inode->itype & VFS_IFFILE) && !inode->pg_cache) {
struct pcache* pcache = vzalloc(sizeof(struct pcache));
pcache_init(pcache);
if (!file->ops.close || !(errno = file->ops.close(file))) {
file->dnode->ref_count--;
file->inode->open_count--;
if (!file->ops.close || !(errno = file->ops.close(file))) {
file->dnode->ref_count--;
file->inode->open_count--;
__vfs_readdir_callback(&dctx, vfs_ddot.value, vfs_ddot.len, 0);
} else {
dctx.index -= 2;
__vfs_readdir_callback(&dctx, vfs_ddot.value, vfs_ddot.len, 0);
} else {
dctx.index -= 2;
- { errno = file->ops.read(file, buf, count, file->f_pos); })
+ { errno = file->ops.read(file->inode, buf, count, file->f_pos); })
- { errno = file->ops.write(file, buf, count, file->f_pos); })
+ { errno = file->ops.write(file->inode, buf, count, file->f_pos); })
if (dnode->inode->ops.read_symlink) {
int errno = dnode->inode->ops.read_symlink(dnode->inode, &link);
strncpy(buf, link, size);
if (dnode->inode->ops.read_symlink) {
int errno = dnode->inode->ops.read_symlink(dnode->inode, &link);
strncpy(buf, link, size);