specnode
struct specnode *sn;
struct specnode *sn;
struct specnode *sn;
struct specnode *sn;
struct specnode *sn;
struct specnode *sn;
struct specnode *sn;
struct specnode *sn = NULL;
spec_io_enter(struct vnode *vp, struct specnode **snp, dev_t *devp)
struct specnode *sn;
spec_io_exit(struct vnode *vp, struct specnode *sn)
struct specnode *sn;
struct specnode *vu_specnode; /* v device (VCHR, VBLK) */
struct specnode sn;
apply_specdir(const char *dir, NODE *specnode, fsnode *dirnode, int speconly)
assert(specnode != NULL);
printf("%s: %s %p %p\n", __func__, dir, specnode, dirnode);
if (specnode->type != F_DIR)
dir, specnode->name);
apply_specentry(dir, specnode, dirnode);
for (curnode = specnode->child; curnode != NULL;
for (curnode = specnode->child; curnode != NULL;
apply_specentry(const char *dir, NODE *specnode, fsnode *dirnode)
assert(specnode != NULL);
if (nodetoino(specnode->type) != dirnode->type)
dir, specnode->name, inode_type(nodetoino(specnode->type)),
if (specnode->flags & (F_GID | F_GNAME)) {
dirnode->inode->st.st_gid, specnode->st_gid);
dirnode->inode->st.st_gid = specnode->st_gid;
if (specnode->flags & F_MODE) {
dirnode->inode->st.st_mode & ALLPERMS, specnode->st_mode);
dirnode->inode->st.st_mode |= (specnode->st_mode & ALLPERMS);
if (specnode->flags & F_SIZE) {
(intmax_t)specnode->st_size);
dirnode->inode->st.st_size = specnode->st_size;
if (specnode->flags & F_SLINK) {
assert(specnode->slink != NULL);
ASEPRINT("symlink", "%s", dirnode->symlink, specnode->slink);
dirnode->symlink = estrdup(specnode->slink);
if (specnode->flags & F_TIME) {
(long)specnode->st_mtimespec.tv_sec);
dirnode->inode->st.st_mtime = specnode->st_mtimespec.tv_sec;
dirnode->inode->st.st_atime = specnode->st_mtimespec.tv_sec;
dirnode->inode->st.st_mtimensec = specnode->st_mtimespec.tv_nsec;
dirnode->inode->st.st_atimensec = specnode->st_mtimespec.tv_nsec;
if (specnode->flags & (F_UID | F_UNAME)) {
dirnode->inode->st.st_uid, specnode->st_uid);
dirnode->inode->st.st_uid = specnode->st_uid;
if (specnode->flags & F_FLAGS) {
(unsigned long)specnode->st_flags);
FSINODE_ST_FLAGS(*dirnode->inode) = specnode->st_flags;
if (specnode->flags & F_DEV) {
(uintmax_t)specnode->st_rdev);
dirnode->inode->st.st_rdev = specnode->st_rdev;