[dm-devel] [git pull] device mapper changes for 5.1
Mike Snitzer
snitzer at redhat.com
Thu Mar 7 16:24:51 UTC 2019
Hi Linus,
I had to rebase a couple days ago because I decided to drop the
bio-based DM "noclone" feature that was developed this past development
cycle. The "noclone" support allowed certain DM targets to work without
requiring bio cloning. A performance win of ~10% was realized with 512b
bio payloads, on _really_ fast storage, but if the bio payload just
increased to as small as 4K then the improvement was only 1%. The risk
vs reward trade-off skewed toward too risky at this time given late
breaking reports of Fedora boot hangs on s390 and x86_64 kvm guests for
particular kernel configs. Persistent memory may warrant revisiting
this line of work in the future but for now it has been tabled.
The following changes since commit 4ae280b4ee3463fa57bbe6eede26b97daff8a0f1:
dm thin: fix bug where bio that overwrites thin block ignores FUA (2019-02-14 19:02:29 -0500)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git tags/for-5.1/dm-changes
for you to fetch changes up to 225557446856448039a9e495da37b72c20071ef2:
dm integrity: limit the rate of error messages (2019-03-06 09:03:00 -0500)
Please pull, thanks.
Mike
----------------------------------------------------------------
- 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)
----------------------------------------------------------------
Chengguang Xu (3):
dm integrity: remove redundant unlikely annotation
dm verity fec: remove redundant unlikely annotation
dm block manager: remove redundant unlikely annotation
Gustavo A. R. Silva (1):
dm switch: use struct_size() in kzalloc()
Helen Koike (1):
dm: add support to directly boot to a mapped device
Huaisheng Ye (1):
dm writecache: fix typo in name for writeback_wq
Jason Cai (Xiang Feng) (1):
dm thin: add sanity checks to thin-pool and external snapshot creation
Mike Snitzer (5):
dm: update dm_process_bio() to split bio if in ->make_request_fn()
dm: eliminate 'split_discard_bios' flag from DM target interface
dm: remove unused _rq_tio_cache and _rq_cache
dm: always call blk_queue_split() in dm_process_bio()
dm cache: add support for discard passdown to the origin device
Mikulas Patocka (2):
dm snapshot: don't define direct_access if we don't support it
dm integrity: limit the rate of error messages
NeilBrown (1):
dm: fix to_sector() for 32bit
Documentation/device-mapper/cache.txt | 3 +
Documentation/device-mapper/dm-init.txt | 114 ++++++++++
drivers/md/Kconfig | 12 +
drivers/md/Makefile | 4 +
drivers/md/dm-cache-target.c | 127 ++++++++---
drivers/md/dm-init.c | 303 ++++++++++++++++++++++++++
drivers/md/dm-integrity.c | 10 +-
drivers/md/dm-ioctl.c | 103 +++++++++
drivers/md/dm-raid.c | 14 +-
drivers/md/dm-rq.c | 16 ++
drivers/md/dm-rq.h | 16 --
drivers/md/dm-snap.c | 8 -
drivers/md/dm-switch.c | 3 +-
drivers/md/dm-thin.c | 14 +-
drivers/md/dm-verity-fec.c | 6 +-
drivers/md/dm-writecache.c | 2 +-
drivers/md/dm-zoned-target.c | 1 -
drivers/md/dm.c | 139 ++++++------
drivers/md/persistent-data/dm-block-manager.c | 8 +-
include/linux/device-mapper.h | 17 +-
include/uapi/linux/dm-ioctl.h | 4 +-
21 files changed, 776 insertions(+), 148 deletions(-)
create mode 100644 Documentation/device-mapper/dm-init.txt
create mode 100644 drivers/md/dm-init.c
More information about the dm-devel
mailing list