From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Brown Subject: Re: [PATCH v2] md: Call blk_queue_flush() to establish flush/fua support Date: Wed, 24 Nov 2010 16:18:13 +1100 Message-ID: <20101124161813.2f5bc0d6@notabene.brown> References: <20101122232208.GU14383@tux1.beaverton.ibm.com> <20101123105000.331b40f8@notabene.brown> <20101123190103.GW14383@tux1.beaverton.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20101123190103.GW14383@tux1.beaverton.ibm.com> Sender: linux-raid-owner@vger.kernel.org To: djwong@us.ibm.com Cc: linux-raid@vger.kernel.org, linux-kernel List-Id: linux-raid.ids On Tue, 23 Nov 2010 11:01:03 -0800 "Darrick J. Wong" 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 > --- > > 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