Messages in this thread | | | Date | Wed, 24 Nov 2010 16:18:13 +1100 | From | Neil Brown <> | Subject | Re: [PATCH v2] md: Call blk_queue_flush() to establish flush/fua support |
| |
On Tue, 23 Nov 2010 11:01:03 -0800 "Darrick J. Wong" <djwong@us.ibm.com> wrote:
> Here's a shorter version that sets up flush/fua unconditionally. > --- > Before 2.6.37, the md layer had a mechanism for catching I/Os with the barrier > flag set, and translating the barrier into barriers for all the underlying > devices. With 2.6.37, I/O barriers have become plain old flushes, and the md > code was updated to reflect this. However, one piece was left out -- the md > layer does not tell the block layer that it supports flushes or FUA access at > all, which results in md silently dropping flush requests. > > Since the support already seems there, just add this one piece of bookkeeping. > > Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> > --- > > drivers/md/md.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/drivers/md/md.c b/drivers/md/md.c > index 324a366..43243a4 100644 > --- a/drivers/md/md.c > +++ b/drivers/md/md.c > @@ -4338,6 +4338,8 @@ static int md_alloc(dev_t dev, char *name) > if (mddev->kobj.sd && > sysfs_create_group(&mddev->kobj, &md_bitmap_group)) > printk(KERN_DEBUG "pointless warning\n"); > + > + blk_queue_flush(mddev->queue, REQ_FLUSH | REQ_FUA); > abort: > mutex_unlock(&disks_mutex); > if (!error && mddev->kobj.sd) {
Applied, thanks.
NeilBrown
| |