* [git pull] device mapper changes for 4.12
@ 2017-05-02 18:58 Mike Snitzer
2017-05-03 17:51 ` Linus Torvalds
0 siblings, 1 reply; 3+ messages in thread
From: Mike Snitzer @ 2017-05-02 18:58 UTC (permalink / raw)
To: Linus Torvalds
Cc: Somasundaram Krishnasamy, Adrian Salido, Heinz Mauelshagen,
Eric Biggers, Andy Shevchenko, Dennis Yang, Milan Broz,
Vinothkumar Raja, Gilad Ben-Yossef, dm-devel, Matthias Kaehlcke,
Mikulas Patocka, Tim Murray, Ondrej Kozina, Bart Van Assche,
Joe Thornber, Alasdair G Kergon
Hi Linus,
The following changes since commit c1ae3cfa0e89fa1a7ecc4c99031f5e9ae99d9201:
Linux 4.11-rc1 (2017-03-05 12:59:56 -0800)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git tags/for-4.12/dm-changes
for you to fetch changes up to 390020ad2af9ca04844c4f3b1f299ad8746d84c8:
dm bufio: check new buffer allocation watermark every 30 seconds (2017-05-01 15:21:42 -0400)
Please pull, thanks.
Mike
----------------------------------------------------------------
- A major update for DM cache that reduces the latency for deciding
whether blocks should migrate to/from the cache. The bio-prison-v2
interface supports this improvement by enabling direct dispatch of
work to workqueues rather than having to delay the actual work
dispatch to the DM cache core. So the dm-cache policies are much more
nimble by being able to drive IO as they see fit. One immediate
benefit from the improved latency is a cache that should be much more
adaptive to changing workloads.
- Add a new DM integrity target that emulates a block device that has
additional per-sector tags that can be used for storing integrity
information.
- Add a new authenticated encryption feature to the DM crypt target that
builds on the capabilities provided by the DM integrity target.
- Add MD interface for switching the raid4/5/6 journal mode and update
the DM raid target to use it to enable aid4/5/6 journal write-back
support.
- Switch the DM verity target over to using the asynchronous hash crypto
API (this helps work better with architectures that have access to
off-CPU algorithm providers, which should reduce CPU utilization).
- Various request-based DM and DM multipath fixes and improvements from
Bart and Christoph.
- A DM thinp target fix for a bio structure leak that occurs for each
discard IFF discard passdown is enabled.
- A fix for a possible deadlock in DM bufio and a fix to re-check the
new buffer allocation watermark in the face of competing admin changes
to the 'max_cache_size_bytes' tunable.
- A couple DM core cleanups.
----------------------------------------------------------------
Adrian Salido (1):
dm ioctl: prevent stack leak in dm ioctl call
Andy Shevchenko (1):
dm crypt: replace custom implementation of hex2bin()
Bart Van Assche (12):
dm mpath: requeue after a small delay if blk_get_request() fails
dm mpath: split and rename activate_path() to prepare for its expanded use
dm mpath: avoid that path removal can trigger an infinite loop
dm mpath: delay requeuing while path initialization is in progress
dm rq: check blk_mq_register_dev() return value in dm_mq_init_request_queue()
dm block manager: remove an unused argument from dm_block_manager_create()
dm: verify suspend_locking assumptions at runtime
dm mpath: verify __pg_init_all_paths locking assumptions at runtime
dm: introduce enum dm_queue_mode to cleanup related code
dm mpath: micro-optimize the hot path relative to MPATHF_QUEUE_IF_NO_PATH
dm mpath: cleanup QUEUE_IF_NO_PATH bit manipulation by introducing assign_bit()
dm mpath: make it easier to detect unintended I/O request flushes
Dennis Yang (1):
dm thin: fix a memory leak when passing discard bio down
Eric Biggers (1):
dm crypt: remove obsolete references to per-CPU state
Gilad Ben-Yossef (1):
dm verity: switch to using asynchronous hash crypto API
Heinz Mauelshagen (3):
md: add raid4/5/6 journal mode switching API
dm raid: fix table line argument order in status
dm raid: add raid4/5/6 journal write-back support via journal_mode option
Joe Thornber (4):
dm bio prison v2: new interface for the bio prison
dm cache: significant rework to leverage dm-bio-prison-v2
dm cache: set/clear the cache core's dirty_bitset when loading mappings
dm cache policy smq: make the cleaner policy write-back more aggressively
Matthias Kaehlcke (1):
dm ioctl: remove double parentheses
Mike Snitzer (1):
dm integrity: factor out create_journal() from dm_integrity_ctr()
Mikulas Patocka (15):
dm bufio: add sector start offset to dm-bufio interface
dm: add integrity target
dm integrity: add recovery mode
dm crypt: use shifts instead of sector_div
dm raid: select the Kconfig option CONFIG_MD_RAID0
dm table: replace while loops with for loops
dm: mark targets that pass integrity data
dm integrity: various small changes and cleanups
dm integrity: support larger block sizes
dm crypt: fix large block integrity support
dm: remove dummy dm_table definition
dm integrity: use hex2bin instead of open-coded variant
dm integrity: use previously calculated log2 of sectors_per_block
dm bufio: avoid a possible ABBA deadlock
dm bufio: check new buffer allocation watermark every 30 seconds
Milan Broz (5):
dm table: add flag to allow target to handle its own integrity metadata
dm crypt: add cryptographic data integrity protection (authenticated encryption)
dm crypt: factor IV constructor out to separate function
dm crypt: introduce new format of cipher with "capi:" prefix
dm crypt: optionally support larger encryption sector size
Ondrej Kozina (1):
dm crypt: rewrite (wipe) key in crypto layer using random data
Somasundaram Krishnasamy (1):
dm era: save spacemap metadata root after the pre-commit
Tim Murray (1):
dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues
Vinothkumar Raja (1):
dm btree: fix for dm_btree_find_lowest_key()
Documentation/device-mapper/dm-crypt.txt | 53 +-
Documentation/device-mapper/dm-integrity.txt | 199 ++
Documentation/device-mapper/dm-raid.txt | 14 +-
drivers/md/Kconfig | 19 +-
drivers/md/Makefile | 7 +-
drivers/md/{dm-bio-prison.c => dm-bio-prison-v1.c} | 46 +-
drivers/md/{dm-bio-prison.h => dm-bio-prison-v1.h} | 2 +-
drivers/md/dm-bio-prison-v2.c | 369 +++
drivers/md/dm-bio-prison-v2.h | 152 +
drivers/md/dm-bufio.c | 70 +-
drivers/md/dm-bufio.h | 7 +
drivers/md/dm-cache-background-tracker.c | 238 ++
drivers/md/dm-cache-background-tracker.h | 46 +
drivers/md/dm-cache-metadata.c | 3 -
drivers/md/dm-cache-metadata.h | 2 +
drivers/md/dm-cache-policy-cleaner.c | 469 ---
drivers/md/dm-cache-policy-internal.h | 76 +-
drivers/md/dm-cache-policy-smq.c | 821 ++---
drivers/md/dm-cache-policy.h | 187 +-
drivers/md/dm-cache-target.c | 2535 +++++++--------
drivers/md/dm-core.h | 2 +-
drivers/md/dm-crypt.c | 1253 ++++++--
drivers/md/dm-delay.c | 1 +
drivers/md/dm-era-target.c | 10 +-
drivers/md/dm-integrity.c | 3238 ++++++++++++++++++++
drivers/md/dm-ioctl.c | 16 +-
drivers/md/dm-linear.c | 1 +
drivers/md/dm-mpath.c | 171 +-
drivers/md/dm-raid.c | 164 +-
drivers/md/dm-rq.c | 8 +-
drivers/md/dm-stripe.c | 1 +
drivers/md/dm-table.c | 99 +-
drivers/md/dm-thin-metadata.c | 2 -
drivers/md/dm-thin.c | 3 +-
drivers/md/dm-verity-fec.c | 4 +-
drivers/md/dm-verity-target.c | 201 +-
drivers/md/dm-verity.h | 23 +-
drivers/md/dm.c | 35 +-
drivers/md/dm.h | 8 +-
drivers/md/persistent-data/dm-block-manager.c | 1 -
drivers/md/persistent-data/dm-block-manager.h | 2 +-
drivers/md/persistent-data/dm-btree.c | 8 +-
drivers/md/raid5-cache.c | 62 +-
drivers/md/raid5.h | 11 +
include/linux/device-mapper.h | 26 +-
45 files changed, 7640 insertions(+), 3025 deletions(-)
create mode 100644 Documentation/device-mapper/dm-integrity.txt
rename drivers/md/{dm-bio-prison.c => dm-bio-prison-v1.c} (94%)
rename drivers/md/{dm-bio-prison.h => dm-bio-prison-v1.h} (99%)
create mode 100644 drivers/md/dm-bio-prison-v2.c
create mode 100644 drivers/md/dm-bio-prison-v2.h
create mode 100644 drivers/md/dm-cache-background-tracker.c
create mode 100644 drivers/md/dm-cache-background-tracker.h
delete mode 100644 drivers/md/dm-cache-policy-cleaner.c
create mode 100644 drivers/md/dm-integrity.c
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [git pull] device mapper changes for 4.12
2017-05-02 18:58 [git pull] device mapper changes for 4.12 Mike Snitzer
@ 2017-05-03 17:51 ` Linus Torvalds
2017-05-03 18:23 ` Mike Snitzer
0 siblings, 1 reply; 3+ messages in thread
From: Linus Torvalds @ 2017-05-03 17:51 UTC (permalink / raw)
To: Mike Snitzer, Mikulas Patocka
Cc: Somasundaram Krishnasamy, Adrian Salido, Heinz Mauelshagen,
Eric Biggers, Andy Shevchenko, Dennis Yang, Milan Broz,
Vinothkumar Raja, Gilad Ben-Yossef, dm-devel, Matthias Kaehlcke,
Tim Murray, Ondrej Kozina, Bart Van Assche, Joe Thornber,
Alasdair G Kergon
On Tue, May 2, 2017 at 11:58 AM, Mike Snitzer <snitzer@redhat.com> wrote:
>
> - Add a new DM integrity target that emulates a block device that has
> additional per-sector tags that can be used for storing integrity
> information.
So this one comes with a nice documentation file and everything, but
let me just quote all the help that you give users when faced with the
CONFIG_DM_INTEGRITY choice:
CONFIG_DM_INTEGRITY:
This is the integrity target.
That's it. Not really very helpful.
The kernel configuration phase is already likely the most frustrating
part of building your own kernel, it's really worth trying to make it
a *bit* less frustrating than this.
Even just a stupid little blurb that says
"Emulates a block device that has additional per-sector tags that can
be used for storing integrity information.
If you're not sure, you can probably just say 'n'"
or something like that. People who use this likely know they use it,
and it should lower the stress level for others.
Linus
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [git pull] device mapper changes for 4.12
2017-05-03 17:51 ` Linus Torvalds
@ 2017-05-03 18:23 ` Mike Snitzer
0 siblings, 0 replies; 3+ messages in thread
From: Mike Snitzer @ 2017-05-03 18:23 UTC (permalink / raw)
To: Linus Torvalds
Cc: Somasundaram Krishnasamy, Adrian Salido, Heinz Mauelshagen,
Eric Biggers, Andy Shevchenko, Dennis Yang, Milan Broz,
Vinothkumar Raja, Gilad Ben-Yossef, dm-devel, Matthias Kaehlcke,
Mikulas Patocka, Tim Murray, Ondrej Kozina, Bart Van Assche,
Joe Thornber, Alasdair G Kergon
On Wed, May 03 2017 at 1:51pm -0400,
Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Tue, May 2, 2017 at 11:58 AM, Mike Snitzer <snitzer@redhat.com> wrote:
> >
> > - Add a new DM integrity target that emulates a block device that has
> > additional per-sector tags that can be used for storing integrity
> > information.
>
> So this one comes with a nice documentation file and everything, but
> let me just quote all the help that you give users when faced with the
> CONFIG_DM_INTEGRITY choice:
>
> CONFIG_DM_INTEGRITY:
>
> This is the integrity target.
>
> That's it. Not really very helpful.
>
> The kernel configuration phase is already likely the most frustrating
> part of building your own kernel, it's really worth trying to make it
> a *bit* less frustrating than this.
>
> Even just a stupid little blurb that says
>
> "Emulates a block device that has additional per-sector tags that can
> be used for storing integrity information.
>
> If you're not sure, you can probably just say 'n'"
>
> or something like that. People who use this likely know they use it,
> and it should lower the stress level for others.
Sure thing. Sorry for it being so terse. I'll get it fixed and send it
your way end of this week or early next (waiting on a dm-cache fix from
Joe Thornber that I'll send at the same time).
Thanks,
Mike
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-05-03 18:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-02 18:58 [git pull] device mapper changes for 4.12 Mike Snitzer
2017-05-03 17:51 ` Linus Torvalds
2017-05-03 18:23 ` Mike Snitzer
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.