Home | History | Annotate | Download | only in fsck_lfs

Lines Matching defs:fs

54 #define MINDIRSIZE(fs) \
55 ((fs)->lfs_is64 ? sizeof(struct lfs_dirtemplate64) : \
107 vp = vget(fs, ULFS_ROOTINO);
109 mode = lfs_dino_getmode(fs, dp);
112 lfs_dino_setmode(fs, dp, mode);
139 if (inp->i_isize < MINDIRSIZE(fs)) {
141 inp->i_isize = roundup(MINDIRSIZE(fs), LFS_DIRBLKSIZ);
143 vp = vget(fs, inp->i_number);
145 lfs_dino_setsize(fs, dp, inp->i_isize);
157 vp = vget(fs, inp->i_number);
159 lfs_dino_setsize(fs, dp, inp->i_isize);
164 lfs_dino_setmode(fs, &dino, LFS_IFDIR);
165 lfs_dino_setsize(fs, &dino, inp->i_isize);
168 lfs_dino_setdb(fs, &dino, ii, inp->i_blks[ii]);
171 lfs_dino_setib(fs, &dino, ii - ULFS_NDADDR,
230 if (lfs_dir_getino(fs, dirp) != 0 && strcmp(lfs_dir_nameptr(fs, dirp), ".") == 0) {
231 if (lfs_dir_getino(fs, dirp) != idesc->id_number) {
234 lfs_dir_setino(fs, dirp, idesc->id_number);
238 if (lfs_dir_gettype(fs, dirp) != LFS_DT_DIR) {
241 lfs_dir_settype(fs, dirp, LFS_DT_DIR);
248 lfs_dir_setino(fs, &proto, idesc->id_number);
249 lfs_dir_settype(fs, &proto, LFS_DT_DIR);
250 lfs_dir_setnamlen(fs, &proto, 1);
251 entrysize = LFS_DIRECTSIZ(fs, 1);
252 lfs_dir_setreclen(fs, &proto, entrysize);
253 if (lfs_dir_getino(fs, dirp) != 0 && strcmp(lfs_dir_nameptr(fs, dirp), "..") != 0) {
255 lfs_dir_nameptr(fs, dirp));
256 } else if (lfs_dir_getreclen(fs, dirp) < entrysize) {
258 } else if (lfs_dir_getreclen(fs, dirp) < 2 * entrysize) {
260 lfs_dir_setreclen(fs, &proto, lfs_dir_getreclen(fs, dirp));
262 lfs_copydirname(fs, lfs_dir_nameptr(fs, dirp), ".", 1,
263 lfs_dir_getreclen(fs, dirp));
268 n = lfs_dir_getreclen(fs, dirp) - entrysize;
270 lfs_copydirname(fs, lfs_dir_nameptr(fs, dirp), ".", 1,
271 lfs_dir_getreclen(fs, dirp));
273 lncntp[lfs_dir_getino(fs, dirp)]--;
274 dirp = LFS_NEXTDIR(fs, dirp);
276 lfs_dir_setreclen(fs, dirp, n);
284 lfs_dir_setino(fs, &proto, inp->i_parent);
285 lfs_dir_settype(fs, &proto, LFS_DT_DIR);
286 lfs_dir_setnamlen(fs, &proto, 2);
287 entrysize = LFS_DIRECTSIZ(fs, 2);
288 lfs_dir_setreclen(fs, &proto, entrysize);
290 n = LFS_DIRSIZ(fs, dirp);
291 if (lfs_dir_getreclen(fs, dirp) < n + entrysize)
293 lfs_dir_setreclen(fs, &proto, lfs_dir_getreclen(fs, dirp) - n);
294 lfs_dir_setreclen(fs, dirp, n);
296 lncntp[lfs_dir_getino(fs, dirp)]--;
298 memset(dirp, 0, lfs_dir_getreclen(fs, &proto));
299 lfs_dir_setreclen(fs, dirp, lfs_dir_getreclen(fs, &proto));
301 if (lfs_dir_getino(fs, dirp) != 0 && strcmp(lfs_dir_nameptr(fs, dirp), "..") == 0) {
302 inp->i_dotdot = lfs_dir_getino(fs, dirp);
303 if (lfs_dir_gettype(fs, dirp) != LFS_DT_DIR) {
305 lfs_dir_settype(fs, dirp, LFS_DT_DIR);
311 if (lfs_dir_getino(fs, dirp) != 0 && strcmp(lfs_dir_nameptr(fs, dirp), ".") != 0) {
314 lfs_dir_nameptr(fs, dirp));
316 } else if (lfs_dir_getreclen(fs, dirp) < entrysize) {
326 lfs_dir_setreclen(fs, &proto, lfs_dir_getreclen(fs, dirp));
328 lfs_copydirname(fs, lfs_dir_nameptr(fs, dirp), "..", 2,
329 lfs_dir_getreclen(fs, dirp));
334 if (lfs_dir_getino(fs, dirp) != 0)
335 lncntp[lfs_dir_getino(fs, dirp)]--;
338 if (lfs_dir_getino(fs, dirp) == 0)
340 if (lfs_dir_getnamlen(fs, dirp) <= 2 &&
341 lfs_dir_nameptr(fs, dirp)[0] == '.' &&
343 if (lfs_dir_getnamlen(fs, dirp) == 1) {
346 lfs_dir_setino(fs, dirp, 0);
351 if (lfs_dir_nameptr(fs, dirp)[1] == '.') {
354 lfs_dir_setino(fs, dirp, 0);
362 if (lfs_dir_getino(fs, dirp) >= maxino) {
363 fileerror(idesc->id_number, lfs_dir_getino(fs, dirp), "I OUT OF RANGE");
365 } else if (lfs_dir_getino(fs, dirp) == LFS_IFILE_INUM &&
367 if (lfs_dir_gettype(fs, dirp) != LFS_DT_REG) {
368 fileerror(idesc->id_number, lfs_dir_getino(fs, dirp),
371 lfs_dir_settype(fs, dirp, LFS_DT_REG);
375 } else if (((lfs_dir_getino(fs, dirp) == ULFS_WINO && lfs_dir_gettype(fs, dirp) != LFS_DT_WHT) ||
376 (lfs_dir_getino(fs, dirp) != ULFS_WINO && lfs_dir_gettype(fs, dirp) == LFS_DT_WHT))) {
377 fileerror(idesc->id_number, lfs_dir_getino(fs, dirp), "BAD WHITEOUT ENTRY");
379 lfs_dir_setino(fs, dirp, ULFS_WINO);
380 lfs_dir_settype(fs, dirp, LFS_DT_WHT);
385 switch (statemap[lfs_dir_getino(fs, dirp)]) {
389 fileerror(idesc->id_number, lfs_dir_getino(fs, dirp),
398 if (statemap[lfs_dir_getino(fs, dirp)] == FCLEAR)
406 fileerror(idesc->id_number, lfs_dir_getino(fs, dirp), errmsg);
409 dp = ginode(lfs_dir_getino(fs, dirp));
410 statemap[lfs_dir_getino(fs, dirp)] =
411 (lfs_dino_getmode(fs, dp) & LFS_IFMT) == LFS_IFDIR ? DSTATE : FSTATE;
412 lncntp[lfs_dir_getino(fs, dirp)] = lfs_dino_getnlink(fs, dp);
417 inp = getinoinfo(lfs_dir_getino(fs, dirp));
422 lfs_dir_getino(fs, dirp),
423 lfs_dir_getino(fs, dirp));
437 if (lfs_dir_gettype(fs, dirp) != typemap[lfs_dir_getino(fs, dirp)]) {
439 lfs_dir_getino(fs, dirp),
443 lfs_dir_gettype(fs, dirp), typemap[lfs_dir_getino(fs, dirp)]);
444 lfs_dir_settype(fs, dirp, typemap[lfs_dir_getino(fs, dirp)]);
448 lncntp[lfs_dir_getino(fs, dirp)]--;
453 statemap[lfs_dir_getino(fs, dirp)],
454 (uintmax_t)lfs_dir_getino(fs, dirp));
459 lfs_dir_setino(fs, dirp, 0);