dir.c (23796) | dir.c (34266) |
---|---|
1/* 2 * Copyright (c) 1980, 1986, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 301 unchanged lines hidden (view full) --- 310 if (linkup(idesc->id_number, (ino_t)0) == 0) 311 clri(idesc, "UNREF", 0); 312 } else { 313 pwarn("LINK COUNT %s", (lfdir == idesc->id_number) ? lfname : 314 ((dp->di_mode & IFMT) == IFDIR ? "DIR" : "FILE")); 315 pinode(idesc->id_number); 316 printf(" COUNT %d SHOULD BE %d", 317 dp->di_nlink, dp->di_nlink - lcnt); | 1/* 2 * Copyright (c) 1980, 1986, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 301 unchanged lines hidden (view full) --- 310 if (linkup(idesc->id_number, (ino_t)0) == 0) 311 clri(idesc, "UNREF", 0); 312 } else { 313 pwarn("LINK COUNT %s", (lfdir == idesc->id_number) ? lfname : 314 ((dp->di_mode & IFMT) == IFDIR ? "DIR" : "FILE")); 315 pinode(idesc->id_number); 316 printf(" COUNT %d SHOULD BE %d", 317 dp->di_nlink, dp->di_nlink - lcnt); |
318 if (preen) { | 318 if (preen || usedsoftdep) { |
319 if (lcnt < 0) { 320 printf("\n"); 321 pfatal("LINK COUNT INCREASING"); 322 } | 319 if (lcnt < 0) { 320 printf("\n"); 321 pfatal("LINK COUNT INCREASING"); 322 } |
323 printf(" (ADJUSTED)\n"); | 323 if (preen) 324 printf(" (ADJUSTED)\n"); |
324 } 325 if (preen || reply("ADJUST") == 1) { 326 dp->di_nlink -= lcnt; 327 inodirty(); 328 } 329 } 330} 331 --- 69 unchanged lines hidden (view full) --- 401 struct inodesc idesc; 402 char tempname[BUFSIZ]; 403 404 memset(&idesc, 0, sizeof(struct inodesc)); 405 dp = ginode(orphan); 406 lostdir = (dp->di_mode & IFMT) == IFDIR; 407 pwarn("UNREF %s ", lostdir ? "DIR" : "FILE"); 408 pinode(orphan); | 325 } 326 if (preen || reply("ADJUST") == 1) { 327 dp->di_nlink -= lcnt; 328 inodirty(); 329 } 330 } 331} 332 --- 69 unchanged lines hidden (view full) --- 402 struct inodesc idesc; 403 char tempname[BUFSIZ]; 404 405 memset(&idesc, 0, sizeof(struct inodesc)); 406 dp = ginode(orphan); 407 lostdir = (dp->di_mode & IFMT) == IFDIR; 408 pwarn("UNREF %s ", lostdir ? "DIR" : "FILE"); 409 pinode(orphan); |
409 if (preen && dp->di_size == 0) | 410 if ((preen || usedsoftdep) && dp->di_size == 0) |
410 return (0); 411 if (preen) 412 printf(" (RECONNECTED)\n"); 413 else 414 if (reply("RECONNECT") == 0) 415 return (0); | 411 return (0); 412 if (preen) 413 printf(" (RECONNECTED)\n"); 414 else 415 if (reply("RECONNECT") == 0) 416 return (0); |
417 if (parentdir != 0) 418 lncntp[parentdir]++; |
|
416 if (lfdir == 0) { 417 dp = ginode(ROOTINO); 418 idesc.id_name = lfname; 419 idesc.id_type = DATA; 420 idesc.id_func = findino; 421 idesc.id_number = ROOTINO; 422 if ((ckinode(dp, &idesc) & FOUND) != 0) { 423 lfdir = idesc.id_parent; --- 311 unchanged lines hidden --- | 419 if (lfdir == 0) { 420 dp = ginode(ROOTINO); 421 idesc.id_name = lfname; 422 idesc.id_type = DATA; 423 idesc.id_func = findino; 424 idesc.id_number = ROOTINO; 425 if ((ckinode(dp, &idesc) & FOUND) != 0) { 426 lfdir = idesc.id_parent; --- 311 unchanged lines hidden --- |