tmpnode
rdsk_node_t tmpnode;
tmpnode.rn_name = &sname[0];
(void) snprintf(tmpnode.rn_name, MAXNAMELEN, "%s%u",
(node = avl_find(r, &tmpnode, NULL)))
struct tmpnode *dir,
struct tmpnode **newnode,
struct tmpnode *tp;
tp = tmp_memalloc(sizeof (struct tmpnode), TMP_MUSTHAVE);
tmpfs_hash_change(struct tdirent *tdp, struct tmpnode *fromtp)
tmpfs_hash_lookup(char *name, struct tmpnode *parent, uint_t hold,
struct tmpnode **found)
struct tmpnode *tnp;
struct tmpnode *parent,
struct tmpnode **foundtp,
struct tmpnode *dir, /* target directory to make entry in */
struct tmpnode *fromparent, /* source directory if rename */
struct tmpnode *tp, /* source tmpnode, if link/rename */
struct tmpnode **tpp, /* return tmpnode, if create/mkdir */
struct tmpnode *found = NULL;
static int tdircheckpath(struct tmpnode *, struct tmpnode *, struct cred *);
static int tdirrename(struct tmpnode *, struct tmpnode *, struct tmpnode *,
char *, struct tmpnode *, struct tdirent *, struct cred *);
static void tdirfixdotdot(struct tmpnode *, struct tmpnode *, struct tmpnode *);
static int tdirmaketnode(struct tmpnode *, struct tmount *, struct vattr *,
enum de_op, struct tmpnode **, struct cred *);
struct tmpnode *dir,
struct tmpnode *tp,
static int tdiraddentry(struct tmpnode *, struct tmpnode *, char *,
struct tmpnode *tnp;
enum de_op, struct tmpnode *);
struct tmpnode *parent, /* parent of directory to initialize */
struct tmpnode *dir) /* the new directory */
tdirtrunc(struct tmpnode *dir)
struct tmpnode *tp;
struct tmpnode *fromtp,
struct tmpnode *toparent,
struct tmpnode *dir, *dotdot;
struct tmpnode *fromparent, /* parent directory of source */
struct tmpnode *fromtp, /* source tmpnode */
struct tmpnode *toparent, /* parent directory of target */
struct tmpnode *to, /* target tmpnode */
struct tmpnode *fromtp, /* child directory */
struct tmpnode *fromparent, /* old parent directory */
struct tmpnode *toparent) /* new parent directory */
struct tmpnode *dir, /* target directory to make entry in */
struct tmpnode *tp, /* new tmpnode */
struct tmpnode *fromtp)
struct tmpnode *tp = vtp;
tmp_sticky_remove_access(struct tmpnode *dir, struct tmpnode *entry,
struct tmpnode *tp,
tmpnode_growmap(struct tmpnode *tp, ulong_t newsize)
tmpnode_init(struct tmount *tm, struct tmpnode *t, vattr_t *vap, cred_t *cred)
if (tm->tm_rootnode != (struct tmpnode *)NULL) {
struct tmpnode *tp,
struct tmpnode *tp,
struct tmpnode *tp;
tp = tmp_memalloc(sizeof (struct tmpnode), TMP_MUSTHAVE);
struct tmpnode *tnp, *cancel;
struct tmpnode *tp = tm->tm_rootnode;
(sizeof (struct tmpnode) + sizeof (struct tdirent));
(sizeof (struct tmpnode) + sizeof (struct tdirent));
struct tmpnode *tp = NULL;
(struct tmpnode *)NULL, (struct tmpnode *)NULL,
struct tmpnode *parent = (struct tmpnode *)VTOTN(dvp);
struct tmpnode *tp = NULL;
struct tmpnode *parent;
struct tmpnode *from;
struct tmpnode *found = NULL;
struct tmpnode *tp,
parent = (struct tmpnode *)VTOTN(dvp);
from = (struct tmpnode *)VTOTN(srcvp);
error = tdirenter(tm, parent, tnm, DE_LINK, (struct tmpnode *)NULL,
from, NULL, (struct tmpnode **)NULL, cred, ct);
struct tmpnode *fromparent;
struct tmpnode *toparent;
struct tmpnode *fromtp = NULL; /* source tmpnode */
struct tmpnode *totp; /* target tmpnode */
fromparent = (struct tmpnode *)VTOTN(odvp);
toparent = (struct tmpnode *)VTOTN(ndvp);
(struct tmpnode **)NULL, cred, ct);
struct tmpnode *parent = (struct tmpnode *)VTOTN(dvp);
struct tmpnode *self = NULL;
error = tdirenter(tm, parent, nm, DE_MKDIR, (struct tmpnode *)NULL,
(struct tmpnode *)NULL, va, &self, cred, ct);
struct tmpnode *parent = (struct tmpnode *)VTOTN(dvp);
struct tmpnode *self = NULL;
struct tmpnode *tp = (struct tmpnode *)VTOTN(vp);
struct tmpnode *parent = (struct tmpnode *)VTOTN(dvp);
struct tmpnode *self = (struct tmpnode *)NULL;
error = tdirenter(tm, parent, lnm, DE_CREATE, (struct tmpnode *)NULL,
(struct tmpnode *)NULL, tva, &self, cred, ct);
struct tmpnode *tp = (struct tmpnode *)VTOTN(vp);
struct tmpnode *tp = (struct tmpnode *)VTOTN(vp);
struct tmpnode *xtp = tp->tn_xattrdp;
tmp_memfree(tp, sizeof (struct tmpnode));
struct tmpnode *tp = (struct tmpnode *)VTOTN(vp);
struct tmpnode *tp = VTOTN(vp);
struct tmpnode *tp = VTOTN(vp);
struct tmpnode *tp;
struct tmpnode *tp = (struct tmpnode *)VTOTN(vp);
register struct tmpnode *tp = VTOTN(vp);
struct tmpnode *tp = VTOTN(vp);
struct tmpnode *tp = VTOTN(vp);
struct tmpnode *tp = NULL;
struct tmpnode *tp,
struct tmpnode *tp = (struct tmpnode *)VTOTN(vp);
struct tmpnode *tp = (struct tmpnode *)VTOTN(vp);
struct tmpnode *tp = (struct tmpnode *)VTOTN(vp);
struct tmpnode *tp = (struct tmpnode *)VTOTN(vp);
struct tmpnode *tp = (struct tmpnode *)VTOTN(vp);
struct tmpnode *tp = (struct tmpnode *)VTOTN(dvp);
struct tmpnode *ntp = NULL;
struct tmpnode *xdp;
xdp = tmp_memalloc(sizeof (struct tmpnode),
struct tmpnode *parent;
struct tmpnode *self;
struct tmpnode *oldtp;
parent = (struct tmpnode *)VTOTN(dvp);
extern int tdirdelete(struct tmpnode *, struct tmpnode *, char *,
extern void tdirinit(struct tmpnode *, struct tmpnode *);
extern void tdirtrunc(struct tmpnode *);
extern int tmp_resv(struct tmount *, struct tmpnode *, size_t, int);
extern int tmp_sticky_remove_access(struct tmpnode *, struct tmpnode *,
extern int tdirenter(struct tmount *, struct tmpnode *, char *,
enum de_op, struct tmpnode *, struct tmpnode *, struct vattr *,
struct tmpnode **, struct cred *, caller_context_t *);
struct tmpnode *tm_rootnode; /* root tmpnode */
#define VTOTN(vp) ((struct tmpnode *)(vp)->v_data)
extern void tmpnode_init(struct tmount *, struct tmpnode *,
extern int tmpnode_trunc(struct tmount *, struct tmpnode *, ulong_t);
extern void tmpnode_growmap(struct tmpnode *, ulong_t);
extern int tdirlookup(struct tmpnode *, char *, struct tmpnode **,
struct tmpnode *td_tmpnode; /* tnode for this file */
struct tmpnode *td_parent; /* parent, dir we are in */
struct tmpnode *tn_back; /* linked list of tmpnodes */
struct tmpnode *tn_forw; /* linked list of tmpnodes */
struct tmpnode *tn_xattrdp; /* ext. attribute directory */