23 Sep, 2020

2 commits

  • Commit 27f5411a718c4 ("dm crypt: support using encrypted keys")
    introduced support for encrypted keyring type.

    Fix documentation in admin guide to mention this type.

    Fixes: 27f5411a718c4 ("dm crypt: support using encrypted keys")
    Signed-off-by: Milan Broz
    Signed-off-by: Mike Snitzer

    Milan Broz
     
  • Commit 39d42fa96ba1 ("dm crypt: add flags to optionally bypass kcryptd
    workqueues") introduced new dm-crypt 'no_read_workqueue' and
    'no_write_workqueue' flags.

    Add documentation to admin guide for them.

    Fixes: 39d42fa96ba1 ("dm crypt: add flags to optionally bypass kcryptd workqueues")
    Signed-off-by: Milan Broz
    Signed-off-by: Mike Snitzer

    Milan Broz
     

08 Aug, 2020

1 commit

  • …device-mapper/linux-dm

    Pull device mapper updates from Mike Snitzer:

    - DM multipath locking fixes around m->flags tests and improvements to
    bio-based code so that it follows patterns established by
    request-based code.

    - Request-based DM core improvement to eliminate unnecessary call to
    blk_mq_queue_stopped().

    - Add "panic_on_corruption" error handling mode to DM verity target.

    - DM bufio fix to to perform buffer cleanup from a workqueue rather
    than wait for IO in reclaim context from shrinker.

    - DM crypt improvement to optionally avoid async processing via
    workqueues for reads and/or writes -- via "no_read_workqueue" and
    "no_write_workqueue" features. This more direct IO processing
    improves latency and throughput with faster storage. Avoiding
    workqueue IO submission for writes (DM_CRYPT_NO_WRITE_WORKQUEUE) is a
    requirement for adding zoned block device support to DM crypt.

    - Add zoned block device support to DM crypt. Makes use of
    DM_CRYPT_NO_WRITE_WORKQUEUE and a new optional feature
    (DM_CRYPT_WRITE_INLINE) that allows write completion to wait for
    encryption to complete. This allows write ordering to be preserved,
    which is needed for zoned block devices.

    - Fix DM ebs target's check for REQ_OP_FLUSH.

    - Fix DM core's report zones support to not report more zones than were
    requested.

    - A few small compiler warning fixes.

    - DM dust improvements to return output directly to the user rather
    than require they scrape the system log for output.

    * tag 'for-5.9/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    dm: don't call report zones for more than the user requested
    dm ebs: Fix incorrect checking for REQ_OP_FLUSH
    dm init: Set file local variable static
    dm ioctl: Fix compilation warning
    dm raid: Remove empty if statement
    dm verity: Fix compilation warning
    dm crypt: Enable zoned block device support
    dm crypt: add flags to optionally bypass kcryptd workqueues
    dm bufio: do buffer cleanup from a workqueue
    dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue()
    dm dust: add interface to list all badblocks
    dm dust: report some message results directly back to user
    dm verity: add "panic_on_corruption" error handling mode
    dm mpath: use double checked locking in fast path
    dm mpath: rename current_pgpath to pgpath in multipath_prepare_ioctl
    dm mpath: rework __map_bio()
    dm mpath: factor out multipath_queue_bio
    dm mpath: push locking down to must_push_back_rq()
    dm mpath: take m->lock spinlock when testing QUEUE_IF_NO_PATH
    dm mpath: changes from initial m->flags locking audit

    Linus Torvalds
     

05 Aug, 2020

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "It's been a busy cycle for documentation - hopefully the busiest for a
    while to come. Changes include:

    - Some new Chinese translations

    - Progress on the battle against double words words and non-HTTPS
    URLs

    - Some block-mq documentation

    - More RST conversions from Mauro. At this point, that task is
    essentially complete, so we shouldn't see this kind of churn again
    for a while. Unless we decide to switch to asciidoc or
    something...:)

    - Lots of typo fixes, warning fixes, and more"

    * tag 'docs-5.9' of git://git.lwn.net/linux: (195 commits)
    scripts/kernel-doc: optionally treat warnings as errors
    docs: ia64: correct typo
    mailmap: add entry for
    doc/zh_CN: add cpu-load Chinese version
    Documentation/admin-guide: tainted-kernels: fix spelling mistake
    MAINTAINERS: adjust kprobes.rst entry to new location
    devices.txt: document rfkill allocation
    PCI: correct flag name
    docs: filesystems: vfs: correct flag name
    docs: filesystems: vfs: correct sync_mode flag names
    docs: path-lookup: markup fixes for emphasis
    docs: path-lookup: more markup fixes
    docs: path-lookup: fix HTML entity mojibake
    CREDITS: Replace HTTP links with HTTPS ones
    docs: process: Add an example for creating a fixes tag
    doc/zh_CN: add Chinese translation prefer section
    doc/zh_CN: add clearing-warn-once Chinese version
    doc/zh_CN: add admin-guide index
    doc:it_IT: process: coding-style.rst: Correct __maybe_unused compiler label
    futex: MAINTAINERS: Re-add selftests directory
    ...

    Linus Torvalds
     

20 Jul, 2020

2 commits


13 Jul, 2020

1 commit

  • Samsung smart phones may need the ability to panic on corruption. Not
    all devices provide the bootloader support needed to use the existing
    "restart_on_corruption" mode. Additional details for why Samsung needs
    this new mode can be found here:
    https://www.redhat.com/archives/dm-devel/2020-June/msg00235.html

    Signed-off-by: jhs2.lee
    Signed-off-by: Mike Snitzer

    JeongHyeon Lee
     

06 Jul, 2020

2 commits

  • Rationale:
    Reduces attack surface on kernel devs opening the links for MITM
    as HTTPS traffic is much harder to manipulate.

    Deterministic algorithm:
    For each file:
    If not .svg:
    For each line:
    If doesn't contain `\bxmlns\b`:
    For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
    If both the HTTP and HTTPS versions
    return 200 OK and serve the same content:
    Replace HTTP with HTTPS.

    Signed-off-by: Alexander A. Klimov
    Link: https://lore.kernel.org/r/20200627103138.71885-1-grandmaster@al2klimov.de
    Signed-off-by: Jonathan Corbet

    Alexander A. Klimov
     
  • Drop the doubled words "on" and "the".

    Signed-off-by: Randy Dunlap
    Cc: Jonathan Corbet
    Cc: linux-doc@vger.kernel.org
    Cc: dm-devel@redhat.com
    Link: https://lore.kernel.org/r/20200704032020.21923-4-rdunlap@infradead.org
    Signed-off-by: Jonathan Corbet

    Randy Dunlap
     

20 Jun, 2020

1 commit


06 Jun, 2020

1 commit


21 May, 2020

1 commit

  • Implement handling for metadata version 2. The new metadata adds a
    label and UUID for the device mapper device, and additional UUID for
    the underlying block devices.

    It also allows for an additional regular drive to be used for
    emulating random access zones. The emulated zones will be placed
    logically in front of the zones from the zoned block device, causing
    the superblocks and metadata to be stored on that device.

    The first zone of the original zoned device will be used to hold
    another, tertiary copy of the metadata; this copy carries a generation
    number of 0 and is never updated; it's just used for identification.

    Signed-off-by: Hannes Reinecke
    Reviewed-by: Bob Liu
    Reviewed-by: Damien Le Moal
    Signed-off-by: Mike Snitzer

    Hannes Reinecke
     

15 May, 2020

3 commits

  • Add callback for 'dmsetup message' to allow the reclaim process
    to be triggered manually.
    Eg.

    dmsetup message /dev/dm-X 0 message

    will start the reclaim process even if the default threshold
    of 50 percent of free random zones is not reached.

    Signed-off-by: Hannes Reinecke
    Reviewed-by: Bob Liu
    Reviewed-by: Damien Le Moal
    Signed-off-by: Mike Snitzer

    Hannes Reinecke
     
  • Add callback to supply information for 'dmsetup status'
    and 'dmsetup table'. The output for 'dmsetup status' is

    0 zoned zones / random / sequential

    where is the number of unmapped (ie free) random zones,
    the total number of random zones, the number
    of unmapped sequential zones, and the total number of
    sequential zones.

    Signed-off-by: Hannes Reinecke
    Reviewed-by: Bob Liu
    Reviewed-by: Damien Le Moal
    Signed-off-by: Mike Snitzer

    Hannes Reinecke
     
  • This new target is similar to the linear target except that it emulates
    a smaller logical block size on a device with a larger logical block
    size. Its main purpose is to emulate 512 byte sectors on 4K native
    disks (i.e. 512e).

    See Documentation/admin-guide/device-mapper/dm-ebs.rst for details.

    Reviewed-by: Damien Le Moal
    Signed-off-by: Heinz Mauelshagen
    Signed-off-by: Randy Dunlap [Kconfig fixes]
    Signed-off-by: Zheng Bin [static fixes]
    Signed-off-by: Mike Snitzer

    Heinz Mauelshagen
     

15 Apr, 2020

1 commit


08 Jan, 2020

1 commit

  • raid_status() wasn't emitting rebuild flags on the table line properly
    because the rdev number was not yet set properly; index raid component
    devices array directly to solve.

    Also fix wrong argument count on emitted table line caused by 1 too
    many rebuild/write_mostly argument and consider any journal_(dev|mode)
    pairs.

    Link: https://bugzilla.redhat.com/1782045
    Signed-off-by: Heinz Mauelshagen
    Signed-off-by: Mike Snitzer

    Heinz Mauelshagen
     

14 Dec, 2019

1 commit

  • Pull device mapper fixes from Mike Snitzer:

    - Fix DM multipath by restoring full path selector functionality for
    bio-based configurations that don't haave a SCSI device handler.

    - Fix dm-btree removal to ensure non-root btree nodes have at least
    (max_entries / 3) entries. This resolves userspace thin_check
    utility's report of "too few entries in btree_node".

    - Fix both the DM thin-provisioning and dm-clone targets to properly
    flush the data device prior to metadata commit. This resolves the
    potential for inconsistency across a power loss event when the data
    device has a volatile writeback cache.

    - Small documentation fixes to dm-clone and dm-integrity.

    * tag 'for-5.5/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    docs: dm-integrity: remove reference to ARC4
    dm thin: Flush data device before committing metadata
    dm thin metadata: Add support for a pre-commit callback
    dm clone: Flush destination device before committing metadata
    dm clone metadata: Use a two phase commit
    dm clone metadata: Track exact changes per transaction
    dm btree: increase rebalance threshold in __rebalance2()
    dm: add dm-clone to the documentation index
    dm mpath: remove harmful bio-based optimization

    Linus Torvalds
     

10 Dec, 2019

1 commit


03 Dec, 2019

1 commit

  • Pull Documentation updates from Jonathan Corbet:
    "Here are the main documentation changes for 5.5:

    - Various kerneldoc script enhancements.

    - More RST conversions; those are slowing down as we run out of
    things to convert, but we're a ways from done still.

    - Dan's "maintainer profile entry" work landed at last. Now we just
    need to get maintainers to fill in the profiles...

    - A reworking of the parallel build setup to work better with a
    variety of systems (and to not take over huge systems entirely in
    particular).

    - The MAINTAINERS file is now converted to RST during the build.
    Hopefully nobody ever tries to print this thing, or they will need
    to load a lot of paper.

    - A script and documentation making it easy for maintainers to add
    Link: tags at commit time.

    Also included is the removal of a bunch of spurious CR characters"

    * tag 'docs-5.5a' of git://git.lwn.net/linux: (91 commits)
    docs: remove a bunch of stray CRs
    docs: fix up the maintainer profile document
    libnvdimm, MAINTAINERS: Maintainer Entry Profile
    Maintainer Handbook: Maintainer Entry Profile
    MAINTAINERS: Reclaim the P: tag for Maintainer Entry Profile
    docs, parallelism: Rearrange how jobserver reservations are made
    docs, parallelism: Do not leak blocking mode to other readers
    docs, parallelism: Fix failure path and add comment
    Documentation: Remove bootmem_debug from kernel-parameters.txt
    Documentation: security: core.rst: fix warnings
    Documentation/process/howto/kokr: Update for 4.x -> 5.x versioning
    Documentation/translation: Use Korean for Korean translation title
    docs/memory-barriers.txt: Remove remaining references to mmiowb()
    docs/memory-barriers.txt/kokr: Update I/O section to be clearer about CPU vs thread
    docs/memory-barriers.txt/kokr: Fix style, spacing and grammar in I/O section
    Documentation/kokr: Kill all references to mmiowb()
    docs/memory-barriers.txt/kokr: Rewrite "KERNEL I/O BARRIER EFFECTS" section
    docs: Add initial documentation for devfreq
    Documentation: Document how to get links with git am
    docs: Add request_irq() documentation
    ...

    Linus Torvalds
     

26 Nov, 2019

1 commit


16 Nov, 2019

1 commit

  • Metadata runs are supposed to be aligned on 4k boundary (so that they work
    efficiently with disks with 4k sectors). However, there was a programming
    bug that makes them aligned on 128k boundary instead. The unused space is
    wasted.

    Fix this bug by providing a proper 4k alignment. In order to keep
    existing volumes working, we introduce a new flag SB_FLAG_FIXED_PADDING
    - when the flag is clear, we calculate the padding the old way. In order
    to make sure that the old version cannot mount the volume created by the
    new version, we increase superblock version to 4.

    Also in order to not break with old integritysetup, we fix alignment
    only if the parameter "fix_padding" is present when formatting the
    device.

    Signed-off-by: Mikulas Patocka
    Signed-off-by: Mike Snitzer

    Mikulas Patocka
     

06 Nov, 2019

1 commit

  • This fixes a flaw causing raid set extensions not to be synchronized
    in case the MD bitmap resize required additional pages to be allocated.

    Also share resize code in the raid constructor between
    new size changes and those occuring during recovery.

    Bump the target version to define the change and document
    it in Documentation/admin-guide/device-mapper/dm-raid.rst.

    Reported-by: Steve D
    Signed-off-by: Heinz Mauelshagen
    Signed-off-by: Mike Snitzer

    Heinz Mauelshagen
     

11 Oct, 2019

1 commit

  • Convert the dm-dust documentation to ReST formatting, using literal
    blocks for all of the shell command, shell output, and log output
    examples.

    Add dm-dust to index.rst.

    Additionally, fix an annotation in the "querying for specific bad
    blocks" section, on the "queryblock ... not found in badblocklist"
    example, to properly state that the message appears when a given
    block is not found.

    Signed-off-by: Bryan Gurney
    Signed-off-by: Jonathan Corbet

    Bryan Gurney
     

12 Sep, 2019

1 commit

  • Add the dm-clone target, which allows cloning of arbitrary block
    devices.

    dm-clone produces a one-to-one copy of an existing, read-only source
    device into a writable destination device: It presents a virtual block
    device which makes all data appear immediately, and redirects reads and
    writes accordingly.

    The main use case of dm-clone is to clone a potentially remote,
    high-latency, read-only, archival-type block device into a writable,
    fast, primary-type device for fast, low-latency I/O. The cloned device
    is visible/mountable immediately and the copy of the source device to
    the destination device happens in the background, in parallel with user
    I/O.

    When the cloning completes, the dm-clone table can be removed altogether
    and be replaced, e.g., by a linear table, mapping directly to the
    destination device.

    For further information and examples of how to use dm-clone, please read
    Documentation/admin-guide/device-mapper/dm-clone.rst

    Suggested-by: Vangelis Koukis
    Co-developed-by: Ilias Tsitsimpis
    Signed-off-by: Ilias Tsitsimpis
    Signed-off-by: Nikos Tsironis
    Signed-off-by: Mike Snitzer

    Nikos Tsironis
     

23 Aug, 2019

1 commit

  • The verification is to support cases where the root hash is not secured
    by Trusted Boot, UEFI Secureboot or similar technologies.

    One of the use cases for this is for dm-verity volumes mounted after
    boot, the root hash provided during the creation of the dm-verity volume
    has to be secure and thus in-kernel validation implemented here will be
    used before we trust the root hash and allow the block device to be
    created.

    The signature being provided for verification must verify the root hash
    and must be trusted by the builtin keyring for verification to succeed.

    The hash is added as a key of type "user" and the description is passed
    to the kernel so it can look it up and use it for verification.

    Adds CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG which can be turned on if root
    hash verification is needed.

    Kernel commandline dm_verity module parameter 'require_signatures' will
    indicate whether to force root hash signature verification (for all dm
    verity volumes).

    Signed-off-by: Jaskaran Khurana
    Tested-and-Reviewed-by: Milan Broz
    Signed-off-by: Mike Snitzer

    Jaskaran Khurana
     

15 Jul, 2019

2 commits