dm space map metadata: fix ref counting bug when bootstrapping a new space map
authorJoe Thornber <ejt@redhat.com>
Wed, 9 Dec 2015 16:38:12 +0000 (16:38 +0000)
committerMike Snitzer <snitzer@redhat.com>
Wed, 9 Dec 2015 18:27:25 +0000 (13:27 -0500)
commit50dd842ad83b43bed71790efb31cfb2f6c05c9c1
tree89ae0e1fc73b57d071fcec92d120fa3a19500cfd
parent49e99fc717f624aa75ca755d6e7bc029efd3f0e9
dm space map metadata: fix ref counting bug when bootstrapping a new space map

When applying block operations (BOPs) do not remove them from the
uncommitted BOP ring-buffer until after they've been applied -- in case
we recurse.

Also, perform BOP_INC operation, in dm_sm_metadata_create() and
sm_metadata_extend(), in terms of the uncommitted BOP ring-buffer rather
than using direct calls to sm_ll_inc().

Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Cc: stable@vger.kernel.org
drivers/md/persistent-data/dm-space-map-metadata.c