dm array: fix a reference counting bug in shadow_ablock
authorJoe Thornber <ejt@redhat.com>
Fri, 13 Dec 2013 14:55:55 +0000 (14:55 +0000)
committerMike Snitzer <snitzer@redhat.com>
Fri, 13 Dec 2013 19:22:10 +0000 (14:22 -0500)
commited9571f0cf1fe09d3506302610f3ccdfa1d22c4a
treeec013b939d466fbd06d3c62a5a0de5ca9e5a3ae1
parent5b564d80f8bc21094c0cd2b19b679d983aabcc29
dm array: fix a reference counting bug in shadow_ablock

An old array block could have its reference count decremented below
zero when it is being replaced in the btree by a new array block.

The fix is to increment the old ablock's reference count just before
inserting a new ablock into the btree.

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