Lines Matching refs:nip
856 hammer2_inode_t *nip; in hammer2_inode_get() local
878 nip = hammer2_inode_lookup(pmp, inum); in hammer2_inode_get()
879 if (nip) { in hammer2_inode_get()
885 if (hammer2_mtx_ex_try(&nip->lock) != 0) { in hammer2_inode_get()
887 hammer2_mtx_ex(&nip->lock); in hammer2_inode_get()
891 hammer2_mtx_ex(&nip->lock); in hammer2_inode_get()
899 (nip->flags & HAMMER2_INODE_ONHASH) == 0) { in hammer2_inode_get()
900 hammer2_mtx_unlock(&nip->lock); in hammer2_inode_get()
901 hammer2_inode_drop(nip); in hammer2_inode_get()
906 hammer2_inode_repoint_one(nip, &xop->cluster, in hammer2_inode_get()
909 hammer2_inode_repoint(nip, &xop->cluster); in hammer2_inode_get()
911 return nip; in hammer2_inode_get()
918 nip = kmalloc_obj(sizeof(*nip), pmp->minode, M_WAITOK | M_ZERO); in hammer2_inode_get()
919 hammer2_spin_init(&nip->cluster_spin, "h2clspin"); in hammer2_inode_get()
927 hammer2_inode_t *nnip = nip; in hammer2_inode_get()
928 nip->ihash = (int)hammer2_icrc32(&nnip, sizeof(nnip)); in hammer2_inode_get()
931 nip->cluster.refs = 1; in hammer2_inode_get()
932 nip->cluster.pmp = pmp; in hammer2_inode_get()
933 nip->cluster.flags |= HAMMER2_CLUSTER_INODE; in hammer2_inode_get()
936 nip->meta = nipdata->meta; in hammer2_inode_get()
938 hammer2_inode_repoint(nip, &xop->cluster); in hammer2_inode_get()
940 nip->meta.inum = inum; /* PFS inum is always 1 XXX */ in hammer2_inode_get()
944 nip->pmp = pmp; in hammer2_inode_get()
950 nip->refs = 1; in hammer2_inode_get()
951 hammer2_mtx_init(&nip->lock, "h2inode"); in hammer2_inode_get()
952 hammer2_mtx_init(&nip->truncate_lock, "h2trunc"); in hammer2_inode_get()
953 hammer2_mtx_ex(&nip->lock); in hammer2_inode_get()
954 TAILQ_INIT(&nip->depend_static.sideq); in hammer2_inode_get()
966 hash = inumhash(pmp, nip->meta.inum); in hammer2_inode_get()
972 if (xip->meta.inum == nip->meta.inum) { in hammer2_inode_get()
974 hammer2_mtx_unlock(&nip->lock); in hammer2_inode_get()
975 hammer2_inode_drop(nip); in hammer2_inode_get()
979 nip->next = NULL; in hammer2_inode_get()
980 *xipp = nip; in hammer2_inode_get()
981 atomic_set_int(&nip->flags, HAMMER2_INODE_ONHASH); in hammer2_inode_get()
985 return (nip); in hammer2_inode_get()
1002 hammer2_inode_t *nip; in hammer2_inode_create_pfs() local
1010 nip = NULL; in hammer2_inode_create_pfs()
1111 nip = hammer2_inode_get(pip->pmp, &xop->head, -1, -1); in hammer2_inode_create_pfs()
1112 nip->comp_heuristic = 0; in hammer2_inode_create_pfs()
1118 return (nip); in hammer2_inode_create_pfs()
1135 hammer2_inode_t *nip; in hammer2_inode_create_normal() local
1163 nip = hammer2_inode_get(dip->pmp, NULL, inum, -1); in hammer2_inode_create_normal()
1164 nip->comp_heuristic = 0; in hammer2_inode_create_normal()
1165 KKASSERT((nip->flags & HAMMER2_INODE_CREATING) == 0 && in hammer2_inode_create_normal()
1166 nip->cluster.nchains == 0); in hammer2_inode_create_normal()
1167 atomic_set_int(&nip->flags, HAMMER2_INODE_CREATING); in hammer2_inode_create_normal()
1172 nip->meta.type = hammer2_get_obj_type(vap->va_type); in hammer2_inode_create_normal()
1174 switch (nip->meta.type) { in hammer2_inode_create_normal()
1178 nip->meta.rmajor = vap->va_rmajor; in hammer2_inode_create_normal()
1179 nip->meta.rminor = vap->va_rminor; in hammer2_inode_create_normal()
1185 KKASSERT(nip->meta.inum == inum); in hammer2_inode_create_normal()
1186 nip->meta.iparent = pip_inum; in hammer2_inode_create_normal()
1189 nip->meta.comp_algo = pip_comp_algo; in hammer2_inode_create_normal()
1190 nip->meta.check_algo = pip_check_algo; in hammer2_inode_create_normal()
1191 nip->meta.version = HAMMER2_INODE_VERSION_ONE; in hammer2_inode_create_normal()
1192 hammer2_update_time(&nip->meta.ctime, false); in hammer2_inode_create_normal()
1193 nip->meta.mtime = nip->meta.ctime; in hammer2_inode_create_normal()
1194 nip->meta.mode = vap->va_mode; in hammer2_inode_create_normal()
1195 nip->meta.nlinks = 1; in hammer2_inode_create_normal()
1202 nip->meta.uid = vap->va_uid_uuid; in hammer2_inode_create_normal()
1204 hammer2_guid_to_uuid(&nip->meta.uid, vap->va_uid); in hammer2_inode_create_normal()
1206 hammer2_guid_to_uuid(&nip->meta.uid, xuid); in hammer2_inode_create_normal()
1209 nip->meta.gid = vap->va_gid_uuid; in hammer2_inode_create_normal()
1211 hammer2_guid_to_uuid(&nip->meta.gid, vap->va_gid); in hammer2_inode_create_normal()
1213 nip->meta.gid = pip_gid; in hammer2_inode_create_normal()
1220 if (nip->meta.type == HAMMER2_OBJTYPE_REGFILE || in hammer2_inode_create_normal()
1221 nip->meta.type == HAMMER2_OBJTYPE_SOFTLINK) { in hammer2_inode_create_normal()
1222 nip->meta.op_flags |= HAMMER2_OPFLAG_DIRECTDATA; in hammer2_inode_create_normal()
1232 xop->meta = nip->meta; in hammer2_inode_create_normal()
1236 nip->meta.name_len = xop->meta.name_len; in hammer2_inode_create_normal()
1237 nip->meta.name_key = xop->meta.name_key; in hammer2_inode_create_normal()
1238 hammer2_inode_modify(nip); in hammer2_inode_create_normal()
1253 kprintf("create inode type %d error %d\n", nip->meta.type, error); in hammer2_inode_create_normal()
1265 hammer2_inode_repoint(nip, &xop->head.cluster); in hammer2_inode_create_normal()
1270 return (nip); in hammer2_inode_create_normal()