OSDN Git Service

bcache: correct flash only vols (check all uuids)
authorColy Li <colyli@suse.de>
Tue, 27 Feb 2018 17:49:29 +0000 (09:49 -0800)
committerJens Axboe <axboe@kernel.dk>
Tue, 27 Feb 2018 17:54:25 +0000 (10:54 -0700)
commit02aa8a8b2b84531fa78b9a486d9b2a0700f7bc08
treec624848f67f66824358d4bbbd41f9e32b60673ab
parent9c72258870a95671aa301e21ea6639d1d3ec4111
bcache: correct flash only vols (check all uuids)

Commit 2831231d4c3f ("bcache: reduce cache_set devices iteration by
devices_max_used") adds c->devices_max_used to reduce iteration of
c->uuids elements, this value is updated in bcache_device_attach().

But for flash only volume, when calling flash_devs_run(), the function
bcache_device_attach() is not called yet and c->devices_max_used is not
updated. The unexpected result is, the flash only volume won't be run
by flash_devs_run().

This patch fixes the issue by iterate all c->uuids elements in
flash_devs_run(). c->devices_max_used will be updated properly when
bcache_device_attach() gets called.

[mlyle: commit subject edited for character limit]

Fixes: 2831231d4c3f ("bcache: reduce cache_set devices iteration by devices_max_used")
Reported-by: Tang Junhui <tang.junhui@zte.com.cn>
Signed-off-by: Coly Li <colyli@suse.de>
Reviewed-by: Michael Lyle <mlyle@lyle.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/md/bcache/super.c