All of lore.kernel.org
 help / color / mirror / Atom feed
* kill req->errors V3
@ 2017-04-19 19:26 ` Christoph Hellwig
  0 siblings, 0 replies; 68+ messages in thread
From: Christoph Hellwig @ 2017-04-19 19:26 UTC (permalink / raw)
  To: Jens Axboe
  Cc: Josef Bacik, James Smart, Konrad Rzeszutek Wilk,
	Roger Pau Monné,
	linux-scsi, linux-nvme, linux-block, dm-devel

Currently the request structure has an errors field that is used in
various different ways.  The oldest drivers use it as an error count,
blk-mq and the generic timeout code assume that it holds a Linux
errno for block completions, and various drivers use it for internal
status values, often overwriting them with Linux errnos later,
that is unless they are processing passthrough requests in which
case they'll leave their errors in it.

This series kills the ->errors field and replaced it with new fields
in the drivers (or an odd hack in a union in struct request for
two bitrotting old drivers).

Also available in the following git tree:

    git://git.infradead.org/users/hch/block.git request-errors

Gitweb:

    http://git.infradead.org/users/hch/block.git/shortlog/refs/heads/request-errors

Changes since V2;
 - reorder one patch to be earlier in the series
 - fix the argument to a bsg dprintk
 - fix a kerneldoc comment

Changes since V1:
 - rebased on top the latest block for-next tree
 - fix error handling in nfsd blocklayout
 - dropped "scsi: fix fast-fail for non-passthrough requests"

^ permalink raw reply	[flat|nested] 68+ messages in thread
* kill req->errors V4
@ 2017-04-20 14:02 Christoph Hellwig
  2017-04-20 14:03   ` Christoph Hellwig
  0 siblings, 1 reply; 68+ messages in thread
From: Christoph Hellwig @ 2017-04-20 14:02 UTC (permalink / raw)
  To: Jens Axboe
  Cc: Josef Bacik, James Smart, Konrad Rzeszutek Wilk,
	Roger Pau Monné,
	linux-scsi, linux-nvme, linux-block, dm-devel

Currently the request structure has an errors field that is used in
various different ways.  The oldest drivers use it as an error count,
blk-mq and the generic timeout code assume that it holds a Linux
errno for block completions, and various drivers use it for internal
status values, often overwriting them with Linux errnos later,
that is unless they are processing passthrough requests in which
case they'll leave their errors in it.

This series kills the ->errors field and replaced it with new fields
in the drivers (or an odd hack in a union in struct request for
two bitrotting old drivers).

Also available in the following git tree:

    git://git.infradead.org/users/hch/block.git request-errors

Gitweb:

    http://git.infradead.org/users/hch/block.git/shortlog/refs/heads/request-errors

Changes since V3:
 - SCSI OSD fix
 - Various Reviewed-by: tags

Changes since V2;
 - reorder one patch to be earlier in the series
 - fix the argument to a bsg dprintk
 - fix a kerneldoc comment

Changes since V1:
 - rebased on top the latest block for-next tree
 - fix error handling in nfsd blocklayout
 - dropped "scsi: fix fast-fail for non-passthrough requests"

^ permalink raw reply	[flat|nested] 68+ messages in thread

end of thread, other threads:[~2017-04-20 15:21 UTC | newest]

Thread overview: 68+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-19 19:26 kill req->errors V3 Christoph Hellwig
2017-04-19 19:26 ` Christoph Hellwig
2017-04-19 19:26 ` [PATCH 01/23] pd: don't check blk_execute_rq return value Christoph Hellwig
2017-04-19 19:26   ` Christoph Hellwig
2017-04-19 21:02   ` Bart Van Assche
2017-04-19 21:02     ` Bart Van Assche
2017-04-19 21:02     ` Bart Van Assche
2017-04-19 19:26 ` [PATCH 02/23] block: remove the " Christoph Hellwig
2017-04-19 19:26   ` Christoph Hellwig
2017-04-19 21:07   ` Bart Van Assche
2017-04-19 21:07     ` Bart Van Assche
2017-04-19 21:07     ` Bart Van Assche
2017-04-20  5:11     ` hch
2017-04-20  5:11       ` hch
2017-04-19 19:26 ` [PATCH 03/23] nvme-fc: fix status code handling in nvme_fc_fcpio_done Christoph Hellwig
2017-04-19 19:26   ` Christoph Hellwig
2017-04-19 19:26 ` [PATCH 04/23] nvme: split nvme status from block req->errors Christoph Hellwig
2017-04-19 19:26   ` Christoph Hellwig
2017-04-19 19:26 ` [PATCH 05/23] nvme: make nvme_error_status private Christoph Hellwig
2017-04-19 19:26   ` Christoph Hellwig
2017-04-19 19:26 ` [PATCH 06/23] virtio: fix spelling of virtblk_scsi_request_done Christoph Hellwig
2017-04-19 19:26   ` Christoph Hellwig
2017-04-19 19:26 ` [PATCH 07/23] virtio_blk: don't use req->errors Christoph Hellwig
2017-04-19 19:26   ` Christoph Hellwig
2017-04-19 19:26 ` [PATCH 08/23] scsi: introduce a result field in struct scsi_request Christoph Hellwig
2017-04-19 19:26   ` Christoph Hellwig
2017-04-20  1:43   ` Martin K. Petersen
2017-04-20  1:43     ` Martin K. Petersen
2017-04-20  5:17     ` Christoph Hellwig
2017-04-20  5:17       ` Christoph Hellwig
2017-04-19 19:26 ` [PATCH 09/23] loop: zero-fill bio on the submitting cpu Christoph Hellwig
2017-04-19 19:26   ` Christoph Hellwig
2017-04-19 19:26 ` [PATCH 10/23] null_blk: don't pass always-0 req->errors to blk_mq_complete_request Christoph Hellwig
2017-04-19 19:26   ` Christoph Hellwig
2017-04-19 19:26 ` [PATCH 11/23] dm rq: don't pass irrelevant error code " Christoph Hellwig
2017-04-19 19:26   ` Christoph Hellwig
2017-04-19 19:26 ` [PATCH 12/23] dm mpath: don't check for req->errors Christoph Hellwig
2017-04-19 19:26   ` Christoph Hellwig
2017-04-19 19:26 ` [PATCH 13/23] nbd: don't use req->errors Christoph Hellwig
2017-04-19 19:26   ` Christoph Hellwig
2017-04-19 19:26 ` [PATCH 14/23] mtip32xx: add a status field to struct mtip_cmd Christoph Hellwig
2017-04-19 19:26   ` Christoph Hellwig
2017-04-19 19:27 ` [PATCH 15/23] xen-blkfront: don't use req->errors Christoph Hellwig
2017-04-19 19:27   ` Christoph Hellwig
2017-04-19 19:27 ` [PATCH 16/23] blk-mq: remove the error argument to blk_mq_complete_request Christoph Hellwig
2017-04-19 19:27   ` Christoph Hellwig
2017-04-19 19:27 ` [PATCH 17/23] blk-mq: simplify __blk_mq_complete_request Christoph Hellwig
2017-04-19 19:27   ` Christoph Hellwig
2017-04-19 19:27 ` [PATCH 18/23] block: add a error_count field to struct request Christoph Hellwig
2017-04-19 19:27   ` Christoph Hellwig
2017-04-19 19:27 ` [PATCH 19/23] floppy: switch from req->errors to req->error_count Christoph Hellwig
2017-04-19 19:27   ` Christoph Hellwig
2017-04-19 19:27 ` [PATCH 20/23] ataflop: " Christoph Hellwig
2017-04-19 19:27   ` Christoph Hellwig
2017-04-19 19:27 ` [PATCH 21/23] swim3: remove (commented out) printing of req->errors Christoph Hellwig
2017-04-19 19:27   ` Christoph Hellwig
2017-04-19 19:27 ` [PATCH 22/23] blktrace: remove the unused block_rq_abort tracepoint Christoph Hellwig
2017-04-19 19:27   ` Christoph Hellwig
2017-04-19 19:27 ` [PATCH 23/23] block: remove the errors field from struct request Christoph Hellwig
2017-04-19 19:27   ` Christoph Hellwig
2017-04-19 21:10   ` Bart Van Assche
2017-04-19 21:10     ` Bart Van Assche
2017-04-19 21:10     ` Bart Van Assche
2017-04-20 14:02 kill req->errors V4 Christoph Hellwig
2017-04-20 14:03 ` [PATCH 23/23] block: remove the errors field from struct request Christoph Hellwig
2017-04-20 14:03   ` Christoph Hellwig
2017-04-20 15:21   ` Johannes Thumshirn
2017-04-20 15:21     ` Johannes Thumshirn
2017-04-20 15:21     ` Johannes Thumshirn

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.