- Update bio-based DM core to always call blk_queue_split() and update
  DM targets to properly advertise discard limits that blk_queue_split()
  looks at when dtermining to split discard.  Whereby allowing DM core's
  own 'split_discard_bios' to be removed.

- Improve DM cache target to provide support for discard passdown to the
  origin device.

- Introduce support to directly boot to a DM mapped device from init by
  using dm-mod.create= module param.  This eliminates the need for an
  elaborate initramfs that is otherwise needed to create DM devices.
  This feature's implementation has been worked on for quite some time
  (got up to v12) and is of particular interest to Android and other
  more embedded platforms (e.g. ARM).

- Rate limit errors from the DM integrity target that were identified as
  the cause for recent NMI hangs due to console limitations.

- Add sanity checks for user input to thin-pool and external snapshot
  creation.

- Remove some unused leftover kmem caches from when old .request_fn
  request-based support was removed.

- Various small cleanups and fixes to targets (e.g. typos, needless
  unlikely() annotations, use struct_size(), remove needless
  .direct_access method from dm-snapshot)
dm integrity: limit the rate of error messages

When using dm-integrity underneath md-raid, some tests with raid
auto-correction trigger large amounts of integrity failures - and all
these failures print an error message. These messages can bring the
system to a halt if the system is using serial console.

Fix this by limiting the rate of error messages - it improves the speed
of raid recovery and avoids the hang.

Fixes: 7eada909bfd7a ("dm: add integrity target")
Cc: stable@vger.kernel.org # v4.12+
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
1 file changed