Re: dm-raid: add RAID discard support

From: Mike Snitzer
Date: Thu Oct 02 2014 - 09:52:44 EST


On Thu, Oct 02 2014 at 12:04am -0400,
NeilBrown <neilb@xxxxxxx> wrote:

>
> I plan to submit this to Linus tomorrow, hopefully for 3.7, unless there are
> complaints. It is in my for-next branch now.
>
> Thanks,
> NeilBrown
>
>
> From aec6f821ed92fac5ae4f1db50279a3999de5872a Mon Sep 17 00:00:00 2001
> From: NeilBrown <neilb@xxxxxxx>
> Date: Thu, 2 Oct 2014 13:45:00 +1000
> Subject: [PATCH] md/raid5: disable 'DISCARD' by default due to safety
> concerns.
>
> It has come to my attention (thanks Martin) that 'discard_zeroes_data'
> is only a hint. Some devices in some cases don't do what it
> says on the label.
>
> The use of DISCARD in RAID5 depends on reads from discarded regions
> being predictably zero. If a write to a previously discarded region
> performs a read-modify-write cycle it assumes that the parity block
> was consistent with the data blocks. If all were zero, this would
> be the case. If some are and some aren't this would not be the case.
> This could lead to data corruption after a device failure when
> data needs to be reconstructed from the parity.
>
> As we cannot trust 'discard_zeroes_data', ignore it by default
> and so disallow DISCARD on all raid4/5/6 arrays.
>
> As many devices are trustworthy, and as there are benefits to using
> DISCARD, add a module parameter to over-ride this caution and cause
> DISCARD to work if discard_zeroes_data is set.
>
> If a site want to enable DISCARD on some arrays but not on others they
> should select DISCARD support at the filesystem level, and set the
> raid456 module parameter.
> raid456.devices_handle_discard_safely=Y
>
> As this is a data-safety issue, I believe this patch is suitable for
> -stable.
> DISCARD support for RAID456 was added in 3.7
>
> Cc: Shaohua Li <shli@xxxxxxxxxx>
> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx>
> Cc: Mike Snitzer <snitzer@xxxxxxxxxx>
> Cc: Heinz Mauelshagen <heinzm@xxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx (3.7+)
> Fixes: 620125f2bf8ff0c4969b79653b54d7bcc9d40637
> Signed-off-by: NeilBrown <neilb@xxxxxxx>

Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx>

Thanks Neil, I'll get something comparable staged for dm-raid for 3.18
(less urgency given that dm-raid doesn't yet support discards).
--
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/