public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] convert flush request to REQ_TYPE_FS instead of BLOCK_PC
@ 2010-06-23 15:07 FUJITA Tomonori
  2010-06-23 15:07 ` [PATCH 1/3] block: set up rq->rq_disk properly for flush requests FUJITA Tomonori
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: FUJITA Tomonori @ 2010-06-23 15:07 UTC (permalink / raw)
  To: axboe, James.Bottomley; +Cc: linux-kernel, linux-scsi, fujita.tomonori

We use REQ_TYPE_BLOCK_PC for flush requests from file
systems. scsi-ml's definition of REQ_TYPE_BLOCK_PC is that we don't
retry PC requests even when we can (e.g. UNIT ATTENTION) and we send
the response to the callers, and expect the callers to decide what
they want.

File systems (and the block layer) don't have the mechnism to retry
requests so file systems hit avoidable I/O errors. We need a
workaround such as the commit 77a4229719e511a0d38d9c355317ae1469adeb54
to retry BLOCK_PC flush requests. We will need the similar workaround
for discard requests too since SCSI-ml handle them as BLOCK_PC
internally.

This uses REQ_TYPE_FS for flush requests from file systems instead of
REQ_TYPE_BLOCK_PC. flush requests are retried when appropriate.

This patchset can be applied to the block tree's for-2.6.36. It
contains of some changes to scsi so this patchset can't be applied to
scsi-misc.

=
 block/blk-barrier.c       |    4 ++--
 drivers/scsi/scsi_error.c |   19 ++++---------------
 drivers/scsi/sd.c         |   19 +++++++++++++------
 include/linux/bio.h       |    2 ++
 4 files changed, 21 insertions(+), 23 deletions(-)

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

end of thread, other threads:[~2010-06-27 12:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-23 15:07 [PATCH 0/3] convert flush request to REQ_TYPE_FS instead of BLOCK_PC FUJITA Tomonori
2010-06-23 15:07 ` [PATCH 1/3] block: set up rq->rq_disk properly for flush requests FUJITA Tomonori
2010-06-23 15:07 ` [PATCH 2/3] block: introduce REQ_FLUSH flag FUJITA Tomonori
2010-06-27  9:52   ` Christoph Hellwig
2010-06-27 12:44     ` FUJITA Tomonori
2010-06-23 15:07 ` [PATCH 3/3] use REQ_TYPE_FS for flush request FUJITA Tomonori

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox