diff --git a/src/viced/afsfileprocs.c b/src/viced/afsfileprocs.c index a0e63aed76..2e92218c8f 100644 --- a/src/viced/afsfileprocs.c +++ b/src/viced/afsfileprocs.c @@ -6146,13 +6146,13 @@ CheckVnode(fid, volptr, vptr, lock) /* I'm not really worried about when we restarted, I'm */ /* just worried about when the first VBUSY was returned. */ TM_GetTimeOfDay(&restartedat, 0); - return(VBUSY); + return(busyonrst?VBUSY:VRESTARTING); } else { struct timeval now; TM_GetTimeOfDay(&now, 0); if ((now.tv_sec - restartedat.tv_sec) < (11*60)) { - return(VBUSY); + return(busyonrst?VBUSY:VRESTARTING); } else { return (VRESTARTING); diff --git a/src/viced/viced.c b/src/viced/viced.c index 8a39d70e2c..a619631dde 100644 --- a/src/viced/viced.c +++ b/src/viced/viced.c @@ -133,6 +133,7 @@ struct afs_PerfStats afs_perfstats; extern int LogLevel; extern int Statistics; +int busyonrst = 1; int timeout = 30; int SawSpare; int SawPctSpare; @@ -960,6 +961,7 @@ static FlagMsg() strcat(buffer, "[-implicit ] "); strcat(buffer, "[-hr ] "); strcat(buffer, "[-busyat n>] "); + strcat(buffer, "[-nobusy ] "); strcat(buffer, "[-rxpck ] "); strcat(buffer, "[-rxdbg (enable rx debugging)] "); strcat(buffer, "[-rxdbge (enable rxevent debugging)] "); @@ -1189,7 +1191,10 @@ static ParseArgs(argc, argv) busy_threshold); Sawbusy = 0; } - } + } + else + if (!strcmp(argv[i], "-nobusy")) + busyonrst=0; #ifdef AFS_AIX32_ENV else if (!strcmp(argv[i], "-m")) { diff --git a/src/viced/viced.h b/src/viced/viced.h index 4109c81477..8a5b51af05 100644 --- a/src/viced/viced.h +++ b/src/viced/viced.h @@ -189,6 +189,8 @@ struct AFSStatistics struct AFSDisk Disks[AFS_MSTATDISKS]; }; +extern int busyonrst; + #define RESTART_ORDINARY 1 #define RESTART_FAST 2 #define RESTART_SAFE 3