From 7030ca5588c02d06c22b8f1a31ed7139b1b81c7e Mon Sep 17 00:00:00 2001 From: Borislav Petkov Date: Sun, 27 Apr 2008 15:38:26 +0200 Subject: [PATCH] --- yaml --- r: 93729 b: refs/heads/master c: b361acb1083f0b313a4b398de48450f5edb81fe1 h: refs/heads/master i: 93727: cdad2122470d3f99da985935ab07257892cd7552 v: v3 --- [refs] | 2 +- trunk/drivers/ide/ide-tape.c | 24 ++---------------------- 2 files changed, 3 insertions(+), 23 deletions(-) diff --git a/[refs] b/[refs] index 8cb0fe9e9e48..b9d409854ca7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7f5e72f471763fe2a6e72863a64a2ef459f37835 +refs/heads/master: b361acb1083f0b313a4b398de48450f5edb81fe1 diff --git a/trunk/drivers/ide/ide-tape.c b/trunk/drivers/ide/ide-tape.c index 745e2fa549b9..25ffcbffb02a 100644 --- a/trunk/drivers/ide/ide-tape.c +++ b/trunk/drivers/ide/ide-tape.c @@ -2270,27 +2270,6 @@ static void idetape_pad_zeros(ide_drive_t *drive, int bcount) } } -static int idetape_pipeline_size(ide_drive_t *drive) -{ - idetape_tape_t *tape = drive->driver_data; - idetape_stage_t *stage; - struct request *rq; - int size = 0; - - idetape_wait_for_pipeline(drive); - stage = tape->first_stage; - while (stage != NULL) { - rq = &stage->rq; - size += tape->blk_size * (rq->nr_sectors - - rq->current_nr_sectors); - if (rq->errors == IDETAPE_ERROR_FILEMARK) - size += tape->blk_size; - stage = stage->next; - } - size += tape->merge_stage_size; - return size; -} - /* * Rewinds the tape to the Beginning Of the current Partition (BOP). We * currently support only one partition. @@ -2737,7 +2716,8 @@ static int idetape_chrdev_ioctl(struct inode *inode, struct file *file, idetape_flush_tape_buffers(drive); } if (cmd == MTIOCGET || cmd == MTIOCPOS) { - block_offset = idetape_pipeline_size(drive) / + idetape_wait_for_pipeline(drive); + block_offset = tape->merge_stage_size / (tape->blk_size * tape->user_bs_factor); position = idetape_read_position(drive); if (position < 0)