public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] dm raid: fix compat_features validation
@ 2016-10-11 14:28 Andy Whitcroft
  2016-10-11 14:46 ` Mike Snitzer
  2016-10-11 15:04 ` [dm-devel] " Heinz Mauelshagen
  0 siblings, 2 replies; 9+ messages in thread
From: Andy Whitcroft @ 2016-10-11 14:28 UTC (permalink / raw)
  To: Alasdair Kergon, Mike Snitzer
  Cc: dm-devel, Shaohua Li, Heinz Mauelshagen, linux-raid, linux-kernel,
	Andy Whitcroft

In commit ecbfb9f118bce4 ("dm raid: add raid level takeover support") a new
compatible feature flag was added.  Validation for these compat_features
was added but this only passes for new raid mappings with this feature
flag.  This causes previously created raid mappings to be failed at import.

Check compat_features for any valid combinations.

Fixes: ecbfb9f118bce4 ("dm raid: add raid level takeover support")
BugLink: http://bugs.launchpad.net/bugs/1631298
Signed-off-by: Andy Whitcroft <apw@canonical.com>
---
 drivers/md/dm-raid.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

It very much looks like these are intended to be optional extended feature
flags.  That we should be accepting any valid flag and rejecting any bit
not in that set.  We should however not be ensuring that specific bits
are actually set.  Certainly as things stand raid sets built on previous
kernel versions cannot be assembled.

diff --git a/drivers/md/dm-raid.c b/drivers/md/dm-raid.c
index 8abde6b..6ddea60 100644
--- a/drivers/md/dm-raid.c
+++ b/drivers/md/dm-raid.c
@@ -2258,7 +2258,7 @@ static int super_validate(struct raid_set *rs, struct md_rdev *rdev)
 	if (!mddev->events && super_init_validation(rs, rdev))
 		return -EINVAL;
 
-	if (le32_to_cpu(sb->compat_features) != FEATURE_FLAG_SUPPORTS_V190) {
+	if (le32_to_cpu(sb->compat_features) & ~(FEATURE_FLAG_SUPPORTS_V190)) {
 		rs->ti->error = "Unable to assemble array: Unknown flag(s) in compatible feature flags";
 		return -EINVAL;
 	}
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-10-14 17:15 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-11 14:28 [PATCH 1/1] dm raid: fix compat_features validation Andy Whitcroft
2016-10-11 14:46 ` Mike Snitzer
2016-10-11 15:04 ` [dm-devel] " Heinz Mauelshagen
2016-10-11 15:38   ` Andy Whitcroft
2016-10-11 15:44     ` Heinz Mauelshagen
2016-10-11 16:21       ` [PATCH 1/1 V2] " Andy Whitcroft
2016-10-11 16:53         ` Heinz Mauelshagen
2016-10-11 17:44       ` [PATCH 1/1] " Mike Snitzer
2016-10-14 17:14         ` Heinz Mauelshagen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox