##############################################################################
# File based on v3.7-rc1
##############################################################################

##############################################################################
# Upstream changes since release
##############################################################################
git-update1.patch # v3.7-rc7
git-update2.patch # v3.7-rc8
git-update3.patch # v3.7
git-update4.patch # v3.7-11662-g54e37b8
git-update5.patch # v3.8-rc1
git-update8.patch # v3.8-rc4
git-update9.patch # v3.8-rc5
git-update10.patch # v3.8-rc6
git-update11.patch # v3.8-rc7
git-update12.patch # v3.8
git-update13.patch # v3.8-9405-gd895cb1
git-update14.patch # v3.8-10206-gb0af9cd
git-update15.patch # v3.9-rc1

##############################################################################
# Base against linux-next this cycle
##############################################################################

##############################################################################
# Marker corresponding to base
##############################################################################

base

##############################################################################
# References used to be to http://patchwork.kernel.org/patch// but
# currently refer to a private patchwork instance.
# N.B. Patches and headers may have been modified since submission.
##############################################################################

##############################################################################
# Patches already in linux-next from other sources
##############################################################################

##############################################################################
# 'git describe --match v\*'
# BASE v3.9-rc1
##############################################################################

##############################################################################
# This section of patches gets imported into linux-next after the block tree.
#### NEXT*BASE block  - uncomment and replace * with _ to base on block
# NEXT_PATCHES_START
##############################################################################

# Sent 36 patches to Linus 2012/12/21 for 3.8-rc1.
## Fixes
#dm-persistent-data-rename-node-to-btree_node.patch # 55058
#dm-ioctl-prevent-unsafe-change-to-dm_ioctl-data_size.patch # 55782
#dm-disable-WRITE-SAME.patch
## dm-crypt-do-not-support-WRITE_SAME.patch
#dm-thin-replace-dm_cell_release_singleton-with-cell_defer_except.patch
#dm-thin-fix-race-between-simultaneous-io-and-discards-to-same-block.patch
#dm-thin-wake-worker-when-discard-is-prepared.patch
#dm-persistent-data-fix-nested-btree-deletion.patch # 55882
#dm-thin-emit-ignore_discard-in-status-when-discards-disabled.patch
## Clean up
#dm-raid1-remove-impossible-mempool_alloc-error-test.patch # 55021
#dm-raid-use-DM_ENDIO_INCOMPLETE.patch # 55022
#dm-snapshot-optimize-track_chunk.patch # 55042
#dm-thin-rename-cell_defer_except-to-cell_defer_no_holder.patch
#dm-thin-cleanup-dead-code.patch
## Changes
#dm-raid-round-region_size-to-power-of-two.patch
#dm-block-manager-reinstate-message-when-validator-fails.patch # 55685
#dm-persistent-data-use-DMERR_LIMIT-for-errors.patch # 55687
#dm-thin-use-DMERR_LIMIT-for-errors.patch # 55686
#dm-persistent-data-improve-improve-space-map-block-alloc-failure-message.patch # 55887
#dm-ioctl-remove-PF_MEMALLOC.patch # 55547
#dm-ioctl-use-kmalloc-if-possible.patch # 55549
#dm-prepare-to-support-WRITE-SAME.patch # 55970
#dm-add-WRITE-SAME-support.patch # 55972
#dm-linear-add-WRITE-SAME-support.patch # 55973
#dm-kcopyd-add-WRITE-SAME-support-to-dm_kcopyd_zero.patch # 45682
#dm-introduce-per_bio_data.patch # 55122
#dm-raid1-use-per_bio_data.patch
#dm-verity-use-per_bio_data.patch
#dm-snapshot-use-per_bio_data.patch
#dm-move-target-request-nr-to-dm_target_io.patch
#dm-raid1-rename-read_record-to-bio_record.patch
#dm-flakey-dont-use-map_context.patch
#dm-raid1-dont-use-map_context.patch
#dm-thin-dont-use-map_context.patch
#dm-snapshot-do-not-use-map_context.patch
#dm-remove-map_info.patch
#dm-stripe-add-WRITE-SAME-support.patch # 55971

## Sent 2 patches to Linus 2012/02/01 for 3.8-rc6
#dm-thin-fix-queue-limits-stacking.patch #56573
#dm-fix-write-same-requests-counting.patch

## Sent 30 patches to Linux 2013/03/01 for 3.9-rc1
## Fixes
#dm-do-not-replace-bioset-for-request-based-dm.patch # 57099
#dm-fix-truncated-status-strings.patch # 57142

## Cleanups
#dm-thin-support-a-non-power-of-2-discard_granularity.patch # 56142
#dm-table-remove-superfluous-variable-reset.patch # 56085
#dm-bufio-use-WRITE_FLUSH-instead-of-REQ_FLUSH.patch # 56145
#dm-thin-use-block_size_is_power_of_two.patch # 56141
#dm-remove-CONFIG_EXPERIMENTAL.patch
#dm-persistent-data-remove-CONFIG_EXPERIMENTAL.patch
#dm-clean-up-clone_bio.patch # 55815
#dm-rename-request-variables-to-bios.patch
#dm-rename-bio-cloning-functions.patch
#dm-refactor-bio-cloning.patch
#dm-persistent-data-set-some-btree-fn-parms-const.patch
#dm-snapshot-add-missing-module-aliases.patch # 56816
#dm-fix-limits-initialization-when-there-are-no-data-devices.patch # 56814
#dm-remove-unused-_rq_bio_info_cache.patch # 57107
#dm-merge-io_pool-and-tio_pool.patch # 57106

## Enhancements
#dm-ioctl-introduce-ioctl_flags.patch # 56444
#dm-ioctl-optimize-functions-without-variable-params.patch # 56445
#dm-ioctl-allow-message-to-return-data.patch # 57152

#dm-kcopyd-introduce-configurable-throttling.patch # 56257
## dm-kcopyd-enable-throttling.patch #  56258

## For cache target.
#dm-add-target-num_write_bios-fn.patch
#dm-persistent-data-add-btree_walk.patch # 55884
#dm-bio-prison-pass-cell-memory-in.patch # 55883
#dm-thin-remove-cells-from-stack.patch # 55886
##dm-thin-put-cells-on-stack.patch
#dm-persistent-data-add-transactional-array.patch # 55888
#dm-persistent-data-add-bitset.patch

## Cache target.
#dm-add-cache-target.patch # 55890
##dm-edit-cache-doc.patch
##dm-edit-cache-target.patch
#dm-cache-add-mq-policy.patch
#dm-cache-add-cleaner-policy.patch
##dm-cache-policies-edit.patch

##############################################################################
# NEXT_PATCHES_END
##############################################################################

##############################################################################
# Marker corresponding to end of -next tree.
##############################################################################

next

##############################################################################
# Patches already included in -mm from other sources
##############################################################################

##############################################################################
# This section of patches gets imported into -mm.
# (linux-next patches above get pulled in separately now.)
#
# MM_PATCHES_START
##############################################################################

##############################################################################
# MM_PATCHES_END
##############################################################################

##############################################################################
# Patches from other sources included in -mm below the dm section
##############################################################################

##############################################################################
# Marker corresponding to end of -mm tree.
##############################################################################

mm

##############################################################################
# May need more work or testing, but close to being ready.
##############################################################################

# Aiming for 3.10 - needs a bit more cleanup first
dm-add-switch-target.patch # 53568

# Review and include in 3.10
dm-optimize-use-SRCU-and-RCU.patch
#dm-optimize-use-SRCU-and-RCU-old.patch # 47283
dm-optimize-reorder-structure.patch # 47284

dm-add-statistics.patch # 57153
dm-add-zeroed-target.patch # 56603

#dm-ioctl-allow-message-to-return-data-old.patch # 56914
#dm-add-statistics-old2.patch # 56915
#dm-add-statistics-old.patch # 56579

# Needs proper testing
dm-use-new-hashtable-implementation.patch # 55934

dm-thin-support-metadata-resizing.patch

##############################################################################
# End of patches that apply cleanly and are under active review.
##############################################################################

end


dm-track-writeable-opens.patch

dm-cache-add-basic-policy.patch
dm-cache-add-debug-policy.patch


###
dm-mpath-add-ability-to-disable-partition-creation.patch # 47029

dm-update-max_io_len-to-support-a-split_io-that-is-not-a-power-of-2.patch # 46699

dm-thin-commit-metadata-before-providing-status.patch # 45899

dm-table-export-singleton-target.patch

# Depends on agreement for exported symbol
dm-table-extend-device-name-lookups.patch # 101025

# older patches

dm-table-limit-max_segments-when-no-merge_bvec-fn.patch # 83666

dm-mpath-refactor-pg_init-trigger.patch # 76028

dm-raid1-clear-region_hash-on-suspend.patch # 62948


# replicator
v6-1-4-dm-replicator-documentation-and-module-registry.patch
v6-2-4-dm-replicator-replication-log-and-site-link-handler-interfaces-and-main-replicator-module.patch
v6-3-4-dm-replicator-ringbuffer-replication-log-handler.patch
v6-4-4-dm-replicator-blockdev-site-link-handler.patch

# multisnap
dm-multisnap-common.patch

dm-multisnap-mikulas-headers.patch
dm-multisnap-mikulas-alloc.patch
dm-multisnap-mikulas-blocks.patch
dm-multisnap-mikulas-btree.patch
dm-multisnap-mikulas-commit.patch
dm-multisnap-mikulas-delete.patch
dm-multisnap-mikulas-freelist.patch
dm-multisnap-mikulas-io.patch
dm-multisnap-mikulas-snaps.patch
dm-multisnap-mikulas-common.patch
dm-multisnap-mikulas-config.patch

dm-multisnap-daniel.patch


dm-snapshot-cleanup-style.patch

# Experimental

dm-region_hash-change-primes.patch

# An attempt to get UML to work with dm.
uml-fixes.patch

dm-add-ioband.patch

dm-raid1-separate-region_hash-interface-part2-to-be-split-and-fixed.patch

# Don't think we want the next one
dm-raid1-increase-dm-io-pages.patch

# Will be needed by new replicator module
dm-export-dm_disk.patch

# An alternative to loop 
dm-loop.patch

dm-delay-unplug-queue.patch

# Needs more review 
dm-mpath-add-alua.patch

dm-tidy-io-initialisation-functions.patch

##############################################################################
# Under review - only try the remaining patches if you know what you're doing!
# Some don't even compile.
##############################################################################

# Need integrating and cleaning up
dm-memcache.patch
dm-iostats.patch
dm-throttle.patch

# Doesn't fix this properly yet
dm-snapshot-invalidate-from-workqueue.patch

# Unfinished
dm-kcopyd-add-async-destruction-option.patch
dm-snapshot-release-memory-if-invalid.patch

# Awaiting a thorough review
dm-mpath-pg_timeout.patch

dm-raid1-mempool-bug-workaround-reversion.patch

dm-raid1-read-balancing.patch

dm-userspace.patch

# Needs further tidying.  Add rate-limiting to messages?
dm-mpath-improve-err-mesgs.patch