From: Andy Whitcroft <apw@canonical.com>
To: Alasdair Kergon <agk@redhat.com>, Mike Snitzer <snitzer@redhat.com>
Cc: dm-devel@redhat.com, Shaohua Li <shli@kernel.org>,
Heinz Mauelshagen <heinzm@redhat.com>,
linux-raid@vger.kernel.org, linux-kernel@vger.kernel.org,
Andy Whitcroft <apw@canonical.com>
Subject: [PATCH 1/1] dm raid: fix compat_features validation
Date: Tue, 11 Oct 2016 15:28:35 +0100 [thread overview]
Message-ID: <20161011142835.11620-1-apw@canonical.com> (raw)
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
next reply other threads:[~2016-10-11 14:28 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-11 14:28 Andy Whitcroft [this message]
2016-10-11 15:04 ` [dm-devel] [PATCH 1/1] dm raid: fix compat_features validation Heinz Mauelshagen
2016-10-11 15:38 ` Andy Whitcroft
2016-10-11 15:44 ` [dm-devel] " 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161011142835.11620-1-apw@canonical.com \
--to=apw@canonical.com \
--cc=agk@redhat.com \
--cc=dm-devel@redhat.com \
--cc=heinzm@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=shli@kernel.org \
--cc=snitzer@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox