Lines Matching refs:inp

63 	struct inoinfo **inpp, *inp;
150 inp = *inpp;
151 if (inp->i_isize == 0)
153 if (inp->i_isize < MINDIRSIZE) {
154 direrror(inp->i_number, "DIRECTORY TOO SHORT");
155 inp->i_isize = roundup(MINDIRSIZE, DIRBLKSIZ);
157 dp = ginode(inp->i_number);
158 DIP_SET(dp, di_size, inp->i_isize);
161 } else if ((inp->i_isize & (DIRBLKSIZ - 1)) != 0) {
162 getpathname(pathbuf, inp->i_number, inp->i_number);
166 (intmax_t)inp->i_isize, DIRBLKSIZ);
170 (intmax_t)inp->i_isize, DIRBLKSIZ);
173 inp->i_isize = roundup(inp->i_isize, DIRBLKSIZ);
175 dp = ginode(inp->i_number);
177 roundup(inp->i_isize, DIRBLKSIZ));
184 DIP_SET(dp, di_size, inp->i_isize);
186 i < (inp->i_numblks<NDADDR ? inp->i_numblks : NDADDR);
188 DIP_SET(dp, di_db[i], inp->i_blks[i]);
189 if (inp->i_numblks > NDADDR)
191 DIP_SET(dp, di_ib[i], inp->i_blks[NDADDR + i]);
192 curino.id_number = inp->i_number;
193 curino.id_parent = inp->i_parent;
201 inp = *inpp;
202 if (inp->i_parent == 0 || inp->i_isize == 0)
204 if (inoinfo(inp->i_parent)->ino_state == DFOUND &&
205 INO_IS_DUNFOUND(inp->i_number))
206 inoinfo(inp->i_number)->ino_state = DFOUND;
207 if (inp->i_dotdot == inp->i_parent ||
208 inp->i_dotdot == (ino_t)-1)
210 if (inp->i_dotdot == 0) {
211 inp->i_dotdot = inp->i_parent;
212 fileerror(inp->i_parent, inp->i_number, "MISSING '..'");
215 (void)makeentry(inp->i_number, inp->i_parent, "..");
216 inoinfo(inp->i_parent)->ino_linkcnt--;
221 * inp->i_number is directory with bad ".." in it.
222 * inp->i_dotdot is current value of "..".
223 * inp->i_parent is directory to which ".." should point.
225 getpathname(pathbuf, inp->i_parent, inp->i_number);
227 (uintmax_t)inp->i_number, pathbuf);
228 getpathname(pathbuf, inp->i_dotdot, inp->i_dotdot);
230 (uintmax_t)inp->i_dotdot, pathbuf);
231 getpathname(pathbuf, inp->i_parent, inp->i_parent);
233 (uintmax_t)inp->i_parent, pathbuf);
237 * setcwd(inp->i_number);
238 * setdotdot(inp->i_dotdot, inp->i_parent);
240 cmd.value = inp->i_number;
247 cmd.value = inp->i_dotdot; /* verify same value */
248 cmd.size = inp->i_parent; /* new parent */
255 inoinfo(inp->i_parent)->ino_linkcnt--;
256 inp->i_dotdot = inp->i_parent;
263 inoinfo(inp->i_dotdot)->ino_linkcnt++;
264 inoinfo(inp->i_parent)->ino_linkcnt--;
265 inp->i_dotdot = inp->i_parent;
266 (void)changeino(inp->i_number, "..", inp->i_parent);
279 struct inoinfo *inp;
338 inp = getinoinfo(idesc->id_number);
339 proto.d_ino = inp->i_parent;
357 inp->i_dotdot = dirp->d_ino;
367 fileerror(inp->i_parent, idesc->id_number, "MISSING '..'");
370 inp->i_dotdot = (ino_t)-1;
372 fileerror(inp->i_parent, idesc->id_number, "MISSING '..'");
374 inp->i_dotdot = (ino_t)-1;
375 } else if (inp->i_parent != 0) {
379 inp->i_dotdot = inp->i_parent;
380 fileerror(inp->i_parent, idesc->id_number, "MISSING '..'");
489 inp = getinoinfo(dirp->d_ino);
491 if (inp->i_parent == 0)
492 inp->i_parent = idesc->id_number;
493 else if ((n = fix_extraneous(inp, idesc)) == 1)
523 fix_extraneous(struct inoinfo *inp, struct inodesc *idesc)
534 if (inp->i_dotdot == 0) {
541 inp->i_dotdot = dotdesc.id_parent;
544 * We have the previously found old name (inp->i_parent) and the
558 if (inp->i_dotdot == 0 || /* Case 1 */
559 idesc->id_number == inp->i_parent || /* Case 2 */
560 inp->i_dotdot != idesc->id_number || /* Case 3 */
561 inp->i_dotdot == inp->i_parent) { /* Case 4 */
566 getpathname(oldname, inp->i_number, inp->i_number);
582 cmd.size = inp->i_number; /* verify same name */
602 getpathname(oldname, inp->i_parent, inp->i_number);
603 getpathname(newname, inp->i_number, inp->i_number);
609 * setcwd(inp->i_parent);
612 cmd.value = inp->i_parent;
623 cmd.size = inp->i_number; /* verify same name */
631 inp->i_parent = idesc->id_number; /* reparent to correct dir */
638 dotdesc.id_number = inp->i_parent; /* directory in which name appears */
639 dotdesc.id_parent = inp->i_number; /* inode number in entry to delete */
643 inp->i_parent = idesc->id_number; /* reparent to correct directory */
644 inoinfo(inp->i_number)->ino_linkcnt++; /* name gone, return reference */