From a9e89ba71b97f6f5e8c9e795c3b95c5844996ad0 Mon Sep 17 00:00:00 2001 From: Mike Snitzer Date: Tue, 17 Jul 2012 19:23:44 -0400 Subject: [PATCH 00/41] *** SUBJECT HERE *** *** BLURB HERE *** Joe Thornber (40): dm thin: fix memory leak in process_prepared_mapping dm thin: do not break sharing for a zero length write dm block manager: always unlock the superblock in dm_bm_flush_and_unlock dm space map: only commit a space map if the index has changed dm: remove unused .flush target method dm: allow targets to override the 'supports flush' calculation dm thin: turn on flush override dm persistent data: remove debug space map checker dm block manager: create a separate struct dm_block_manager dm thin metadata: stop tracking whether a commit is needed dm transaction manager: revise creation functions dm transaction manager: stop using dm_bm_unlock_move when shadowing blocks dm block manager: remove dm_bm_unlock_move dm thin metadata: introduce THIN_MAX_CONCURRENT_LOCKS dm thin metadata: add superblock_lock and superblock_lock_zero dm thin metadata: remove a pointless label from __commit_transaction dm thin metadata: factor __setup_btree_details out of init_pmd dm thin metadata: rename init_pmd to __create_persistent_data_objects dm thin metadata: factor some code out of dm_pool_metadata_open dm thin metadata: lift initialisation of some vars out of __format_or_open_metadata dm thin metadata: factor out __write_initial_superblock dm thin metadata: inline dm_commit_pool_metadata into __write_initial_superblock dm thin metadata: integrate that last inline properly dm thin metadata: lift the call to __begin_transaction out of __write_initial_superblock dm thin metadata: zero the uuid dm thin metadata: leverage dm_pool_metadata members to cleanup code dm thin metadata: split __format_or_open_metadata dm thin metadata: remove nr_blocks arg from __create_persistent_data_objects dm thin metadata: move the check for superblock_all_zeroes dm thin metadata: remove 'create' parameter from __create_persistent_data_objects() dm thin metadata: remove some duplicate initialisation dm thin metadata: tidy up error path in __open_metadata and __format_metadata dm thin metadata: factor out __destroy_persistent_data_objects dm thin metadata: add a mode param to dm_pool_metadata_open dm thin metadata: introduce dm_thin_changed_this_transaction dm thin: reduce the number of metadata commits dm block manager: introduce dm_bm_read_only dm thin metadata: introduce dm_pool_metadata_read_only dm thin metadata: introduce dm_pool_abort_metadata dm thin: add read-only and fail-io modes Mike Snitzer (1): dm thin metadata: factor out and move __check_incompat_features drivers/md/Kconfig | 9 - drivers/md/dm-table.c | 3 + drivers/md/dm-thin-metadata.c | 701 ++++++++++++-------- drivers/md/dm-thin-metadata.h | 28 +- drivers/md/dm-thin.c | 405 +++++++++--- drivers/md/persistent-data/Makefile | 1 - drivers/md/persistent-data/dm-block-manager.c | 96 ++-- drivers/md/persistent-data/dm-block-manager.h | 21 +- drivers/md/persistent-data/dm-space-map-checker.c | 446 ------------- drivers/md/persistent-data/dm-space-map-checker.h | 26 - drivers/md/persistent-data/dm-space-map-common.c | 12 +- drivers/md/persistent-data/dm-space-map-common.h | 1 + drivers/md/persistent-data/dm-space-map-disk.c | 34 +- .../md/persistent-data/dm-transaction-manager.c | 91 +-- .../md/persistent-data/dm-transaction-manager.h | 11 +- include/linux/device-mapper.h | 8 +- 16 files changed, 884 insertions(+), 1009 deletions(-) delete mode 100644 drivers/md/persistent-data/dm-space-map-checker.c delete mode 100644 drivers/md/persistent-data/dm-space-map-checker.h