#define f_fixup 4u
#define f_stats 8u
#define f_checkid 16u
+#define f_retry 32u
#define f_write 256u
set_prog(argv[0]);
}
if (ferror(fp))
bail_syserr(errno, "failed to read ranges file `%s'", optarg);
+ f |= f_retry;
break;
case 'X':
fp = fopen(optarg, "r");
case 'c': f |= f_continue; break;
case 'i': f |= f_checkid; break;
case 'r':
- start = 0; end = -1;
+ start = 0; end = -1; f |= f_retry;
if (parse_range(optarg, PRF_HYPHEN, &start, &end))
bail("bad range `%s'", optarg);
if (start < end) {
if (off < 0)
bail_syserr(errno, "failed to seek to end of output file `%s'",
outfile);
- put_event(EV_WRITE, 0, off/SECTORSZ);
- } else if (!eventq.n && !(f&f_fixup))
+ put_event(EV_WRITE, 0, off/SECTORSZ); f |= f_retry;
+ }
+ if (!(f&(f_retry | f_fixup)))
put_event(EV_WRITE, 0, 0);
/* It's fast enough just to check everything. */