[dm-devel] [PATCH 1/1] dm raid: fix compat_features validation

Heinz Mauelshagen heinzm at redhat.com
Tue Oct 11 15:44:21 UTC 2016



On 10/11/2016 05:38 PM, Andy Whitcroft wrote:
> On Tue, Oct 11, 2016 at 05:04:34PM +0200, Heinz Mauelshagen wrote:
>> Andy,
>>
>> good catch.
>>
>> We should rather check for  V190 support only in case any
>> compat feature flags are actually set.
>>
>> {
>> +       if (le32_to_cpu(sb->compat_features) &&
>> +           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;
>>          }
> If the feature flags are single bit combinations then I believe the
> below does check exactly that.  Checking for no 1s outside of the
> expected features, caring not for the value of the valid bits:
>
> +     if (le32_to_cpu(sb->compat_features) & ~(FEATURE_FLAG_SUPPORTS_V190)) {
>
> with the possibilty to or in additional feature bits as they are added.

Thanks,
I prefer this to be easier readable.

>
> -apw
>
> --
> dm-devel mailing list
> dm-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel




More information about the dm-devel mailing list