typedef enum {
- Proot, /* the filesystem root */
- Plink,
- Preg,
- Pdir,
- Pdev
+ Nroot, /* the filesystem root */
+ Nlink,
+ Nreg,
+ Ndir,
+ Ndev
} devfs_nodetype;
struct devfs_dirent {
node->gid = DEVFS_DEFAULT_GID;
switch (devfsnodetype) {
- case Proot:
+ case Nroot:
/*
* Ensure that we don't recycle the root vnode by marking it as
* linked into the topology.
*/
node->flags |= DEVFS_NODE_LINKED;
- case Pdir:
+ case Ndir:
TAILQ_INIT(DEVFS_DENODE_HEAD(node));
node->d_dir.d_type = DT_DIR;
node->nchildren = 2;
break;
- case Plink:
+ case Nlink:
node->d_dir.d_type = DT_LNK;
break;
- case Preg:
+ case Nreg:
node->d_dir.d_type = DT_REG;
break;
- case Pdev:
+ case Ndev:
if (dev != NULL) {
node->d_dir.d_type = DT_CHR;
node->d_dev = dev;
* reference.
*/
if ((parent != NULL) &&
- ((parent->node_type == Proot) || (parent->node_type == Pdir))) {
+ ((parent->node_type == Nroot) || (parent->node_type == Ndir))) {
parent->nchildren++;
node->cookie = parent->cookie_jar++;
node->flags |= DEVFS_NODE_LINKED;
node->v_node = vp;
switch (node->node_type) {
- case Proot:
+ case Nroot:
vsetflags(vp, VROOT);
/* fall through */
- case Pdir:
+ case Ndir:
vp->v_type = VDIR;
break;
- case Plink:
+ case Nlink:
vp->v_type = VLNK;
break;
- case Preg:
+ case Nreg:
vp->v_type = VREG;
break;
- case Pdev:
+ case Ndev:
vp->v_type = VCHR;
KKASSERT(node->d_dev);
KKASSERT(node);
KKASSERT(((node->flags & DEVFS_NODE_LINKED) == 0) ||
- (node->node_type == Proot));
+ (node->node_type == Nroot));
/*
* Protect against double frees
struct devfs_node *node1, *node2;
void *ret = NULL;
- if ((node->node_type == Proot) || (node->node_type == Pdir)) {
+ if ((node->node_type == Nroot) || (node->node_type == Ndir)) {
if (node->nchildren > 2) {
TAILQ_FOREACH_MUTABLE(node1, DEVFS_DENODE_HEAD(node),
link, node2) {
static void *
devfs_gc_dirs_callback(struct devfs_node *node, void *unused)
{
- if (node->node_type == Pdir) {
+ if (node->node_type == Ndir) {
if ((node->nchildren == 2) &&
!(node->flags & DEVFS_USER_CREATED)) {
devfs_unlinkp(node);
static void *
devfs_gc_links_callback(struct devfs_node *node, struct devfs_node *target)
{
- if ((node->node_type == Plink) && (node->link_target == target)) {
+ if ((node->node_type == Nlink) && (node->link_target == target)) {
devfs_unlinkp(node);
devfs_freep(node);
}
KKASSERT(alias != NULL);
- if ((node->node_type == Proot) || (node->node_type == Pdir)) {
+ if ((node->node_type == Nroot) || (node->node_type == Ndir)) {
if (node->nchildren > 2) {
TAILQ_FOREACH_MUTABLE(node1, DEVFS_DENODE_HEAD(node), link, node2) {
devfs_alias_apply(node1, alias);
goto done;
}
- linknode = devfs_allocp(Plink, name, parent, mp, NULL);
+ linknode = devfs_allocp(Nlink, name, parent, mp, NULL);
if (linknode == NULL) {
result = 1;
goto done;
}
if ((found == NULL) && (create)) {
- found = devfs_allocp(Pdir, dir_name, parent, parent->mp, NULL);
+ found = devfs_allocp(Ndir, dir_name, parent, parent->mp, NULL);
}
return found;
goto out;
}
- node = devfs_allocp(Pdev, name, parent, parent->mp, dev);
+ node = devfs_allocp(Ndev, name, parent, parent->mp, dev);
nanotime(&parent->mtime);
/*
void *
devfs_find_device_node_callback(struct devfs_node *node, cdev_t target)
{
- if ((node->node_type == Pdev) && (node->d_dev == target)) {
+ if ((node->node_type == Ndev) && (node->d_dev == target)) {
return node;
}
if (node->flags & DEVFS_RULE_HIDDEN)
node->flags &= ~(DEVFS_HIDDEN | DEVFS_RULE_HIDDEN);
- if ((node->node_type == Plink) && (node->flags & DEVFS_RULE_CREATED)) {
+ if ((node->node_type == Nlink) && (node->flags & DEVFS_RULE_CREATED)) {
KKASSERT(node->link_target);
node->flags &= ~DEVFS_RULE_CREATED;
--node->link_target->nlinks;
devfs_gc(node);
- } else if ((node->node_type == Pdev) && (node->d_dev)) {
+ } else if ((node->node_type == Ndev) && (node->d_dev)) {
node->uid = node->d_dev->si_uid;
node->gid = node->d_dev->si_gid;
node->mode = node->d_dev->si_perms;
mnt->file_count = 0;
mnt->mp = mp;
TAILQ_INIT(&mnt->orphan_list);
- mnt->root_node = devfs_allocp(Proot, "", NULL, mp, NULL);
+ mnt->root_node = devfs_allocp(Nroot, "", NULL, mp, NULL);
KKASSERT(mnt->root_node);
lockmgr(&devfs_lock, LK_RELEASE);
* sure that the target isn't hidden. If it is, we don't
* show the link in the directory listing.
*/
- if ((node->node_type == Plink) && (node->link_target != NULL) &&
+ if ((node->node_type == Nlink) && (node->link_target != NULL) &&
(node->link_target->flags & DEVFS_HIDDEN))
continue;
lockmgr(&devfs_lock, LK_EXCLUSIVE);
- if ((dnode->node_type != Proot) && (dnode->node_type != Pdir)) {
+ if ((dnode->node_type != Nroot) && (dnode->node_type != Ndir)) {
error = ENOENT;
cache_setvp(ap->a_nch, NULL);
goto out;
if (found) {
depth = 0;
- while ((found->node_type == Plink) && (found->link_target)) {
+ while ((found->node_type == Nlink) && (found->link_target)) {
if (depth >= 8) {
devfs_debug(DEVFS_DEBUG_SHOW, "Recursive link or depth >= 8");
break;
vap->va_rmajor = 0;
vap->va_rminor = 0;
- if ((node->node_type == Pdev) && node->d_dev) {
+ if ((node->node_type == Ndev) && node->d_dev) {
reference_dev(node->d_dev);
vap->va_rminor = node->d_dev->si_uminor;
release_dev(node->d_dev);
if (!devfs_node_is_accessible(dnode))
return ENOENT;
- if ((dnode->node_type != Proot) && (dnode->node_type != Pdir))
+ if ((dnode->node_type != Nroot) && (dnode->node_type != Ndir))
goto out;
lockmgr(&devfs_lock, LK_EXCLUSIVE);
- devfs_allocvp(ap->a_dvp->v_mount, ap->a_vpp, Pdir,
+ devfs_allocvp(ap->a_dvp->v_mount, ap->a_vpp, Ndir,
ap->a_nch->ncp->nc_name, dnode, NULL);
if (*ap->a_vpp) {
ap->a_vap->va_type = VLNK;
- if ((dnode->node_type != Proot) && (dnode->node_type != Pdir))
+ if ((dnode->node_type != Nroot) && (dnode->node_type != Ndir))
goto out;
lockmgr(&devfs_lock, LK_EXCLUSIVE);
- devfs_allocvp(ap->a_dvp->v_mount, ap->a_vpp, Plink,
+ devfs_allocvp(ap->a_dvp->v_mount, ap->a_vpp, Nlink,
ap->a_nch->ncp->nc_name, dnode, NULL);
targetlen = strlen(ap->a_target);
lockmgr(&devfs_lock, LK_EXCLUSIVE);
- if ((dnode->node_type != Proot) && (dnode->node_type != Pdir))
+ if ((dnode->node_type != Nroot) && (dnode->node_type != Ndir))
goto out;
TAILQ_FOREACH(node, DEVFS_DENODE_HEAD(dnode), link) {
if ((node->flags & DEVFS_USER_CREATED) == 0) {
error = EPERM;
goto out;
- } else if (node->node_type != Pdir) {
+ } else if (node->node_type != Ndir) {
error = ENOTDIR;
goto out;
} else if (node->nchildren > 2) {
lockmgr(&devfs_lock, LK_EXCLUSIVE);
- if ((dnode->node_type != Proot) && (dnode->node_type != Pdir))
+ if ((dnode->node_type != Nroot) && (dnode->node_type != Ndir))
goto out;
TAILQ_FOREACH(node, DEVFS_DENODE_HEAD(dnode), link) {
if ((node->flags & DEVFS_USER_CREATED) == 0) {
error = EPERM;
goto out;
- } else if (node->node_type == Pdir) {
+ } else if (node->node_type == Ndir) {
error = EISDIR;
goto out;
} else {
devfs_debug(DEVFS_DEBUG_DEBUG,
"parent here is: %s, node is: |%s|\n",
- ((node->parent->node_type == Proot) ?
+ ((node->parent->node_type == Nroot) ?
"ROOT!" : node->parent->d_dir.d_name),
newnode->d_dir.d_name);
devfs_debug(DEVFS_DEBUG_DEBUG,