summaryrefslogtreecommitdiffstats
path: root/block/badblocks.c
Commit message (Collapse)AuthorAgeFilesLines
* block, badblocks: introduce devm_init_badblocksDan Williams2016-01-091-13/+35
| | | | | | | | | Provide a devres interface for initializing a badblocks instance. The pmem driver has several scenarios where it will be beneficial to have this structure automatically freed when the device is disabled / fails probe. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* block: clarify badblocks lifetimeDan Williams2016-01-091-0/+2
| | | | | | | | | | The badblocks list attached to a gendisk is allocated by the driver which equates to the driver owning the lifetime of the object. Do not automatically free it in del_gendisk(). This is in preparation for expanding the use of badblocks in libnvdimm drivers and introducing devm_init_badblocks(). Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* badblocks: rename badblocks_free to badblocks_exitDan Williams2016-01-091-3/+3
| | | | | | | | For symmetry with badblocks_init() make it clear that this path only destroys incremental allocations of a badblocks instance, and does not free the badblocks instance itself. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* badblocks: Add core badblock management codeVishal Verma2016-01-091-0/+561
Take the core badblocks implementation from md, and make it generally available. This follows the same style as kernel implementations of linked lists, rb-trees etc, where you can have a structure that can be embedded anywhere, and accessor functions to manipulate the data. The only changes in this copy of the code are ones to generalize function/variable names from md-specific ones. Also add init and free functions. Signed-off-by: Vishal Verma <vishal.l.verma@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>