Lines Matching defs:rcoll
7300 Rq_coll rcoll;
7304 memset(&rcoll, 0, sizeof(Rq_coll));
7305 rcoll.bpt = DEF_BLOCKS_PER_TRANSFER;
7306 rcoll.in_type = FT_OTHER;
7307 rcoll.out_type = FT_OTHER;
7308 rcoll.cdbsz = DEF_SCSI_CDBSZ;
7313 if (rcoll.bs <= 0) {
7314 rcoll.bs = DEF_BLOCK_SIZE;
7317 rcoll.bs);
7320 if (rcoll.debug)
7324 rcoll.infd = STDIN_FILENO;
7325 rcoll.outfd = STDOUT_FILENO;
7327 rcoll.in_type = dd_filetype(inf);
7329 if (FT_ST == rcoll.in_type) {
7333 } else if (FT_SG == rcoll.in_type) {
7334 if ((rcoll.infd = open(inf, O_RDWR)) < 0) {
7341 if (sg_prepare(rcoll.infd, rcoll.bs, rcoll.bpt,
7342 &rcoll.in_scsi_type))
7345 if ((rcoll.infd = open(inf, O_RDONLY)) < 0) {
7354 offset *= rcoll.bs; /* could exceed 32 here! */
7355 if (llse_llseek(rcoll.infd, offset, SEEK_SET) <
7368 rcoll.out_type = dd_filetype(outf);
7370 if (FT_ST == rcoll.out_type) {
7374 } else if (FT_SG == rcoll.out_type) {
7375 if ((rcoll.outfd = open(outf, O_RDWR)) < 0) {
7383 if (sg_prepare(rcoll.outfd, rcoll.bs, rcoll.bpt,
7384 &rcoll.out_scsi_type))
7386 } else if (FT_DEV_NULL == rcoll.out_type)
7387 rcoll.outfd = -1; /* don't bother opening */
7389 if (FT_RAW != rcoll.out_type) {
7390 if ((rcoll.outfd =
7401 if ((rcoll.outfd = open(outf, O_WRONLY)) < 0) {
7413 offset *= rcoll.bs; /* could exceed 32 bits here! */
7414 if (llse_llseek(rcoll.outfd, offset, SEEK_SET) <
7426 if ((STDIN_FILENO == rcoll.infd) && (STDOUT_FILENO == rcoll.outfd)) {
7432 if (FT_SG == rcoll.in_type) {
7434 read_capacity(rcoll.infd, &in_num_sect,
7440 read_capacity(rcoll.infd, &in_num_sect,
7452 if (FT_SG == rcoll.out_type) {
7454 read_capacity(rcoll.outfd, &out_num_sect,
7460 read_capacity(rcoll.outfd, &out_num_sect,
7483 if (rcoll.debug > 1)
7491 rcoll.in_count = count;
7492 rcoll.in_done_count = count;
7493 rcoll.skip = skip;
7494 rcoll.in_blk = skip;
7495 rcoll.out_count = count;
7496 rcoll.out_done_count = count;
7497 rcoll.seek = seek;
7498 rcoll.out_blk = seek;
7499 status = pthread_mutex_init(&rcoll.in_mutex, NULL);
7502 status = pthread_mutex_init(&rcoll.out_mutex, NULL);
7505 status = pthread_mutex_init(&rcoll.aux_mutex, NULL);
7508 status = pthread_cond_init(&rcoll.out_sync_cv, NULL);
7518 sig_listen_thread, (void *)&rcoll);
7529 if ((rcoll.out_done_count > 0) && (num_threads > 0)) {
7531 status = pthread_mutex_lock(&rcoll.out_mutex);
7535 (void *)&rcoll);
7538 if (rcoll.debug)
7542 pthread_cleanup_push(cleanup_out, (void *)&rcoll);
7544 pthread_cond_wait(&rcoll.out_sync_cv, &rcoll.out_mutex);
7548 status = pthread_mutex_unlock(&rcoll.out_mutex);
7556 (void *)&rcoll);
7559 if (rcoll.debug)
7569 if (rcoll.debug)
7588 b = (double)rcoll.bs * (count - rcoll.out_done_count);
7597 if (FT_SG == rcoll.out_type) {
7599 res = sync_cache(rcoll.outfd);
7603 res = sync_cache(rcoll.outfd);
7614 if (STDIN_FILENO != rcoll.infd)
7615 close(rcoll.infd);
7616 if ((STDOUT_FILENO != rcoll.outfd) && (FT_DEV_NULL != rcoll.out_type))
7617 close(rcoll.outfd);
7619 if (0 != rcoll.out_count) {
7622 rcoll.out_count);
7625 infull = count - rcoll.in_done_count - rcoll.in_partial;
7626 fprintf(stderr, "%d+%d records in\n", infull, rcoll.in_partial);
7627 outfull = count - rcoll.out_done_count - rcoll.out_partial;
7628 fprintf(stderr, "%d+%d records out\n", outfull, rcoll.out_partial);
7629 if (rcoll.dio_incomplete) {
7635 rcoll.dio_incomplete);
7647 if (rcoll.sum_of_resids)
7649 rcoll.sum_of_resids);