320 |
|
static int |
321 |
|
rholo(void) /* holodeck main loop */ |
322 |
|
{ |
323 |
< |
static long nextfragwarn = 100*(1L<<20); |
323 |
> |
static long nextfragwarn = 100L<<20; |
324 |
|
static int idle = 0; |
325 |
|
PACKET *pl = NULL, *plend; |
326 |
< |
off_t fsiz, fuse; |
326 |
> |
off_t fsiz; |
327 |
|
int pksiz; |
328 |
|
register PACKET *p; |
329 |
|
time_t t; |
344 |
|
return(1); /* comes back */ |
345 |
|
} |
346 |
|
#if FRAGWARN |
347 |
< |
if (fsiz >= nextfragwarn && |
348 |
< |
(fsiz-(fuse=hdfiluse(hdlist[0]->fd)))/(fsiz/100) > FRAGWARN) { |
349 |
< |
sprintf(errmsg, "holodeck file fragmentation is %.0f%%", |
350 |
< |
100.*(fsiz-fuse)/fsiz); |
351 |
< |
error(WARNING, errmsg); |
352 |
< |
nextfragwarn = fsiz + (fsiz>>2); |
347 |
> |
if (fsiz >= nextfragwarn) { |
348 |
> |
double pctfrag = 100.*(fsiz-hdfiluse(hdlist[0]->fd))/fsiz; |
349 |
> |
if (pctfrag >= (double)FRAGWARN) { |
350 |
> |
sprintf(errmsg, "holodeck file fragmentation is %.0f%%", |
351 |
> |
pctfrag); |
352 |
> |
error(WARNING, errmsg); |
353 |
> |
nextfragwarn = fsiz + (fsiz>>2); |
354 |
> |
} else |
355 |
> |
nextfragwarn = fsiz + (10L<<20); |
356 |
|
} |
357 |
|
#endif |
358 |
|
t = time(NULL); /* check time */ |