bcache: check unsupported feature sets for bcache register
authorColy Li <colyli@suse.de>
Mon, 4 Jan 2021 07:41:20 +0000 (15:41 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Jan 2021 19:18:25 +0000 (20:18 +0100)
commita9c413cd0cdf8823e01b59779602c54bc847962b
tree8d91d7cfb508ba698e5c28643e8b401918e5f192
parentfbb23cd187558a9f1256845ff9c8dd10dbeae101
bcache: check unsupported feature sets for bcache register

commit 1dfc0686c29a9bbd3a446a29f9ccde3dec3bc75a upstream.

This patch adds the check for features which is incompatible for
current supported feature sets.

Now if the bcache device created by bcache-tools has features that
current kernel doesn't support, read_super() will fail with error
messoage. E.g. if an unsupported incompatible feature detected,
bcache register will fail with dmesg "bcache: register_bcache() error :
Unsupported incompatible feature found".

Fixes: d721a43ff69c ("bcache: increase super block version for cache device and backing device")
Fixes: ffa470327572 ("bcache: add bucket_size_hi into struct cache_sb_disk for large bucket")
Signed-off-by: Coly Li <colyli@suse.de>
Cc: stable@vger.kernel.org # 5.9+
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/md/bcache/features.h
drivers/md/bcache/super.c