inoinfo
dirp->d_type = inoinfo(idesc->id_parent)->ino_type;
dirp->d_type = inoinfo(idesc->id_parent)->ino_type;
struct inoinfo *inp;
idesc.id_type = inoinfo(oldlfdir)->ino_idtype;
adjust(&idesc, inoinfo(oldlfdir)->ino_linkcnt + 1);
inoinfo(oldlfdir)->ino_linkcnt = 0;
if (inoinfo(lfdir)->ino_state != DFOUND) {
inoinfo(orphan)->ino_linkcnt--;
inoinfo(lfdir)->ino_linkcnt++;
struct inoinfo **inpp, *inp;
inoinfo(parentdir)->ino_linkcnt++;
struct inoinfo **inpend;
if (inoinfo(inp->i_parent)->ino_state == DFOUND &&
inoinfo(inp->i_number)->ino_state = DFOUND;
struct inoinfo *inp, *parentinp;
check_dirdepth(struct inoinfo *inp)
inoinfo(ino)->ino_type = DT_DIR;
inoinfo(ino)->ino_linkcnt = DIP(dp, di_nlink);
struct inoinfo *parentinp;
inoinfo(ino)->ino_type = DT_DIR;
inoinfo(ino)->ino_state = inoinfo(parent)->ino_state;
if (inoinfo(ino)->ino_state == DSTATE) {
inoinfo(ino)->ino_linkcnt = DIP(dp, di_nlink);
inoinfo(parent)->ino_linkcnt++;
#define INO_IS_DUNFOUND(ino) S_IS_DUNFOUND(inoinfo(ino)->ino_state)
#define INO_IS_DVALID(ino) S_IS_DVALID(inoinfo(ino)->ino_state)
SLIST_ENTRY(inoinfo) i_hash; /* hash list */
extern SLIST_HEAD(inohash, inoinfo) *inphash;
extern struct inoinfo **inpsort;
struct inoinfo *cacheino(union dinode *dp, ino_t inumber);
void check_dirdepth(struct inoinfo *inp);
struct inoinfo *getinoinfo(ino_t inumber);
struct inostat *inoinfo(ino_t inum);
struct inoinfo *
struct inoinfo *inp;
inp = (struct inoinfo *)
inpsort = (struct inoinfo **)reallocarray((char *)inpsort,
listmax, sizeof(struct inoinfo *));
struct inoinfo *
struct inoinfo *inp;
struct inoinfo *inp, **inpp;
SLIST_REMOVE(&inphash[inumber % dirhash], inp, inoinfo, i_hash);
struct inoinfo **inpp;
inoinfo(idesc->id_number)->ino_state = USTATE;
switch (inoinfo(ino)->ino_state) {
inoinfo(ino)->ino_state = FCLEAR;
inoinfo(ino)->ino_state = DCLEAR;
errx(EEXIT, "BAD STATE %d TO BLKERR", inoinfo(ino)->ino_state);
} else if (inoinfo(request)->ino_state != USTATE)
if (inoinfo(ino)->ino_state == USTATE)
inoinfo(ino)->ino_state = DSTATE;
inoinfo(ino)->ino_state = FSTATE;
inoinfo(ino)->ino_state = USTATE;
inoinfo(ino)->ino_type = IFTODT(type);
inoinfo(ino)->ino_state = USTATE;
inoinfo(inumber)->ino_state = USTATE;
inoinfo(inumber)->ino_linkcnt = DIP(dp, di_nlink);
inoinfo(inumber)->ino_state = DCLEAR;
inoinfo(inumber)->ino_state = DZLINK;
inoinfo(inumber)->ino_state = DSTATE;
inoinfo(inumber)->ino_state = FZLINK;
inoinfo(inumber)->ino_state = FSTATE;
inoinfo(inumber)->ino_type = IFTODT(mode);
inoinfo(inumber)->ino_idtype = SNAP;
inoinfo(inumber)->ino_idtype = ADDR;
idesc->id_type = inoinfo(inumber)->ino_idtype;
inoinfo(inumber)->ino_state = USTATE;
idesc.id_type = inoinfo(inumber)->ino_idtype;
if (inoinfo(inumber)->ino_state != USTATE &&
inoinfo(UFS_ROOTINO)->ino_state);
inoinfo(UFS_ROOTINO)->ino_state = DFOUND;
inoinfo(UFS_WINO)->ino_state = FSTATE;
inoinfo(UFS_WINO)->ino_type = DT_WHT;
if (inoinfo(inp->i_parent)->ino_state == DFOUND &&
inoinfo(inp->i_number)->ino_state = DFOUND;
inoinfo(inp->i_parent)->ino_linkcnt--;
inoinfo(inp->i_parent)->ino_linkcnt--;
inoinfo(inp->i_dotdot)->ino_linkcnt++;
inoinfo(inp->i_parent)->ino_linkcnt--;
struct inoinfo *inp;
inoinfo(idesc->id_number)->ino_linkcnt--;
inoinfo(dirp->d_ino)->ino_linkcnt--;
inoinfo(dirp->d_ino)->ino_linkcnt--;
switch (inoinfo(dirp->d_ino)->ino_state) {
static int fix_extraneous(struct inoinfo *, struct inodesc *);
if (inoinfo(dirp->d_ino)->ino_state == FCLEAR)
inoinfo(idesc->id_number)->ino_linkcnt--;
inoinfo(dirp->d_ino)->ino_state =
inoinfo(dirp->d_ino)->ino_linkcnt = DIP(dp, di_nlink);
if (inoinfo(idesc->id_number)->ino_state == DFOUND)
inoinfo(dirp->d_ino)->ino_state = DFOUND;
if (dirp->d_type != inoinfo(dirp->d_ino)->ino_type) {
dirp->d_type = inoinfo(dirp->d_ino)->ino_type;
inoinfo(dirp->d_ino)->ino_linkcnt--;
inoinfo(dirp->d_ino)->ino_state,
struct inoinfo **inpp, *inp;
fix_extraneous(struct inoinfo *inp, struct inodesc *idesc)
struct inoinfo **inpend;
switch (inoinfo(UFS_ROOTINO)->ino_state) {
inoinfo(inp->i_number)->ino_linkcnt++; /* name gone, return reference */
return ((*(struct inoinfo * const *)arg1)->i_blks[0] -
(*(struct inoinfo * const *)arg2)->i_blks[0]);
inoinfo(orphan)->ino_linkcnt++;
inoinfo(lfdir)->ino_linkcnt--;
inoinfo(orphan)->ino_state = DFOUND;
struct inoinfo *inp;
state = inoinfo(inp->i_number)->ino_state;
inoinfo(inp->i_dotdot)->ino_linkcnt++;
inoinfo(lfdir)->ino_linkcnt--;
inoinfo(orphan)->ino_state = DFOUND;
inoinfo(inumber)->ino_state,
idesc.id_type = inoinfo(inumber)->ino_idtype;
switch (inoinfo(inumber)->ino_state) {
if (inoinfo(inumber)->ino_linkcnt == 0) {
n = inoinfo(inumber)->ino_linkcnt;
switch (inoinfo(inum)->ino_state) {
inoinfo(inum)->ino_state, (uintmax_t)inum);
inoinfo(UFS_WINO)->ino_state = USTATE;
inpsort = (struct inoinfo **)Calloc(listmax, sizeof(struct inoinfo *));
(uintmax_t)numdirs * sizeof(struct inoinfo *));
struct inoinfo **inpsort; /* disk order list of directory inodes */