01 Jul, 2021

1 commit

  • Pull core block updates from Jens Axboe:

    - disk events cleanup (Christoph)

    - gendisk and request queue allocation simplifications (Christoph)

    - bdev_disk_changed cleanups (Christoph)

    - IO priority improvements (Bart)

    - Chained bio completion trace fix (Edward)

    - blk-wbt fixes (Jan)

    - blk-wbt enable/disable fix (Zhang)

    - Scheduler dispatch improvements (Jan, Ming)

    - Shared tagset scheduler improvements (John)

    - BFQ updates (Paolo, Luca, Pietro)

    - BFQ lock inversion fix (Jan)

    - Documentation improvements (Kir)

    - CLONE_IO block cgroup fix (Tejun)

    - Remove of ancient and deprecated block dump feature (zhangyi)

    - Discard merge fix (Ming)

    - Misc fixes or followup fixes (Colin, Damien, Dan, Long, Max, Thomas,
    Yang)

    * tag 'for-5.14/block-2021-06-29' of git://git.kernel.dk/linux-block: (129 commits)
    block: fix discard request merge
    block/mq-deadline: Remove a WARN_ON_ONCE() call
    blk-mq: update hctx->dispatch_busy in case of real scheduler
    blk: Fix lock inversion between ioc lock and bfqd lock
    bfq: Remove merged request already in bfq_requests_merged()
    block: pass a gendisk to bdev_disk_changed
    block: move bdev_disk_changed
    block: add the events* attributes to disk_attrs
    block: move the disk events code to a separate file
    block: fix trace completion for chained bio
    block/partitions/msdos: Fix typo inidicator -> indicator
    block, bfq: reset waker pointer with shared queues
    block, bfq: check waker only for queues with no in-flight I/O
    block, bfq: avoid delayed merge of async queues
    block, bfq: boost throughput by extending queue-merging times
    block, bfq: consider also creation time in delayed stable merge
    block, bfq: fix delayed stable merge check
    block, bfq: let also stably merged queues enjoy weight raising
    blk-wbt: make sure throttle is enabled properly
    blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled()
    ...

    Linus Torvalds
     

18 Jun, 2021

1 commit


17 Jun, 2021

1 commit

  • The functionality of setting per-device weight for BFQ was added
    in v5.4 (commit 795fe54c2a828099), but the documentation was never
    updated.

    While at it, improve formatting a bit.

    Signed-off-by: Kir Kolyshkin
    Link: https://lore.kernel.org/r/20210614214109.207430-1-kolyshkin@gmail.com
    Acked-by: Tejun Heo
    Signed-off-by: Jens Axboe

    Kir Kolyshkin
     

05 Jun, 2021

1 commit


21 May, 2021

1 commit


11 May, 2021

1 commit

  • A few of the Documentation .rst files begin with a Unicode
    byte order mark (BOM). The BOM may signify endianess for
    16-bit or 32-bit encodings or indicate that the text stream
    is indeed Unicode. We don't need it for either of those uses.
    It may also interfere with (confuse) some software.

    Since we don't need it and its use is optional, just delete
    the uses of it in Documentation/.

    https://en.wikipedia.org/wiki/Byte_order_mark

    Signed-off-by: Randy Dunlap
    Reviewed-by: Matthew Wilcox (Oracle)
    Reviewed-by: Greg Kroah-Hartman
    Cc: Mauro Carvalho Chehab
    Link: https://lore.kernel.org/r/20210506231907.14359-1-rdunlap@infradead.org
    Signed-off-by: Jonathan Corbet

    Randy Dunlap
     

03 Mar, 2021

1 commit


23 Feb, 2021

1 commit

  • Pull MMC updates from Ulf Hansson:
    "MMC core:
    - Add support for eMMC inline encryption
    - Add a helper function to parse DT properties for clock phases
    - Some improvements and cleanups for the mmc_test module

    MMC host:
    - android-goldfish: Remove driver
    - cqhci: Add support for eMMC inline encryption
    - dw_mmc-zx: Remove driver
    - meson-gx: Extend support for scatter-gather to allow SD_IO_RW_EXTENDED
    - mmci: Add support for probing bus voltage level translator
    - mtk-sd: Address race condition for request timeouts
    - sdhci_am654: Add Support for the variant on TI's AM64 SoC
    - sdhci-esdhc-imx: Prevent kernel panic at ->remove()
    - sdhci-iproc: Add ACPI bindings for the RPi to enable SD and WiFi on RPi4
    - sdhci-msm: Add Inline Crypto Engine support
    - sdhci-msm: Use actual_clock to improve timeout calculations
    - sdhci-of-aspeed: Add Andrew Jeffery as maintainer
    - sdhci-of-aspeed: Extend clock support for the AST2600 variant
    - sdhci-pci-gli: Increase idle period for low power state for GL9763E
    - sdhci-pci-o2micro: Make tuning for SDR104 HW more robust
    - sdhci-sirf: Remove driver
    - sdhci-xenon: Add support for the AP807 variant
    - sunxi-mmc: Add support for the A100 variant
    - sunxi-mmc: Ensure host is suspended during system sleep
    - tmio: Add detection of data timeout errors
    - tmio/renesas_sdhi: Extend support for retuning
    - renesas_sdhi_internal_dmac: Add support for the ->pre|post_req() ops"

    * tag 'mmc-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (86 commits)
    mmc: sdhci-esdhc-imx: fix kernel panic when remove module
    mmc: host: Retire MMC_GOLDFISH
    mmc: cb710: Use new tasklet API
    mmc: sdhci-pci-o2micro: Bug fix for SDR104 HW tuning failure
    mmc: mmc_test: use erase_arg for mmc_erase command
    mmc: wbsd: Use new tasklet API
    mmc: via-sdmmc: Use new tasklet API
    mmc: uniphier-sd: Use new tasklet API
    mmc: tifm_sd: Use new tasklet API
    mmc: s3cmci: Use new tasklet API
    mmc: omap: Use new tasklet API
    mmc: dw_mmc: Use new tasklet API
    mmc: au1xmmc: Use new tasklet API
    mmc: atmel-mci: Use new tasklet API
    mmc: cavium: Replace spin_lock_irqsave with spin_lock in hard IRQ
    mmc: queue: Remove unused define
    mmc: core: Drop redundant bouncesz from struct mmc_card
    mmc: core: Drop redundant member in struct mmc host
    mmc: core: Use host instead of card argument to mmc_spi_send_csd()
    mmc: core: Exclude unnecessary header file
    ...

    Linus Torvalds
     

10 Feb, 2021

2 commits

  • Per ZBC and ZAC specifications, host-managed SMR hard-disks mandate that
    all writes into sequential write required zones be aligned to the device
    physical block size. However, NVMe ZNS does not have this constraint and
    allows write operations into sequential zones to be aligned to the
    device logical block size. This inconsistency does not help with
    software portability across device types.

    To solve this, introduce the zone_write_granularity queue limit to
    indicate the alignment constraint, in bytes, of write operations into
    zones of a zoned block device. This new limit is exported as a
    read-only sysfs queue attribute and the helper
    blk_queue_zone_write_granularity() introduced for drivers to set this
    limit.

    The function blk_queue_set_zoned() is modified to set this new limit to
    the device logical block size by default. NVMe ZNS devices as well as
    zoned nullb devices use this default value as is. The scsi disk driver
    is modified to execute the blk_queue_zone_write_granularity() helper to
    set the zone write granularity of host-managed SMR disks to the disk
    physical block size.

    The accessor functions queue_zone_write_granularity() and
    bdev_zone_write_granularity() are also introduced.

    Signed-off-by: Damien Le Moal
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Martin K. Petersen
    Reviewed-by: Chaitanya Kulkarni
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Jens Axboe

    Damien Le Moal
     
  • The description of the zone_append_max_bytes sysfs queue attribute is
    missing from Documentation/block/queue-sysfs.rst. Add it.

    Signed-off-by: Damien Le Moal
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Chaitanya Kulkarni
    Reviewed-by: Martin K. Petersen
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Jens Axboe

    Damien Le Moal
     

01 Feb, 2021

1 commit

  • Add a resource-managed variant of blk_ksm_init() so that drivers don't
    have to worry about calling blk_ksm_destroy().

    Note that the implementation uses a custom devres action to call
    blk_ksm_destroy() rather than switching the two allocations to be
    directly devres-managed, e.g. with devm_kmalloc(). This is because we
    need to keep zeroing the memory containing the keyslots when it is
    freed, and also because we want to continue using kvmalloc() (and there
    is no devm_kvmalloc()).

    Signed-off-by: Eric Biggers
    Reviewed-by: Satya Tangirala
    Acked-by: Jens Axboe
    Link: https://lore.kernel.org/r/20210121082155.111333-2-ebiggers@kernel.org
    Signed-off-by: Ulf Hansson

    Eric Biggers
     

25 Jan, 2021

1 commit

  • zero-length bvec segments are allowed in general, but not handled by bio
    and down the block layer so filtered out. This inconsistency may be
    confusing and prevent from optimisations. As zero-length segments are
    useless and places that were generating them are patched, declare them
    not allowed.

    Reviewed-by: Christoph Hellwig
    Signed-off-by: Pavel Begunkov
    Reviewed-by: Ming Lei
    Signed-off-by: Jens Axboe

    Pavel Begunkov
     

25 Oct, 2020

1 commit

  • Pull block fixes from Jens Axboe:

    - NVMe pull request from Christoph
    - rdma error handling fixes (Chao Leng)
    - fc error handling and reconnect fixes (James Smart)
    - fix the qid displace when tracing ioctl command (Keith Busch)
    - don't use BLK_MQ_REQ_NOWAIT for passthru (Chaitanya Kulkarni)
    - fix MTDT for passthru (Logan Gunthorpe)
    - blacklist Write Same on more devices (Kai-Heng Feng)
    - fix an uninitialized work struct (zhenwei pi)"

    - lightnvm out-of-bounds fix (Colin)

    - SG allocation leak fix (Doug)

    - rnbd fixes (Gioh, Guoqing, Jack)

    - zone error translation fixes (Keith)

    - kerneldoc markup fix (Mauro)

    - zram lockdep fix (Peter)

    - Kill unused io_context members (Yufen)

    - NUMA memory allocation cleanup (Xianting)

    - NBD config wakeup fix (Xiubo)

    * tag 'block-5.10-2020-10-24' of git://git.kernel.dk/linux-block: (27 commits)
    block: blk-mq: fix a kernel-doc markup
    nvme-fc: shorten reconnect delay if possible for FC
    nvme-fc: wait for queues to freeze before calling update_hr_hw_queues
    nvme-fc: fix error loop in create_hw_io_queues
    nvme-fc: fix io timeout to abort I/O
    null_blk: use zone status for max active/open
    nvmet: don't use BLK_MQ_REQ_NOWAIT for passthru
    nvmet: cleanup nvmet_passthru_map_sg()
    nvmet: limit passthru MTDS by BIO_MAX_PAGES
    nvmet: fix uninitialized work for zero kato
    nvme-pci: disable Write Zeroes on Sandisk Skyhawk
    nvme: use queuedata for nvme_req_qid
    nvme-rdma: fix crash due to incorrect cqe
    nvme-rdma: fix crash when connect rejected
    block: remove unused members for io_context
    blk-mq: remove the calling of local_memory_node()
    zram: Fix __zram_bvec_{read,write}() locking order
    skd_main: remove unused including
    sgl_alloc_order: fix memory leak
    lightnvm: fix out-of-bounds write to array devices->info[]
    ...

    Linus Torvalds
     

15 Oct, 2020

2 commits

  • The :c:type macros are not used properly there, as reported
    by Sphinx 3:

    ./Documentation/block/blk-mq.rst:112: WARNING: Unparseable C cross-reference: 'hctx->dispatch'
    Invalid C declaration: Expected end of definition. [error at 4]
    hctx->dispatch
    ----^

    Also, they won't be generating any cross references.

    So, replace them by a literal markup.

    Reviewed-by: André Almeida
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • The :c:type:`foo` only works properly with structs before
    Sphinx 3.x.

    On Sphinx 3.x, structs should now be declared using the
    .. c:struct, and referenced via :c:struct tag.

    As we now have the automarkup.py macro, that automatically
    convert:
    struct foo

    into cross-references, let's get rid of that, solving
    several warnings when building docs with Sphinx 3.x.

    Reviewed-by: André Almeida # blk-mq.rst
    Reviewed-by: Takashi Iwai # sound
    Reviewed-by: Mike Rapoport
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

14 Oct, 2020

1 commit

  • A zoned device with limited resources to open or activate zones may
    return an error when the host exceeds those limits. The same command may
    be successful if retried later, but the host needs to wait for specific
    zone states before it should expect a retry to succeed. Have the block
    layer provide an appropriate status for these conditions so applications
    can distinuguish this error for special handling.

    Cc: linux-api@vger.kernel.org
    Cc: Niklas Cassel
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Damien Le Moal
    Reviewed-by: Johannes Thumshirn
    Reviewed-by: Martin K. Petersen
    Signed-off-by: Keith Busch
    Signed-off-by: Jens Axboe

    Keith Busch
     

06 Aug, 2020

1 commit

  • Pull block driver updates from Jens Axboe:

    - NVMe:
    - ZNS support (Aravind, Keith, Matias, Niklas)
    - Misc cleanups, optimizations, fixes (Baolin, Chaitanya, David,
    Dongli, Max, Sagi)

    - null_blk zone capacity support (Aravind)

    - MD:
    - raid5/6 fixes (ChangSyun)
    - Warning fixes (Damien)
    - raid5 stripe fixes (Guoqing, Song, Yufen)
    - sysfs deadlock fix (Junxiao)
    - raid10 deadlock fix (Vitaly)

    - struct_size conversions (Gustavo)

    - Set of bcache updates/fixes (Coly)

    * tag 'for-5.9/drivers-20200803' of git://git.kernel.dk/linux-block: (117 commits)
    md/raid5: Allow degraded raid6 to do rmw
    md/raid5: Fix Force reconstruct-write io stuck in degraded raid5
    raid5: don't duplicate code for different paths in handle_stripe
    raid5-cache: hold spinlock instead of mutex in r5c_journal_mode_show
    md: print errno in super_written
    md/raid5: remove the redundant setting of STRIPE_HANDLE
    md: register new md sysfs file 'uuid' read-only
    md: fix max sectors calculation for super 1.0
    nvme-loop: remove extra variable in create ctrl
    nvme-loop: set ctrl state connecting after init
    nvme-multipath: do not fall back to __nvme_find_path() for non-optimized paths
    nvme-multipath: fix logic for non-optimized paths
    nvme-rdma: fix controller reset hang during traffic
    nvme-tcp: fix controller reset hang during traffic
    nvmet: introduce the passthru Kconfig option
    nvmet: introduce the passthru configfs interface
    nvmet: Add passthru enable/disable helpers
    nvmet: add passthru code to process commands
    nvme: export nvme_find_get_ns() and nvme_put_ns()
    nvme: introduce nvme_ctrl_get_by_path()
    ...

    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
     

04 Aug, 2020

1 commit

  • Pull core block updates from Jens Axboe:
    "Good amount of cleanups and tech debt removals in here, and as a
    result, the diffstat shows a nice net reduction in code.

    - Softirq completion cleanups (Christoph)

    - Stop using ->queuedata (Christoph)

    - Cleanup bd claiming (Christoph)

    - Use check_events, moving away from the legacy media change
    (Christoph)

    - Use inode i_blkbits consistently (Christoph)

    - Remove old unused writeback congestion bits (Christoph)

    - Cleanup/unify submission path (Christoph)

    - Use bio_uninit consistently, instead of bio_disassociate_blkg
    (Christoph)

    - sbitmap cleared bits handling (John)

    - Request merging blktrace event addition (Jan)

    - sysfs add/remove race fixes (Luis)

    - blk-mq tag fixes/optimizations (Ming)

    - Duplicate words in comments (Randy)

    - Flush deferral cleanup (Yufen)

    - IO context locking/retry fixes (John)

    - struct_size() usage (Gustavo)

    - blk-iocost fixes (Chengming)

    - blk-cgroup IO stats fixes (Boris)

    - Various little fixes"

    * tag 'for-5.9/block-20200802' of git://git.kernel.dk/linux-block: (135 commits)
    block: blk-timeout: delete duplicated word
    block: blk-mq-sched: delete duplicated word
    block: blk-mq: delete duplicated word
    block: genhd: delete duplicated words
    block: elevator: delete duplicated word and fix typos
    block: bio: delete duplicated words
    block: bfq-iosched: fix duplicated word
    iocost_monitor: start from the oldest usage index
    iocost: Fix check condition of iocg abs_vdebt
    block: Remove callback typedefs for blk_mq_ops
    block: Use non _rcu version of list functions for tag_set_list
    blk-cgroup: show global disk stats in root cgroup io.stat
    blk-cgroup: make iostat functions visible to stat printing
    block: improve discard bio alignment in __blkdev_issue_discard()
    block: change REQ_OP_ZONE_RESET and REQ_OP_ZONE_RESET_ALL to be odd numbers
    block: defer flush request no matter whether we have elevator
    block: make blk_timeout_init() static
    block: remove retry loop in ioc_release_fn()
    block: remove unnecessary ioc nested locking
    block: integrate bd_start_claiming into __blkdev_get
    ...

    Linus Torvalds
     

16 Jul, 2020

2 commits

  • Add a new max_active zones definition in the sysfs documentation.
    This definition will be common for all devices utilizing the zoned block
    device support in the kernel.

    Export max_active_zones according to this new definition for NVMe Zoned
    Namespace devices, ZAC ATA devices (which are treated as SCSI devices by
    the kernel), and ZBC SCSI devices.

    Add the new max_active_zones member to struct request_queue, rather
    than as a queue limit, since this property cannot be split across stacking
    drivers.

    For SCSI devices, even though max active zones is not part of the ZBC/ZAC
    spec, export max_active_zones as 0, signifying "no limit".

    Signed-off-by: Niklas Cassel
    Reviewed-by: Javier González
    Reviewed-by: Damien Le Moal
    Reviewed-by: Johannes Thumshirn
    Reviewed-by: Martin K. Petersen
    Signed-off-by: Jens Axboe

    Niklas Cassel
     
  • Add a new max_open_zones definition in the sysfs documentation.
    This definition will be common for all devices utilizing the zoned block
    device support in the kernel.

    Export max open zones according to this new definition for NVMe Zoned
    Namespace devices, ZAC ATA devices (which are treated as SCSI devices by
    the kernel), and ZBC SCSI devices.

    Add the new max_open_zones member to struct request_queue, rather
    than as a queue limit, since this property cannot be split across stacking
    drivers.

    Signed-off-by: Niklas Cassel
    Reviewed-by: Javier González
    Reviewed-by: Damien Le Moal
    Reviewed-by: Johannes Thumshirn
    Reviewed-by: Martin K. Petersen
    Signed-off-by: Jens Axboe

    Niklas Cassel
     

13 Jul, 2020

1 commit

  • Change the doubled word "the" to "to the".

    Signed-off-by: Randy Dunlap
    Cc: Jonathan Corbet
    Cc: linux-doc@vger.kernel.org
    Cc: Jens Axboe
    Cc: linux-block@vger.kernel.org
    Link: https://lore.kernel.org/r/20200707180414.10467-3-rdunlap@infradead.org
    Signed-off-by: Jonathan Corbet

    Randy Dunlap
     

06 Jul, 2020

1 commit


01 Jul, 2020

2 commits


27 Jun, 2020

1 commit


22 Jun, 2020

1 commit

  • Create a documentation providing a background and explanation around the
    operation of the Multi-Queue Block IO Queueing Mechanism (blk-mq).

    The reference for writing this documentation was the source code and
    "Linux Block IO: Introducing Multi-queue SSD Access on Multi-core
    Systems", by Axboe et al.

    Signed-off-by: André Almeida
    Reviewed-by: Jens Axboe
    Acked-by: Randy Dunlap
    Link: https://lore.kernel.org/r/20200620002036.113000-1-andrealmeid@collabora.com
    Signed-off-by: Jonathan Corbet

    André Almeida
     

03 Jun, 2020

1 commit

  • Pull btrfs updates from David Sterba:
    "Highlights:

    - speedup dead root detection during orphan cleanup, eg. when there
    are many deleted subvolumes waiting to be cleaned, the trees are
    now looked up in radix tree instead of a O(N^2) search

    - snapshot creation with inherited qgroup will mark the qgroup
    inconsistent, requires a rescan

    - send will emit file capabilities after chown, this produces a
    stream that does not need postprocessing to set the capabilities
    again

    - direct io ported to iomap infrastructure, cleaned up and simplified
    code, notably removing last use of struct buffer_head in btrfs code

    Core changes:

    - factor out backreference iteration, to be used by ordinary
    backreferences and relocation code

    - improved global block reserve utilization
    * better logic to serialize requests
    * increased maximum available for unlink
    * improved handling on large pages (64K)

    - direct io cleanups and fixes
    * simplify layering, where cloned bios were unnecessarily created
    for some cases
    * error handling fixes (submit, endio)
    * remove repair worker thread, used to avoid deadlocks during
    repair

    - refactored block group reading code, preparatory work for new type
    of block group storage that should improve mount time on large
    filesystems

    Cleanups:

    - cleaned up (and slightly sped up) set/get helpers for metadata data
    structure members

    - root bit REF_COWS got renamed to SHAREABLE to reflect the that the
    blocks of the tree get shared either among subvolumes or with the
    relocation trees

    Fixes:

    - when subvolume deletion fails due to ENOSPC, the filesystem is not
    turned read-only

    - device scan deals with devices from other filesystems that changed
    ownership due to overwrite (mkfs)

    - fix a race between scrub and block group removal/allocation

    - fix long standing bug of a runaway balance operation, printing the
    same line to the syslog, caused by a stale status bit on a reloc
    tree that prevented progress

    - fix corrupt log due to concurrent fsync of inodes with shared
    extents

    - fix space underflow for NODATACOW and buffered writes when it for
    some reason needs to fallback to COW mode"

    * tag 'for-5.8-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (133 commits)
    btrfs: fix space_info bytes_may_use underflow during space cache writeout
    btrfs: fix space_info bytes_may_use underflow after nocow buffered write
    btrfs: fix wrong file range cleanup after an error filling dealloc range
    btrfs: remove redundant local variable in read_block_for_search
    btrfs: open code key_search
    btrfs: split btrfs_direct_IO to read and write part
    btrfs: remove BTRFS_INODE_READDIO_NEED_LOCK
    fs: remove dio_end_io()
    btrfs: switch to iomap_dio_rw() for dio
    iomap: remove lockdep_assert_held()
    iomap: add a filesystem hook for direct I/O bio submission
    fs: export generic_file_buffered_read()
    btrfs: turn space cache writeout failure messages into debug messages
    btrfs: include error on messages about failure to write space/inode caches
    btrfs: remove useless 'fail_unlock' label from btrfs_csum_file_blocks()
    btrfs: do not ignore error from btrfs_next_leaf() when inserting checksums
    btrfs: make checksum item extension more efficient
    btrfs: fix corrupt log due to concurrent fsync of inodes with shared extents
    btrfs: unexport btrfs_compress_set_level()
    btrfs: simplify iget helpers
    ...

    Linus Torvalds
     

25 May, 2020

1 commit

  • An upcoming Btrfs fix needs to know the original size of a non-cloned
    bios. Rather than accessing the bvec table directly, let's add a
    bio_for_each_bvec_all() accessor.

    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Omar Sandoval
    Signed-off-by: David Sterba

    Omar Sandoval
     

14 May, 2020

1 commit

  • The blk-crypto framework adds support for inline encryption. There are
    numerous changes throughout the storage stack. This patch documents the
    main design choices in the block layer, the API presented to users of
    the block layer (like fscrypt or layered devices) and the API presented
    to drivers for adding support for inline encryption.

    Signed-off-by: Satya Tangirala
    Reviewed-by: Eric Biggers
    Signed-off-by: Jens Axboe

    Satya Tangirala
     

12 Mar, 2020

1 commit

  • The kernel documentation includes a brief section about genhd
    capabilities, but it turns out that the only documented
    capability (GENHD_FL_MEDIA_CHANGE_NOTIFY) isn't used any more.

    This patch removes that flag, and documents the rest, based on my
    understanding of the current uses of these flags in the kernel. The
    documentation is kept in the header file, alongside the declarations,
    in the hope that it will be kept up-to-date in future; the kernel
    documentation is changed to include the documentation generated from
    the header file.

    Because the ultimate goal is to provide some end-user
    documentation (or end-administrator documentation), the comments are
    perhaps more user-oriented than might be expected. Since the values
    are shown to users in hexadecimal, the documentation lists them in
    hexadecimal, and the constant declarations are adjusted to match.

    Reviewed-by: Matthew Wilcox (Oracle)
    Signed-off-by: Stephen Kitt
    Signed-off-by: Jens Axboe

    Stephen Kitt
     

11 Jan, 2020

1 commit


22 Nov, 2019

1 commit

  • Requests that triggers flushing volatile writeback cache to disk (barriers)
    have significant effect to overall performance.

    Block layer has sophisticated engine for combining several flush requests
    into one. But there is no statistics for actual flushes executed by disk.
    Requests which trigger flushes usually are barriers - zero-size writes.

    This patch adds two iostat counters into /sys/class/block/$dev/stat and
    /proc/diskstats - count of completed flush requests and their total time.

    Signed-off-by: Konstantin Khlebnikov
    Signed-off-by: Jens Axboe

    Konstantin Khlebnikov
     

12 Sep, 2019

1 commit


03 Sep, 2019

1 commit


17 Jul, 2019

1 commit

  • Pull rst conversion of docs from Mauro Carvalho Chehab:
    "As agreed with Jon, I'm sending this big series directly to you, c/c
    him, as this series required a special care, in order to avoid
    conflicts with other trees"

    * tag 'docs/v5.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (77 commits)
    docs: kbuild: fix build with pdf and fix some minor issues
    docs: block: fix pdf output
    docs: arm: fix a breakage with pdf output
    docs: don't use nested tables
    docs: gpio: add sysfs interface to the admin-guide
    docs: locking: add it to the main index
    docs: add some directories to the main documentation index
    docs: add SPDX tags to new index files
    docs: add a memory-devices subdir to driver-api
    docs: phy: place documentation under driver-api
    docs: serial: move it to the driver-api
    docs: driver-api: add remaining converted dirs to it
    docs: driver-api: add xilinx driver API documentation
    docs: driver-api: add a series of orphaned documents
    docs: admin-guide: add a series of orphaned documents
    docs: cgroup-v1: add it to the admin-guide book
    docs: aoe: add it to the driver-api book
    docs: add some documentation dirs to the driver-api book
    docs: driver-model: move it to the driver-api book
    docs: lp855x-driver.rst: add it to the driver-api book
    ...

    Linus Torvalds
     

15 Jul, 2019

4 commits