Re: [PATCH v2] md: Call blk_queue_flush() to establish flush/fuasupport

From: Neil Brown
Date: Wed Nov 24 2010 - 00:18:30 EST


On Tue, 23 Nov 2010 11:01:03 -0800
"Darrick J. Wong" <djwong@xxxxxxxxxx> 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@xxxxxxxxxx>
> ---
>
> 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/