summaryrefslogtreecommitdiffstats
path: root/drivers/md/persistent-data/dm-array.c
Commit message (Collapse)AuthorAgeFilesLines
* dm persistent data: add cursor skip functions to the cursor APIsJoe Thornber2017-02-161-0/+21
| | | | | Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
* dm array: remove a dead assignment in populate_ablock_with_values()Bart Van Assche2016-12-081-2/+0
| | | | | | | A value is assigned to 'nr_entries' but is never used, remove it. Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
* dm array: introduce cursor apiJoe Thornber2016-09-221-0/+86
| | | | | | | | More efficient way to iterate an array due to prefetching (makes use of the new dm_btree_cursor_* api). Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
* dm array: add dm_array_new()Joe Thornber2016-09-221-31/+111
| | | | | | | | dm_array_new() creates a new, populated array more efficiently than starting with an empty one and resizing. Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
* dm persistent data: eliminate unnecessary return valuesMikulas Patocka2015-10-311-2/+2
| | | | | | | | | | | dm_bm_unlock and dm_tm_unlock return an integer value but the returned value is always 0. The calling code sometimes checks the return value and sometimes doesn't. Eliminate these unnecessary return values and also the checks for them. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
* dm array: if resizing the array is a noop set the new root to the old oneJoe Thornber2014-12-011-1/+3
| | | | | | | | | | This could've been quite bad (to return success but not update the new root to point at the old) but in practice the only known consumer of the dm array code is the DM cache target. And the DM cache target passes in the same old root to array_resize() anyway. Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
* dm array: fix a reference counting bug in shadow_ablockJoe Thornber2013-12-131-1/+9
| | | | | | | | | | | | 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+
* dm array: fix bug in growing arrayJoe Thornber2013-11-051-1/+4
| | | | | | | | Entries would be lost if the old tail block was partially filled. Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Cc: stable@vger.kernel.org # 3.9+
* dm persistent data: add transactional arrayJoe Thornber2013-03-011-0/+808
Add a transactional array. Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
OpenPOWER on IntegriCloud