vnode - mathfur/minix GitHub Wiki
呼出元
概要
servers/vfs/vnode.hにて定義 inodeに似た何か。 ユーザ、グループが保有するもの。
実装
EXTERN struct vnode {
/* 以下は分かる */
mode_t v_mode; /* file type, protection, etc. */
uid_t v_uid; /* uid(==ユーザID) of inode. */
gid_t v_gid; /* gid(==グループID) of inode. */
/* なんとなく分かる */
dev_t v_sdev; /* スペシャルファイルのデバイス番号. */
tll_t v_lock; /* three-level-lock */
/* 分からない */
/* v_ と _eは何を意味する? */
/* _t は「typedefで定義された型」の意味 */
struct vmnt *v_vmnt; /* vmnt object of the partition */
endpoint_t(==int) v_fs_e; /* FS process' endpoint number(エンドポイントとは?) */
endpoint_t v_mapfs_e; /* mapped FS process' endpoint number */
ino_t(==uint32_t) v_inode_nr; /* inode number on its (minor) device */
ino_t v_mapinode_nr; /* mapped inode number of mapped FS. */
off_t v_size; /* current(何に対してカレント?) file size in bytes */
int v_ref_count; /* # times vnode used; 0 means slot is free */
int v_fs_count; /* # reference at the underlying FS */
int v_mapfs_count; /* # reference at the underlying mapped FS */
endpoint_t v_bfs_e; /* endpoint number for the FS proces in case
of a block special file */
dev_t v_dev; /* device number on which the corresponding
inode resides */
} vnode[NR_VNODES];