lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Tue, 9 Jun 2009 15:09:31 +1000
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	Jens Axboe <jens.axboe@...cle.com>
Cc:	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
	Borislav Petkov <petkovbb@...glemail.com>,
	Bartlomiej Zolnierkiewicz <bzolnier@...il.com>,
	Tejun Heo <tj@...nel.org>
Subject: linux-next: manual merge of the block tree with the ide tree

Hi Jens,

Today's linux-next merge of the block tree got a conflict in
drivers/ide/ide-atapi.c between several commit
626542ca2277961aaa64855206574f8ca4f360e3 ("ide-tape: change
IDE_AFLAG_IGNORE_DSC non-atomically") from the ide tree and commit
8f6205cd572fece673da0255d74843680f67f879 ("ide: dequeue in-flight
request") from the block tree.

Just context changes.  I fixed it up (see below) and can carry the fix as
necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@...b.auug.org.au

diff --cc drivers/ide/ide-atapi.c
index fbcb851,8a894fa..0000000
--- a/drivers/ide/ide-atapi.c
+++ b/drivers/ide/ide-atapi.c
@@@ -255,13 -256,22 +256,22 @@@ void ide_retry_pc(ide_drive_t *drive
  	ide_init_pc(pc);
  	memcpy(pc->c, sense_rq->cmd, 12);
  	pc->buf = bio_data(sense_rq->bio);	/* pointer to mapped address */
- 	pc->req_xfer = sense_rq->data_len;
+ 	pc->req_xfer = blk_rq_bytes(sense_rq);
  
  	if (drive->media == ide_tape)
 -		set_bit(IDE_AFLAG_IGNORE_DSC, &drive->atapi_flags);
 +		drive->atapi_flags |= IDE_AFLAG_IGNORE_DSC;
  
- 	if (ide_queue_sense_rq(drive, pc))
- 		ide_complete_rq(drive, -EIO, blk_rq_bytes(drive->hwif->rq));
+ 	/*
+ 	 * Push back the failed request and put request sense on top
+ 	 * of it.  The failed command will be retried after sense data
+ 	 * is acquired.
+ 	 */
+ 	blk_requeue_request(failed_rq->q, failed_rq);
+ 	drive->hwif->rq = NULL;
+ 	if (ide_queue_sense_rq(drive, pc)) {
+ 		blk_start_request(failed_rq);
+ 		ide_complete_rq(drive, -EIO, blk_rq_bytes(failed_rq));
+ 	}
  }
  EXPORT_SYMBOL_GPL(ide_retry_pc);
  
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ