* finding out whether a device supports ordered writes ahead of time
@ 2005-05-16 11:27 Christoph Hellwig
2005-05-16 12:12 ` Chris Mason
0 siblings, 1 reply; 2+ messages in thread
From: Christoph Hellwig @ 2005-05-16 11:27 UTC (permalink / raw)
To: axboe; +Cc: linux-kernel
Currently ext3 and reiserfs submit bios with BIO_RW_BARRIER and when the
device doesn't support it it returns EOPNOTUPP. This scheme doesn't
work at all for XFS because our I/O submission path keeps around far too
much state (XFS supports multi-page metadata buffers). From looking at
the code it seems that we can assume such a submission will just work
if q->ordered is not QUEUE_ORDERED_NONE. Is that a valid assumption?
and if yes should we look directly at the queue or provide an assecor?
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: finding out whether a device supports ordered writes ahead of time
2005-05-16 11:27 finding out whether a device supports ordered writes ahead of time Christoph Hellwig
@ 2005-05-16 12:12 ` Chris Mason
0 siblings, 0 replies; 2+ messages in thread
From: Chris Mason @ 2005-05-16 12:12 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: axboe, linux-kernel
On Monday 16 May 2005 07:27, Christoph Hellwig wrote:
> Currently ext3 and reiserfs submit bios with BIO_RW_BARRIER and when the
> device doesn't support it it returns EOPNOTUPP. This scheme doesn't
> work at all for XFS because our I/O submission path keeps around far too
> much state (XFS supports multi-page metadata buffers). From looking at
> the code it seems that we can assume such a submission will just work
> if q->ordered is not QUEUE_ORDERED_NONE. Is that a valid assumption?
> and if yes should we look directly at the queue or provide an assecor?
I think Jens currently has things set to trust the drive's advertisement of
the cache flush feature. But I don't think we've looked hard for drives that
advertise and then fail the barriers, it wouldn't surprise me if one existed.
What you could do is issue a barrier write during mount to test things. If
that works any failed barrier later could be considered an io error. Don't
use blkdev_issue_flush for this, since it will work on scsi drives that don't
support the BIO_RW_BARRIER.
-chris
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-05-16 12:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-05-16 11:27 finding out whether a device supports ordered writes ahead of time Christoph Hellwig
2005-05-16 12:12 ` Chris Mason
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox