1. 22 Oct, 2020 19 commits
    • Linus Torvalds's avatar
      Merge tag 'rproc-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · 1553d968
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This introduces support for the Mediatek MT9182 SCP and controlling
        the Cortex R5F processors found in TI K3 platforms. It clones the
        longstanding debugfs interface for controlling crash handling to
        sysfs. Lastly it solves a bug where after a warm reset of Qualcomm
        platforms the modem would crash upon first boot"
      
      * tag 'rproc-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
        remoteproc/mediatek: Remove non-standard dsb()
        remoteproc: Add recovery configuration to the sysfs interface
        remoteproc: Add coredump as part of sysfs interface
        remoteproc: Change default dump configuration to "disabled"
        remoteproc: k3-r5: Add loading support for on-chip SRAM regions
        remoteproc: k3-r5: Initialize TCM memories for ECC
        remoteproc: k3-r5: Add a remoteproc driver for R5F subsystem
        dt-bindings: remoteproc: Add bindings for R5F subsystem on TI K3 SoCs
        remoteproc/mediatek: Add support for mt8192 SCP
        remoteproc: Fixup coredump debugfs disable request
        remoteproc: qcom_q6v5: Assign mpss region to Q6 before MBA boot
        remoteproc/mediatek: fix null pointer dereference on null scp pointer
        remoteproc: stm32: Fix pointer assignement
        remoteproc: scp: add COMPILE_TEST dependency
      1553d968
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 3fec0eaa
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "This contains no changes to the core framework. It is a collection of
        various clk driver updates.
      
        The biggest driver updates in terms of lines of code is the Allwinner
        driver, closely followed by the Qualcomm and Mediatek drivers. All of
        those hit high because we add so many lines of clk data. Coming in
        fourth place is i.MX which also adds a bunch of clk data. This
        accounts for the new driver additions this time around.
      
        Otherwise the patches are lots of little cleanups and fixes for
        various clk drivers that have baked in linux-next for a while. I
        suppose one highlight or theme is that more clk drivers are being
        updated to work as modules, which is interesting to see such critical
        SoC infrastructure work as a loadable module.
      
        New Drivers:
         - Support qcom SM8150/SM8250 video and display clks
         - Support Mediatek MT8167 clks
         - Add clock for CRC block found on vf610 SoCs
         - Add support for the Renesas R-Car V3U (R8A779A0) SoC
         - Add support for the VSP for Resizing clock on Renesas RZ/G1H
         - Support Allwinner A100 SoC clks
      
        Removed Drivers:
         - Remove i.MX21 clock driver, as i.MX21 platform support is being
           dropped
      
        Updates:
         - Change how qcom's display port clks work
         - Small non-critical fixes for TI clk driver
         - Remove various unused variables in clk drivers
         - Allow Rockchip clk driver to be a module
         - Remove most __clk_lookup() calls in Samsung drivers (yay!)
         - Support building i.MX ARMv8 platforms clock driver as module
         - Some kerneldoc fixes here and there
         - A couple of minor i.MX clk data corrections
         - Update audio clock inverter and fdiv2 flag on Amlogic g12
         - Make amlogic clk drivers configurable in Kconfig
         - Fix Renesas VSP clock names to match corrected hardware
           documentation
         - Sigma-delta modulation on Allwinner R40
         - Various fixes for at91 clk driver
         - Use semicolons instead of commas in some places
         - Mark some variables const so they can move to RO memory"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (102 commits)
        clk: imx8mq: Fix usdhc parents order
        clk: qcom: gdsc: Keep RETAIN_FF bit set if gdsc is already on
        clk: Restrict CLK_HSDK to ARC_SOC_HSDK
        clk: at91: sam9x60: support only two programmable clocks
        clk: ingenic: Respect CLK_SET_RATE_PARENT in .round_rate
        clk: ingenic: Don't tag custom clocks with CLK_SET_RATE_PARENT
        clk: ingenic: Don't use CLK_SET_RATE_GATE for PLL
        clk: ingenic: Use readl_poll_timeout instead of custom loop
        clk: ingenic: Use to_clk_info() macro for all clocks
        clk: bcm2835: add missing release if devm_clk_hw_register fails
        clk: at91: clk-sam9x60-pll: remove unused variable
        clk: at91: clk-main: update key before writing AT91_CKGR_MOR
        clk: at91: remove the checking of parent_name
        clk: clk-prima2: fix return value check in prima2_clk_init()
        clk: mmp2: Fix the display clock divider base
        clk: pxa: Constify static struct clk_ops
        clk: baikal-t1: Mark Ethernet PLL as critical
        clk: qoriq: modify MAX_PLL_DIV to 32
        clk: axi-clkgen: Set power bits for fractional mode
        clk: axi-clkgen: Add support for fractional dividers
        ...
      3fec0eaa
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-5.10-rc1' of... · ceae608a
      Linus Torvalds authored
      Merge tag 'pwm/for-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm updates from Thierry Reding:
       "This release cycle's updates are mostly cleanup and some minor fixes"
      
      * tag 'pwm/for-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
        dt-bindings: pwm: renesas,pwm-rcar: Add r8a7742 support
        dt-bindings: pwm: renesas,tpu-pwm: Document r8a7742 support
        pwm: Allow store 64-bit duty cycle from sysfs interface
        pwm: img: Fix null pointer access in probe
        pwm: pca9685: Disable unused alternative addresses
        pwm: pca9685: Use BIT() macro instead of shift
        pwm: pca9685: Make comments more consistent
        pwm: sun4i: Simplify with dev_err_probe()
        pwm: sprd: Simplify with dev_err_probe()
        pwm: sifive: Simplify with dev_err_probe()
        pwm: rockchip: Simplify with dev_err_probe()
        pwm: jz4740: Simplify with dev_err_probe()
        pwm: bcm2835: Simplify with dev_err_probe()
        pwm: Convert to use DEFINE_SEQ_ATTRIBUTE macro
        pwm: rockchip: Keep enabled PWMs running while probing
        dt-bindings: pwm: renesas,pwm-rcar: Add r8a774e1 support
      ceae608a
    • Linus Torvalds's avatar
      Merge tag 'pci-v5.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 00937f36
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
       "Enumeration:
         - Print IRQ number used by PCIe Link Bandwidth Notification (Dongdong
           Liu)
         - Add schedule point in pci_read_config() to reduce max latency
           (Jiang Biao)
         - Add Kconfig options for MPS/MRRS strategy (Jim Quinlan)
      
        Resource management:
         - Fix pci_iounmap() memory leak when !CONFIG_GENERIC_IOMAP (Lorenzo
           Pieralisi)
      
        PCIe native device hotplug:
         - Reduce noisiness on hot removal (Lukas Wunner)
      
        Power management:
         - Revert "PCI/PM: Apply D2 delay as milliseconds, not microseconds"
           that was done on the basis of spec typo (Bjorn Helgaas)
         - Rename pci_dev.d3_delay to d3hot_delay to remove D3hot/D3cold
           ambiguity (Krzysztof Wilczyński)
         - Remove unused pcibios_pm_ops (Vaibhav Gupta)
      
        IOMMU:
         - Enable Translation Blocking for external devices to harden against
           DMA attacks (Rajat Jain)
      
        Error handling:
         - Add an ACPI APEI notifier chain for vendor CPER records to enable
           device-specific error handling (Shiju Jose)
      
        ASPM:
         - Remove struct aspm_register_info to simplify code (Saheed O.
           Bolarinwa)
      
        Amlogic Meson PCIe controller driver:
         - Build as module by default (Kevin Hilman)
      
        Ampere Altra PCIe controller driver:
         - Add MCFG quirk to work around non-standard ECAM implementation
           (Tuan Phan)
      
        Broadcom iProc PCIe controller driver:
         - Set affinity mask on MSI interrupts (Mark Tomlinson)
      
        Broadcom STB PCIe controller driver:
         - Make PCIE_BRCMSTB depend on ARCH_BRCMSTB (Jim Quinlan)
         - Add DT bindings for more Brcmstb chips (Jim Quinlan)
         - Add bcm7278 register info (Jim Quinlan)
         - Add bcm7278 PERST# support (Jim Quinlan)
         - Add suspend and resume pm_ops (Jim Quinlan)
         - Add control of rescal reset (Jim Quinlan)
         - Set additional internal memory DMA viewport sizes (Jim Quinlan)
         - Accommodate MSI for older chips (Jim Quinlan)
         - Set bus max burst size by chip type (Jim Quinlan)
         - Add support for bcm7211, bcm7216, bcm7445, bcm7278 (Jim Quinlan)
      
        Freescale i.MX6 PCIe controller driver:
         - Use dev_err_probe() to reduce redundant messages (Anson Huang)
      
        Freescale Layerscape PCIe controller driver:
         - Enforce 4K DMA buffer alignment in endpoint test (Hou Zhiqiang)
         - Add DT compatible strings for ls1088a, ls2088a (Xiaowei Bao)
         - Add endpoint support for ls1088a, ls2088a (Xiaowei Bao)
         - Add endpoint test support for lS1088a (Xiaowei Bao)
         - Add MSI-X support for ls1088a (Xiaowei Bao)
      
        HiSilicon HIP PCIe controller driver:
         - Handle HIP-specific errors via ACPI APEI (Yicong Yang)
      
        HiSilicon Kirin PCIe controller driver:
         - Return -EPROBE_DEFER if the GPIO isn't ready (Bean Huo)
      
        Intel VMD host bridge driver:
         - Factor out physical offset, bus offset, IRQ domain, IRQ allocation
           (Jon Derrick)
         - Use generic PCI PM correctly (Jon Derrick)
      
        Marvell Aardvark PCIe controller driver:
         - Fix compilation on s390 (Pali Rohár)
         - Implement driver 'remove' function and allow to build it as module
           (Pali Rohár)
         - Move PCIe reset card code to advk_pcie_train_link() (Pali Rohár)
         - Convert mvebu a3700 internal SMCC firmware return codes to errno
           (Pali Rohár)
         - Fix initialization with old Marvell's Arm Trusted Firmware (Pali
           Rohár)
      
        Microsoft Hyper-V host bridge driver:
         - Fix hibernation in case interrupts are not re-created (Dexuan Cui)
      
        NVIDIA Tegra PCIe controller driver:
         - Stop checking return value of debugfs_create() functions (Greg
           Kroah-Hartman)
         - Convert to use DEFINE_SEQ_ATTRIBUTE macro (Liu Shixin)
      
        Qualcomm PCIe controller driver:
         - Reset PCIe to work around Qsdk U-Boot issue (Ansuel Smith)
      
        Renesas R-Car PCIe controller driver:
         - Add DT documentation for r8a774a1, r8a774b1, r8a774e1 endpoints
           (Lad Prabhakar)
         - Add RZ/G2M, RZ/G2N, RZ/G2H IDs to endpoint test (Lad Prabhakar)
         - Add DT support for r8a7742 (Lad Prabhakar)
      
        Socionext UniPhier Pro5 controller driver:
         - Add DT descriptions of iATU register (host and endpoint) (Kunihiko
           Hayashi)
      
        Synopsys DesignWare PCIe controller driver:
         - Add link up check in dw_child_pcie_ops.map_bus() (racy, but seems
           unavoidable) (Hou Zhiqiang)
         - Fix endpoint Header Type check so multi-function devices work (Hou
           Zhiqiang)
         - Skip PCIE_MSI_INTR0* programming if MSI is disabled (Jisheng Zhang)
         - Stop leaking MSI page in suspend/resume (Jisheng Zhang)
         - Add common iATU register support instead of keystone-specific code
           (Kunihiko Hayashi)
         - Major config space access and other cleanups in dwc core and
           drivers that use it (al, exynos, histb, imx6, intel-gw, keystone,
           kirin, meson, qcom, tegra) (Rob Herring)
         - Add multiple PFs support for endpoint (Xiaowei Bao)
         - Add MSI-X doorbell mode in endpoint mode (Xiaowei Bao)
      
        Miscellaneous:
         - Use fallthrough pseudo-keyword (Gustavo A. R. Silva)
         - Fix "0 used as NULL pointer" warnings (Gustavo Pimentel)
         - Fix "cast truncates bits from constant value" warnings (Gustavo
           Pimentel)
         - Remove redundant zeroing for sg_init_table() (Julia Lawall)
         - Use scnprintf(), not snprintf(), in sysfs "show" functions
           (Krzysztof Wilczyński)
         - Remove unused assignments (Krzysztof Wilczyński)
         - Fix "0 used as NULL pointer" warning (Krzysztof Wilczyński)
         - Simplify bool comparisons (Krzysztof Wilczyński)
         - Use for_each_child_of_node() and for_each_node_by_name() (Qinglang
           Miao)
         - Simplify return expressions (Qinglang Miao)"
      
      * tag 'pci-v5.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (147 commits)
        PCI: vmd: Update VMD PM to correctly use generic PCI PM
        PCI: vmd: Create IRQ allocation helper
        PCI: vmd: Create IRQ Domain configuration helper
        PCI: vmd: Create bus offset configuration helper
        PCI: vmd: Create physical offset helper
        PCI: v3-semi: Remove unneeded break
        PCI: dwc: Add link up check in dw_child_pcie_ops.map_bus()
        PCI/ASPM: Remove struct pcie_link_state.l1ss
        PCI/ASPM: Remove struct aspm_register_info.l1ss_cap
        PCI/ASPM: Pass L1SS Capabilities value, not struct aspm_register_info
        PCI/ASPM: Remove struct aspm_register_info.l1ss_ctl1
        PCI/ASPM: Remove struct aspm_register_info.l1ss_ctl2 (unused)
        PCI/ASPM: Remove struct aspm_register_info.l1ss_cap_ptr
        PCI/ASPM: Remove struct aspm_register_info.latency_encoding
        PCI/ASPM: Remove struct aspm_register_info.enabled
        PCI/ASPM: Remove struct aspm_register_info.support
        PCI/ASPM: Use 'parent' and 'child' for readability
        PCI/ASPM: Move LTR path check to where it's used
        PCI/ASPM: Move pci_clear_and_set_dword() earlier
        PCI: dwc: Fix MSI page leakage in suspend/resume
        ...
      00937f36
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 96485e44
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "The siginificant new ext4 feature this time around is Harshad's new
        fast_commit mode.
      
        In addition, thanks to Mauricio for fixing a race where mmap'ed pages
        that are being changed in parallel with a data=journal transaction
        commit could result in bad checksums in the failure that could cause
        journal replays to fail.
      
        Also notable is Ritesh's buffered write optimization which can result
        in significant improvements on parallel write workloads. (The kernel
        test robot reported a 330.6% improvement on fio.write_iops on a 96
        core system using DAX)
      
        Besides that, we have the usual miscellaneous cleanups and bug fixes"
      
      Link: https://lore.kernel.org/r/20200925071217.GO28663@shao2-debian
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (46 commits)
        ext4: fix invalid inode checksum
        ext4: add fast commit stats in procfs
        ext4: add a mount opt to forcefully turn fast commits on
        ext4: fast commit recovery path
        jbd2: fast commit recovery path
        ext4: main fast-commit commit path
        jbd2: add fast commit machinery
        ext4 / jbd2: add fast commit initialization
        ext4: add fast_commit feature and handling for extended mount options
        doc: update ext4 and journalling docs to include fast commit feature
        ext4: Detect already used quota file early
        jbd2: avoid transaction reuse after reformatting
        ext4: use the normal helper to get the actual inode
        ext4: fix bs < ps issue reported with dioread_nolock mount opt
        ext4: data=journal: write-protect pages on j_submit_inode_data_buffers()
        ext4: data=journal: fixes for ext4_page_mkwrite()
        jbd2, ext4, ocfs2: introduce/use journal callbacks j_submit|finish_inode_data_buffers()
        jbd2: introduce/export functions jbd2_journal_submit|finish_inode_data_buffers()
        ext4: introduce ext4_sb_bread_unmovable() to replace sb_bread_unmovable()
        ext4: use ext4_sb_bread() instead of sb_bread()
        ...
      96485e44
    • Linus Torvalds's avatar
      Merge branch 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · f56e65df
      Linus Torvalds authored
      Pull initial set_fs() removal from Al Viro:
       "Christoph's set_fs base series + fixups"
      
      * 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: Allow a NULL pos pointer to __kernel_read
        fs: Allow a NULL pos pointer to __kernel_write
        powerpc: remove address space overrides using set_fs()
        powerpc: use non-set_fs based maccess routines
        x86: remove address space overrides using set_fs()
        x86: make TASK_SIZE_MAX usable from assembly code
        x86: move PAGE_OFFSET, TASK_SIZE & friends to page_{32,64}_types.h
        lkdtm: remove set_fs-based tests
        test_bitmap: remove user bitmap tests
        uaccess: add infrastructure for kernel builds with set_fs()
        fs: don't allow splice read/write without explicit ops
        fs: don't allow kernel reads and writes without iter ops
        sysctl: Convert to iter interfaces
        proc: add a read_iter method to proc proc_ops
        proc: cleanup the compat vs no compat file ops
        proc: remove a level of indentation in proc_get_inode
      f56e65df
    • Linus Torvalds's avatar
      Merge tag 'nfsd-5.10' of git://linux-nfs.org/~bfields/linux · 24717cfb
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "The one new feature this time, from Anna Schumaker, is READ_PLUS,
        which has the same arguments as READ but allows the server to return
        an array of data and hole extents.
      
        Otherwise it's a lot of cleanup and bugfixes"
      
      * tag 'nfsd-5.10' of git://linux-nfs.org/~bfields/linux: (43 commits)
        NFSv4.2: Fix NFS4ERR_STALE error when doing inter server copy
        SUNRPC: fix copying of multiple pages in gss_read_proxy_verf()
        sunrpc: raise kernel RPC channel buffer size
        svcrdma: fix bounce buffers for unaligned offsets and multiple pages
        nfsd: remove unneeded break
        net/sunrpc: Fix return value for sysctl sunrpc.transports
        NFSD: Encode a full READ_PLUS reply
        NFSD: Return both a hole and a data segment
        NFSD: Add READ_PLUS hole segment encoding
        NFSD: Add READ_PLUS data support
        NFSD: Hoist status code encoding into XDR encoder functions
        NFSD: Map nfserr_wrongsec outside of nfsd_dispatch
        NFSD: Remove the RETURN_STATUS() macro
        NFSD: Call NFSv2 encoders on error returns
        NFSD: Fix .pc_release method for NFSv2
        NFSD: Remove vestigial typedefs
        NFSD: Refactor nfsd_dispatch() error paths
        NFSD: Clean up nfsd_dispatch() variables
        NFSD: Clean up stale comments in nfsd_dispatch()
        NFSD: Clean up switch statement in nfsd_dispatch()
        ...
      24717cfb
    • Linus Torvalds's avatar
      Merge tag 'exfat-for-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat · 9b06f57b
      Linus Torvalds authored
      Pull exfat updates from Namjae Jeon:
      
       - Replace memcpy with structure assignment
      
       - Remove unneeded codes and use helper function i_blocksize()
      
       - Fix typos found by codespell
      
      * tag 'exfat-for-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat:
        exfat: remove useless check in exfat_move_file()
        exfat: remove 'rwoffset' in exfat_inode_info
        exfat: replace memcpy with structure assignment
        exfat: remove useless directory scan in exfat_add_entry()
        exfat: eliminate dead code in exfat_find()
        exfat: use i_blocksize() to get blocksize
        exfat: fix misspellings using codespell tool
      9b06f57b
    • Linus Torvalds's avatar
      Merge tag '9p-for-5.10-rc1' of git://github.com/martinetd/linux · 334d431f
      Linus Torvalds authored
      Pull 9p updates from Dominique Martinet:
       "A couple of small fixes (loff_t overflow on 32bit, syzbot
        uninitialized variable warning) and code cleanup (xen)"
      
      * tag '9p-for-5.10-rc1' of git://github.com/martinetd/linux:
        net: 9p: initialize sun_server.sun_path to have addr's value only when addr is valid
        9p/xen: Fix format argument warning
        9P: Cast to loff_t before multiplying
      334d431f
    • Luo Meng's avatar
      ext4: fix invalid inode checksum · 13221811
      Luo Meng authored
      During the stability test, there are some errors:
        ext4_lookup:1590: inode #6967: comm fsstress: iget: checksum invalid.
      
      If the inode->i_iblocks too big and doesn't set huge file flag, checksum
      will not be recalculated when update the inode information to it's buffer.
      If other inode marks the buffer dirty, then the inconsistent inode will
      be flushed to disk.
      
      Fix this problem by checking i_blocks in advance.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarLuo Meng <luomeng12@huawei.com>
      Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Link: https://lore.kernel.org/r/20201020013631.3796673-1-luomeng12@huawei.comSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      13221811
    • Harshad Shirwadkar's avatar
      ext4: add fast commit stats in procfs · ce8c59d1
      Harshad Shirwadkar authored
      This commit adds a file in procfs that tracks fast commit related
      statistics.
      
      root@kvm-xfstests:/mnt# cat /proc/fs/ext4/vdc/fc_info
      fc stats:
      7772 commits
      15 ineligible
      4083 numblks
      2242us avg_commit_time
      Ineligible reasons:
      "Extended attributes changed":  0
      "Cross rename": 0
      "Journal flag changed": 0
      "Insufficient memory":  0
      "Swap boot":    0
      "Resize":       0
      "Dir renamed":  0
      "Falloc range op":      0
      "FC Commit Failed":     15
      Signed-off-by: default avatarHarshad Shirwadkar <harshadshirwadkar@gmail.com>
      Link: https://lore.kernel.org/r/20201015203802.3597742-10-harshadshirwadkar@gmail.comSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      ce8c59d1
    • Harshad Shirwadkar's avatar
      ext4: add a mount opt to forcefully turn fast commits on · 0f0672ff
      Harshad Shirwadkar authored
      This is a debug only mount option that forcefully turns fast commits
      on at mount time.
      Signed-off-by: default avatarHarshad Shirwadkar <harshadshirwadkar@gmail.com>
      Link: https://lore.kernel.org/r/20201015203802.3597742-9-harshadshirwadkar@gmail.comSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      0f0672ff
    • Harshad Shirwadkar's avatar
      ext4: fast commit recovery path · 8016e29f
      Harshad Shirwadkar authored
      This patch adds fast commit recovery path support for Ext4 file
      system. We add several helper functions that are similar in spirit to
      e2fsprogs journal recovery path handlers. Example of such functions
      include - a simple block allocator, idempotent block bitmap update
      function etc. Using these routines and the fast commit log in the fast
      commit area, the recovery path (ext4_fc_replay()) performs fast commit
      log recovery.
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarHarshad Shirwadkar <harshadshirwadkar@gmail.com>
      Link: https://lore.kernel.org/r/20201015203802.3597742-8-harshadshirwadkar@gmail.comSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      8016e29f
    • Harshad Shirwadkar's avatar
      jbd2: fast commit recovery path · 5b849b5f
      Harshad Shirwadkar authored
      This patch adds fast commit recovery support in JBD2.
      Signed-off-by: default avatarHarshad Shirwadkar <harshadshirwadkar@gmail.com>
      Link: https://lore.kernel.org/r/20201015203802.3597742-7-harshadshirwadkar@gmail.comSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      5b849b5f
    • Harshad Shirwadkar's avatar
      ext4: main fast-commit commit path · aa75f4d3
      Harshad Shirwadkar authored
      This patch adds main fast commit commit path handlers. The overall
      patch can be divided into two inter-related parts:
      
      (A) Metadata updates tracking
      
          This part consists of helper functions to track changes that need
          to be committed during a commit operation. These updates are
          maintained by Ext4 in different in-memory queues. Following are
          the APIs and their short description that are implemented in this
          patch:
      
          - ext4_fc_track_link/unlink/creat() - Track unlink. link and creat
            operations
          - ext4_fc_track_range() - Track changed logical block offsets
            inodes
          - ext4_fc_track_inode() - Track inodes
          - ext4_fc_mark_ineligible() - Mark file system fast commit
            ineligible()
          - ext4_fc_start_update() / ext4_fc_stop_update() /
            ext4_fc_start_ineligible() / ext4_fc_stop_ineligible() These
            functions are useful for co-ordinating inode updates with
            commits.
      
      (B) Main commit Path
      
          This part consists of functions to convert updates tracked in
          in-memory data structures into on-disk commits. Function
          ext4_fc_commit() is the main entry point to commit path.
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarHarshad Shirwadkar <harshadshirwadkar@gmail.com>
      Link: https://lore.kernel.org/r/20201015203802.3597742-6-harshadshirwadkar@gmail.comSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      aa75f4d3
    • Harshad Shirwadkar's avatar
      jbd2: add fast commit machinery · ff780b91
      Harshad Shirwadkar authored
      This functions adds necessary APIs needed in JBD2 layer for fast
      commits.
      Signed-off-by: default avatarHarshad Shirwadkar <harshadshirwadkar@gmail.com>
      Link: https://lore.kernel.org/r/20201015203802.3597742-5-harshadshirwadkar@gmail.comSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      ff780b91
    • Harshad Shirwadkar's avatar
      ext4 / jbd2: add fast commit initialization · 6866d7b3
      Harshad Shirwadkar authored
      This patch adds fast commit area trackers in the journal_t
      structure. These are initialized via the jbd2_fc_init() routine that
      this patch adds. This patch also adds ext4/fast_commit.c and
      ext4/fast_commit.h files for fast commit code that will be added in
      subsequent patches in this series.
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarHarshad Shirwadkar <harshadshirwadkar@gmail.com>
      Link: https://lore.kernel.org/r/20201015203802.3597742-4-harshadshirwadkar@gmail.comSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      6866d7b3
    • Harshad Shirwadkar's avatar
      ext4: add fast_commit feature and handling for extended mount options · 995a3ed6
      Harshad Shirwadkar authored
      We are running out of mount option bits. Add handling for using
      s_mount_opt2. Add ext4 and jbd2 fast commit feature flag and also add
      ability to turn off the fast commit feature in Ext4.
      Signed-off-by: default avatarHarshad Shirwadkar <harshadshirwadkar@gmail.com>
      Link: https://lore.kernel.org/r/20201015203802.3597742-3-harshadshirwadkar@gmail.comSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      995a3ed6
    • Harshad Shirwadkar's avatar
  2. 21 Oct, 2020 21 commits
    • Tetsuhiro Kohada's avatar
      exfat: remove useless check in exfat_move_file() · eae503f7
      Tetsuhiro Kohada authored
      In exfat_move_file(), the identity of source and target directory has been
      checked by the caller.
      Also, it gets stream.start_clu from file dir-entry, which is an invalid
      determination.
      Signed-off-by: default avatarTetsuhiro Kohada <kohada.t2@gmail.com>
      Acked-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
      Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      eae503f7
    • Tetsuhiro Kohada's avatar
      exfat: remove 'rwoffset' in exfat_inode_info · 04cee52f
      Tetsuhiro Kohada authored
      Remove 'rwoffset' in exfat_inode_info and replace it with the parameter of
      exfat_readdir().
      Since rwoffset is referenced only by exfat_readdir(), it is not necessary
      a exfat_inode_info's member.
      Also, change cpos to point to the next of entry-set, and return the index
      of dir-entry via dir_entry->entry.
      Signed-off-by: default avatarTetsuhiro Kohada <kohada.t2@gmail.com>
      Acked-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
      Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      04cee52f
    • Tetsuhiro Kohada's avatar
      exfat: replace memcpy with structure assignment · a7a24168
      Tetsuhiro Kohada authored
      Use structure assignment instead of memcpy.
      Signed-off-by: default avatarTetsuhiro Kohada <kohada.t2@gmail.com>
      Acked-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
      Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      a7a24168
    • Tetsuhiro Kohada's avatar
      exfat: remove useless directory scan in exfat_add_entry() · 6c958a09
      Tetsuhiro Kohada authored
      There is nothing in directory just created, so there is no need to scan.
      Signed-off-by: default avatarTetsuhiro Kohada <kohada.t2@gmail.com>
      Acked-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
      Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      6c958a09
    • Tetsuhiro Kohada's avatar
      exfat: eliminate dead code in exfat_find() · 188df41f
      Tetsuhiro Kohada authored
      The exfat_find_dir_entry() called by exfat_find() doesn't return -EEXIST.
      Therefore, the root-dir information setting is never executed.
      Signed-off-by: default avatarTetsuhiro Kohada <kohada.t2@gmail.com>
      Acked-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
      Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      188df41f
    • Xianting Tian's avatar
      exfat: use i_blocksize() to get blocksize · 45882a6a
      Xianting Tian authored
      We alreday has the interface i_blocksize() to get blocksize,
      so use it.
      Signed-off-by: default avatarXianting Tian <tian.xianting@h3c.com>
      Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      45882a6a
    • Namjae Jeon's avatar
      exfat: fix misspellings using codespell tool · 9e456aea
      Namjae Jeon authored
      Sedat reported typos using codespell tool.
      
       $ codespell fs/exfat/*.c | grep -v iput
       fs/exfat/namei.c:293: upto ==> up to
       fs/exfat/nls.c:14: tabel ==> table
      
       $ codespell fs/exfat/*.h
       fs/exfat/exfat_fs.h:133: usally ==> usually
      
      Fix typos found by codespell.
      Reported-by: default avatarSedat Dilek <sedat.dilek@gmail.com>
      Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      9e456aea
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-5.10-rc1' of git://www.linux-watchdog.org/linux-watchdog · f804b315
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - Add Toshiba Visconti watchdog driver
      
       - it87_wdt: add IT8772 + IT8784
      
       - several fixes and improvements
      
      * tag 'linux-watchdog-5.10-rc1' of git://www.linux-watchdog.org/linux-watchdog:
        watchdog: Add Toshiba Visconti watchdog driver
        watchdog: bindings: Add binding documentation for Toshiba Visconti watchdog device
        watchdog: it87_wdt: add IT8784 ID
        watchdog: sp5100_tco: Enable watchdog on Family 17h devices if disabled
        watchdog: sp5100: Fix definition of EFCH_PM_DECODEEN3
        watchdog: renesas_wdt: support handover from bootloader
        watchdog: imx7ulp: Watchdog should continue running for wait/stop mode
        watchdog: rti: Simplify with dev_err_probe()
        watchdog: davinci: Simplify with dev_err_probe()
        watchdog: cadence: Simplify with dev_err_probe()
        watchdog: remove unneeded inclusion of <uapi/linux/sched/types.h>
        watchdog: Use put_device on error
        watchdog: Fix memleak in watchdog_cdev_register
        watchdog: imx7ulp: Strictly follow the sequence for wdog operations
        watchdog: it87_wdt: add IT8772 ID
        watchdog: pcwd_usb: Avoid GFP_ATOMIC where it is not needed
        drivers: watchdog: rdc321x_wdt: Fix race condition bugs
      f804b315
    • Linus Torvalds's avatar
      Merge tag 'rtc-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · b7769c45
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "A new driver this cycle is making the bulk of the changes and the
        rx8010 driver has been rework to use the modern APIs.
      
        Summary:
      
        Subsystem:
         - new generic DT properties: aux-voltage-chargeable,
           trickle-voltage-millivolt
      
        New driver:
         - Microcrystal RV-3032
      
        Drivers:
         - ds1307: use aux-voltage-chargeable
         - r9701, rx8010: modernization of the driver
         - rv3028: fix clock output, trickle resistor values, RAM
           configuration registers"
      
      * tag 'rtc-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (50 commits)
        rtc: r9701: set range
        rtc: r9701: convert to devm_rtc_allocate_device
        rtc: r9701: stop setting RWKCNT
        rtc: r9701: remove useless memset
        rtc: r9701: stop setting a default time
        rtc: r9701: remove leftover comment
        rtc: rv3032: Add a driver for Microcrystal RV-3032
        dt-bindings: rtc: rv3032: add RV-3032 bindings
        dt-bindings: rtc: add trickle-voltage-millivolt
        rtc: rv3028: ensure ram configuration registers are saved
        rtc: rv3028: factorize EERD bit handling
        rtc: rv3028: fix trickle resistor values
        rtc: rv3028: fix clock output support
        rtc: mt6397: Remove unused member dev
        rtc: rv8803: simplify the return expression of rv8803_nvram_write
        rtc: meson: simplify the return expression of meson_vrtc_probe
        rtc: rx8010: rename rx8010_init_client() to rx8010_init()
        rtc: ds1307: enable rx8130's backup battery, make it chargeable optionally
        rtc: ds1307: consider aux-voltage-chargeable
        rtc: ds1307: store previous charge default per chip
        ...
      b7769c45
    • Linus Torvalds's avatar
      Merge branch 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · 68a36336
      Linus Torvalds authored
      Pull dmi update from Jean Delvare.
      
      * 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        Replace HTTP links with HTTPS ones: DMI/SMBIOS SUPPORT
      68a36336
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · b5df4b5c
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
      
       - if a host can be a client, too, the I2C core can now use it to
         emulate SMBus HostNotify support (STM32 and R-Car added this so far)
      
       - also for client mode, a testunit has been added. It can create rare
         situations on the bus, so host controllers can be tested
      
       - a binding has been added to mark the bus as "single-master". This
         allows for better timeout detections
      
       - new driver for Mellanox Bluefield
      
       - massive refactoring of the Tegra driver
      
       - EEPROMs recognized by the at24 driver can now have custom names
      
       - rest is driver updates
      
      * 'i2c/for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (80 commits)
        Documentation: i2c: add testunit docs to index
        i2c: tegra: Improve driver module description
        i2c: tegra: Clean up whitespaces, newlines and indentation
        i2c: tegra: Clean up and improve comments
        i2c: tegra: Clean up printk messages
        i2c: tegra: Clean up variable names
        i2c: tegra: Improve formatting of variables
        i2c: tegra: Check errors for both positive and negative values
        i2c: tegra: Factor out hardware initialization into separate function
        i2c: tegra: Factor out register polling into separate function
        i2c: tegra: Factor out packet header setup from tegra_i2c_xfer_msg()
        i2c: tegra: Factor out error recovery from tegra_i2c_xfer_msg()
        i2c: tegra: Rename wait/poll functions
        i2c: tegra: Remove "dma" variable from tegra_i2c_xfer_msg()
        i2c: tegra: Remove redundant check in tegra_i2c_issue_bus_clear()
        i2c: tegra: Remove likely/unlikely from the code
        i2c: tegra: Remove outdated barrier()
        i2c: tegra: Clean up variable types
        i2c: tegra: Reorder location of functions in the code
        i2c: tegra: Clean up probe function
        ...
      b5df4b5c
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-5.10-rc1' of git://github.com/ceph/ceph-client · ed7cfefe
      Linus Torvalds authored
      Pull ceph updates from Ilya Dryomov:
      
       - a patch that removes crush_workspace_mutex (myself). CRUSH
         computations are no longer serialized and can run in parallel.
      
       - a couple new filesystem client metrics for "ceph fs top" command
         (Xiubo Li)
      
       - a fix for a very old messenger bug that affected the filesystem,
         marked for stable (myself)
      
       - assorted fixups and cleanups throughout the codebase from Jeff and
         others.
      
      * tag 'ceph-for-5.10-rc1' of git://github.com/ceph/ceph-client: (27 commits)
        libceph: clear con->out_msg on Policy::stateful_server faults
        libceph: format ceph_entity_addr nonces as unsigned
        libceph: fix ENTITY_NAME format suggestion
        libceph: move a dout in queue_con_delay()
        ceph: comment cleanups and clarifications
        ceph: break up send_cap_msg
        ceph: drop separate mdsc argument from __send_cap
        ceph: promote to unsigned long long before shifting
        ceph: don't SetPageError on readpage errors
        ceph: mark ceph_fmt_xattr() as printf-like for better type checking
        ceph: fold ceph_update_writeable_page into ceph_write_begin
        ceph: fold ceph_sync_writepages into writepage_nounlock
        ceph: fold ceph_sync_readpages into ceph_readpage
        ceph: don't call ceph_update_writeable_page from page_mkwrite
        ceph: break out writeback of incompatible snap context to separate function
        ceph: add a note explaining session reject error string
        libceph: switch to the new "osd blocklist add" command
        libceph, rbd, ceph: "blacklist" -> "blocklist"
        ceph: have ceph_writepages_start call pagevec_lookup_range_tag
        ceph: use kill_anon_super helper
        ...
      ed7cfefe
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/xilinx' · 28e34e75
      Bjorn Helgaas authored
      - Remove leftover bridge initialization (Lorenzo Pieralisi)
      
      * remotes/lorenzo/pci/xilinx:
        PCI: xilinx-cpm: Remove leftover bridge initialization
      28e34e75
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/xgene' · 4c0e51f8
      Bjorn Helgaas authored
      - Remove unused assignment (Krzysztof Wilczyński)
      
      * remotes/lorenzo/pci/xgene:
        PCI: xgene: Remove unused assignment to variable msi_val
      4c0e51f8
    • Bjorn Helgaas's avatar
      Merge branch 'pci/vmd' · a2340daa
      Bjorn Helgaas authored
      - Add physical offset helper (Jon Derrick)
      
      - Add bus offset configuration helper (Jon Derrick)
      
      - Add IRQ domain configuration helper (Jon Derrick)
      
      - Add IRQ allocation helper (Jon Derrick)
      
      - Drop pci_save_state()/pci_restore_state() in favor of the PCI core PM
        (Jon Derrick)
      
      * pci/vmd:
        PCI: vmd: Update VMD PM to correctly use generic PCI PM
        PCI: vmd: Create IRQ allocation helper
        PCI: vmd: Create IRQ Domain configuration helper
        PCI: vmd: Create bus offset configuration helper
        PCI: vmd: Create physical offset helper
      a2340daa
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/tegra' · 214b2e04
      Bjorn Helgaas authored
      - Drop return value checking for debugfs_create() calls (Greg
        Kroah-Hartman)
      
      - Convert debugfs "ports" file to use DEFINE_SEQ_ATTRIBUTE() (Liu Shixin)
      
      * remotes/lorenzo/pci/tegra:
        PCI: tegra: Convert to use DEFINE_SEQ_ATTRIBUTE macro
        PCI: tegra: No need to check return value of debugfs_create() functions
      214b2e04
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/rcar' · f95f023d
      Bjorn Helgaas authored
      - Document R8A774A1, R8A774B1, R8A774E1 endpoint support in DT (Lad
        Prabhakar)
      
      - Add R8A774A1, R8A774B1, R8A774E1 (RZ/G2M, RZ/G2N, RZ/G2H) IDs to endpoint
        test (Lad Prabhakar)
      
      - Add device tree support for R8A7742 (Lad Prabhakar)
      
      - Use "fallthrough" pseudo-keyword (Gustavo A. R. Silva)
      
      * remotes/lorenzo/pci/rcar:
        dt-bindings: PCI: rcar: Add device tree support for r8a7742
        PCI: rcar-gen2: Use fallthrough pseudo-keyword
        misc: pci_endpoint_test: Add Device ID for RZ/G2H PCIe controller
        dt-bindings: pci: rcar-pci-ep: Document r8a774e1
        misc: pci_endpoint_test: Add Device ID for RZ/G2M and RZ/G2N PCIe controllers
        dt-bindings: pci: rcar-pci-ep: Document r8a774a1 and r8a774b1
      f95f023d
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/qcom' · 3b353982
      Bjorn Helgaas authored
      - Make sure PCIe is reset before init to work around QSDK U-Boot issue
        (Ansuel Smith)
      
      - Set iproc affinity mask on MSI interrupts (Mark Tomlinson)
      
      * remotes/lorenzo/pci/qcom:
        PCI: qcom: Make sure PCIe is reset before init for rev 2.1.0
      3b353982
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/mvebu' · be36e9b9
      Bjorn Helgaas authored
      - Remove useless msi_controller pointer allocation (Lorenzo Pieralisi)
      
      * remotes/lorenzo/pci/mvebu:
        PCI: mvebu: Remove useless msi_controller pointer allocation
      be36e9b9
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/mobiveil' · 4f317eac
      Bjorn Helgaas authored
      - Simplify mobiveil_pcie_init_irq_domain() (Liu Shixin)
      
      * remotes/lorenzo/pci/mobiveil:
        PCI: mobiveil: Simplify mobiveil_pcie_init_irq_domain() return expression
      4f317eac
    • Bjorn Helgaas's avatar
      Merge branch 'remotes/lorenzo/pci/meson' · 92f27db7
      Bjorn Helgaas authored
      - Add pci-meson module support and enable by default on ARCH_MESON (Kevin
        Hilman)
      
      * remotes/lorenzo/pci/meson:
        PCI: meson: Build as module by default
      92f27db7