void *buf = f->buffer;
 
        for (;;) {
-               int ret = write(f->fd, buf, count);
+               int ret = xwrite(f->fd, buf, count);
                if (ret > 0) {
                        buf += ret;
                        count -= ret;
                }
                if (!ret)
                        die("sha1 file '%s' write error. Out of diskspace", f->name);
-               if (errno == EAGAIN || errno == EINTR)
-                       continue;
                die("sha1 file '%s' write error (%s)", f->name, strerror(errno));
        }
 }