OSDN Git Service

loop: Refactor loop_set_status() size calculation
authorMartijn Coenen <maco@android.com>
Wed, 13 May 2020 13:38:39 +0000 (15:38 +0200)
committerJens Axboe <axboe@kernel.dk>
Thu, 21 May 2020 14:20:34 +0000 (08:20 -0600)
commitb0bd158dd630bd47640e0e418c062cda1e0da5ad
tree0ed7aebddaf3dab09625f79240decb743f64abd0
parent716ad0986cbd1d3b2ab3f6d23144a94638dac20b
loop: Refactor loop_set_status() size calculation

figure_loop_size() calculates the loop size based on the passed in
parameters, but at the same time it updates the offset and sizelimit
parameters in the loop device configuration. That is a somewhat
unexpected side effect of a function with this name, and it is only only
needed by one of the two callers of this function - loop_set_status().

Move the lo_offset and lo_sizelimit assignment back into loop_set_status(),
and use the newly factored out functions to validate and apply the newly
calculated size. This allows us to get rid of figure_loop_size() in a
follow-up commit.

Signed-off-by: Martijn Coenen <maco@android.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/loop.c