|
AquilaOS documentation
How it works, and its code
|
A file in memory (a vnode): what its inode says, and the kernel's own state. More...
#include <vfs.h>
Data Fields | |
| ino_t | ino |
| size_t | size |
| dev_t | dev |
| dev_t | rdev |
| mode_t | mode |
| uid_t | uid |
| gid_t | gid |
| nlink_t | nlink |
| _time_t | atime |
| _time_t | mtime |
| _time_t | ctime |
| struct fs * | fs |
| void * | p |
| the filesystem's own data | |
| size_t | ref |
| how many references there are to it | |
| struct waitq * | read_queue |
| where its readers and writers sleep | |
| struct waitq * | write_queue |
| struct vm_object * | vm_object |
| its vm object: its pages, read in (the page cache) | |
| struct pipe * | fifo |
| the pipe of a FIFO while it is open | |
| struct vnode * | mounted |
| for a directory that a filesystem is mounted on, that filesystem's root; for a mounted filesystem's root, the directory it's mounted on | |
| struct vnode * | covered |
A file in memory (a vnode): what its inode says, and the kernel's own state.
| _time_t vnode::atime |
Definition at line 123 of file vfs.h.
Referenced by cpio_root_node(), devfs_init(), devpts_init(), ext2_inode_build(), ext2_inode_sync(), ext2_setattr(), procfs_init(), procfs_vget(), pseudofs_vmknod(), store(), tmpfs_mount(), vfs_stat(), and vfs_utimens().
| struct vnode* vnode::covered |
Definition at line 149 of file vfs.h.
Referenced by dotdot(), vfs_bind(), vfs_lookup_parent(), vfs_mount(), vfs_mount_root_of(), and vfs_vnode_path().
| _time_t vnode::ctime |
Definition at line 125 of file vfs.h.
Referenced by cpio_root_node(), devfs_init(), devpts_init(), ext2_inode_build(), ext2_inode_sync(), ext2_setattr(), ext2_vlink(), ext2_vrename(), ext2_vunlink(), procfs_init(), procfs_vget(), pseudofs_vmknod(), store(), tmpfs_mount(), vfs_chmod(), vfs_chown(), vfs_stat(), and vfs_utimens().
| dev_t vnode::dev |
Definition at line 116 of file vfs.h.
Referenced by procfs_proc_maps(), and vfs_stat().
| struct pipe* vnode::fifo |
the pipe of a FIFO while it is open
Definition at line 143 of file vfs.h.
Referenced by pipefs_close(), and pipefs_fifo_open().
| struct fs* vnode::fs |
Definition at line 127 of file vfs.h.
Referenced by cpio_new_node(), cpio_root_node(), devfs_init(), devpts_init(), ext2_inode_build(), load_ramdisk(), minix_inode_build(), pipefs_end(), procfs_init(), procfs_vget(), pseudofs_vmknod(), tmpfs_mount(), vfs_close(), vfs_finddir(), vfs_ioctl(), vfs_map(), vfs_read_io(), vfs_readdir(), vfs_setattr(), vfs_trunc(), vfs_vget(), vfs_vlink(), vfs_vmknod(), vfs_vrename(), vfs_vunlink(), and vfs_write_io().
| gid_t vnode::gid |
Definition at line 120 of file vfs.h.
Referenced by cpio_new_node(), cpio_root_node(), ext2_inode_build(), ext2_inode_sync(), ext2_setattr(), minix_inode_build(), minix_inode_sync(), pseudofs_vmknod(), store(), vfs_access(), vfs_chmod(), vfs_chown(), and vfs_stat().
| ino_t vnode::ino |
Definition at line 114 of file vfs.h.
Referenced by cpio_new_node(), cpio_root_node(), cpio_vget(), dentry_update(), devfs_init(), devpts_init(), entry_name(), ext2_close(), ext2_dentry_create(), ext2_finddir(), ext2_inode_build(), ext2_inode_sync(), ext2_read(), ext2_readdir(), ext2_setattr(), ext2_trunc(), ext2_vlink(), ext2_vmknod(), ext2_vrename(), ext2_write(), minix_dentry_create(), minix_finddir(), minix_inode_build(), minix_inode_sync(), minix_read(), minix_readdir(), minix_trunc(), minix_vmknod(), minix_write(), procfs_close(), procfs_entry_read(), procfs_init(), procfs_proc_maps(), procfs_readdir(), procfs_vget(), pseudofs_vmknod(), tmpfs_mount(), tmpfs_vget(), vcache_eq(), vcache_find(), vcache_insert(), vcache_remove(), vfs_stat(), and vfs_vget().
| mode_t vnode::mode |
Definition at line 118 of file vfs.h.
Referenced by binfmt_load(), cpio_find(), cpio_finddir(), cpio_new_child_node(), cpio_new_node(), cpio_root_node(), creat_path(), cwd_set(), devfs_init(), devpts_init(), do_openat(), entry_remove(), exec_script(), ext2_dentry_create(), ext2_inode_build(), ext2_inode_sync(), ext2_readdir(), ext2_setattr(), ext2_vlink(), ext2_vrename(), ext2_vunlink(), ext2_write(), load_ramdisk(), minix_dentry_create(), minix_inode_build(), minix_inode_sync(), minix_readdir(), pipefs_end(), procfs_init(), procfs_vget(), pseudofs_finddir(), pseudofs_vmknod(), pseudofs_vrename(), pseudofs_vunlink(), ptm_new(), store(), sys_fchmod(), sys_mknod(), sys_mknodat(), tmpfs_mount(), vfs_access(), vfs_chmod(), vfs_chown(), vfs_creat(), vfs_finddir(), vfs_link(), vfs_mkdir(), vfs_mknod(), vfs_mount(), vfs_readdir(), vfs_readlink(), vfs_remove(), vfs_stat(), vfs_vlink(), vfs_vmknod(), vfs_vrename(), and walk().
| struct vnode* vnode::mounted |
for a directory that a filesystem is mounted on, that filesystem's root; for a mounted filesystem's root, the directory it's mounted on
Definition at line 148 of file vfs.h.
Referenced by cross_down(), vfs_bind(), vfs_lookup_parent(), and vfs_mount().
| _time_t vnode::mtime |
Definition at line 124 of file vfs.h.
Referenced by cpio_new_node(), cpio_root_node(), devfs_init(), devpts_init(), ext2_inode_build(), ext2_inode_sync(), ext2_setattr(), ext2_vrename(), ext2_vunlink(), minix_inode_build(), minix_inode_sync(), procfs_init(), procfs_vget(), pseudofs_vmknod(), store(), tmpfs_mount(), vfs_stat(), and vfs_utimens().
| nlink_t vnode::nlink |
Definition at line 121 of file vfs.h.
Referenced by cpio_new_node(), cpio_root_node(), devfs_init(), devpts_init(), entry_remove(), ext2_close(), ext2_inode_build(), ext2_inode_sync(), ext2_vlink(), ext2_vmknod(), ext2_vrename(), ext2_vunlink(), minix_inode_build(), minix_inode_sync(), minix_vmknod(), pseudofs_vlink(), pseudofs_vmknod(), pseudofs_vrename(), tmpfs_close(), tmpfs_mount(), and vfs_stat().
| void* vnode::p |
the filesystem's own data
Definition at line 130 of file vfs.h.
Referenced by cpio_find(), cpio_finddir(), cpio_new_child_node(), cpio_new_node(), cpio_read(), cpio_readdir(), cpio_root_node(), creat_path(), dentry_update(), entry_find(), entry_remove(), exec_script(), ext2_close(), ext2_dentry_create(), ext2_finddir(), ext2_inode_build(), ext2_inode_sync(), ext2_read(), ext2_readdir(), ext2_setattr(), ext2_trunc(), ext2_vget(), ext2_vlink(), ext2_vmknod(), ext2_vrename(), ext2_vunlink(), ext2_write(), minix_dentry_create(), minix_finddir(), minix_inode_build(), minix_inode_sync(), minix_read(), minix_readdir(), minix_trunc(), minix_vget(), minix_vmknod(), minix_write(), pipefs_can_read(), pipefs_can_write(), pipefs_close(), pipefs_end(), pipefs_read(), pipefs_write(), procfs_entry_read(), procfs_vget(), pseudofs_finddir(), pseudofs_readdir(), pseudofs_vlink(), pseudofs_vmknod(), pseudofs_vrename(), ptm_close(), ptm_new(), tmpfs_close(), tmpfs_mount(), tmpfs_read(), tmpfs_trunc(), tmpfs_write(), and walk().
| dev_t vnode::rdev |
Definition at line 117 of file vfs.h.
Referenced by cpio_new_node(), ext2_inode_build(), load_ramdisk(), minix_inode_build(), pseudofs_vmknod(), ptm_new(), vfs_mount_root_dev(), and vfs_stat().
| struct waitq* vnode::read_queue |
where its readers and writers sleep
Definition at line 136 of file vfs.h.
Referenced by pipefs_end(), ptm_new(), pts_new(), and pty_free().
| size_t vnode::ref |
how many references there are to it
Definition at line 133 of file vfs.h.
Referenced by cpio_root_node(), creat_path(), ctty_open(), devfs_init(), dotdot(), entry_remove(), ext2_vunlink(), lookup_name(), pipefs_end(), pipefs_fifo_open(), proc_fork(), procfs_close(), procfs_init(), ptm_close(), ptm_new(), pts_new(), sched_init_spawn(), tmpfs_close(), tmpfs_mount(), uart_setup(), vfs_bind(), vfs_close(), vfs_creat(), vfs_lookup(), vfs_lookup_dir(), vfs_mkdir(), vfs_mknod(), vfs_parent(), vfs_vget(), vm_object_incref(), vref(), and walk().
| size_t vnode::size |
Definition at line 115 of file vfs.h.
Referenced by cpio_load(), cpio_new_node(), cpio_read(), cpio_root_node(), ext2_dentry_create(), ext2_inode_build(), ext2_inode_sync(), ext2_trunc(), ext2_write(), load_ramdisk(), minix_dentry_create(), minix_inode_build(), minix_inode_sync(), minix_trunc(), minix_write(), posix_file_lseek(), procfs_proc_maps(), pseudofs_vmknod(), sys_getcwd(), tmpfs_file_can_read(), tmpfs_mount(), tmpfs_read(), tmpfs_trunc(), tmpfs_write(), vfs_readlink(), vfs_stat(), vfs_trunc(), and vfs_vnode_path().
| uid_t vnode::uid |
Definition at line 119 of file vfs.h.
Referenced by cpio_new_node(), cpio_root_node(), ext2_inode_build(), ext2_inode_sync(), ext2_setattr(), minix_inode_build(), minix_inode_sync(), pseudofs_vmknod(), store(), vfs_access(), vfs_chmod(), vfs_chown(), vfs_stat(), and vfs_utimens().
| struct vm_object* vnode::vm_object |
its vm object: its pages, read in (the page cache)
Definition at line 140 of file vfs.h.
Referenced by vm_object_vnode(), vnode_pages_free(), and vnode_pages_update().
| struct waitq* vnode::write_queue |
Definition at line 137 of file vfs.h.
Referenced by pipefs_end(), ptm_new(), pts_new(), and pty_free().