summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-08-15Merge tag 'mvebu-arm64-4.14-1' of git://git.infradead.org/linux-mvebu into ↵Arnd Bergmann
next/arm64 Pull "mvebu arm64 for 4.14 (part 1)" from Gregory CLEMENT: Enabling nop-xceiv PHY driver in the defconfig, needed for USB support on A8K SoC based board. Enabling fine-grained task level IRQ time accounting for ARMv8 as it was already done for x86 * tag 'mvebu-arm64-4.14-1' of git://git.infradead.org/linux-mvebu: arm64: defconfig: enable fine-grained task level IRQ time accounting arm64: defconfig: enable nop-xceiv PHY driver
2017-08-15arm64: defconfig: enable CONFIG_UNIPHIER_WATCHDOGKeiji Hayashibara
Enable the watchdog driver for UniPhier SoC Signed-off-by: Keiji Hayashibara <hayashibara.keiji@socionext.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-08-15Merge tag 'renesas-arm64-defconfig-for-v4.14' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/arm64 Pull "Renesas ARM64 Based SoC Defconfig Updates for v4.14" from Simon Horman: * compile ak4613 and renesas sound as modules This is intended to reduce the size of a kernel image compiled using the defconfig. This is timely as it brings the kernel image back below the size that can be booted in my environment, a limit it crept over in v4.13-rc1. * tag 'renesas-arm64-defconfig-for-v4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: arm64: defconfig: compile ak4613 and renesas sound as modules
2017-08-15arm64: defconfig: Enable CONFIG_WQ_POWER_EFFICIENT_DEFAULTViresh Kumar
commit cee22a15052f ("workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues") introduced the concept of power efficient workqueues (4 years back), but it was never enabled in upstream kernel configs. Power efficient workqueues are simply marked as "unbound," so that jobs queued to them can run on any CPU in the system. It leaves the target CPU selection to the scheduler, which is the best place for such decision making. This improves power efficiency for workqueues which are otherwise pinned to a CPU. Enable it for ARM64 platforms as ARM platforms were the main target for the introduction of power efficient workqueues. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-08-15Merge tag 'renesas-defconfig-for-v4.14' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Pull "Renesas ARM Based SoC Defconfig Updates for v4.14" from Simon Horman: * Enable DMA for Renesas serial ports Geert Uytterhoeven says, "DMA for (H)SCIF(A|B) serial ports on Renesas R-Car Gen2 and RZ/G1 SoCs is considered stable, hence enable it by default.". * Enable Ethernet AVB For the iWave RZ/G1M Q7 SOM * Replace DRM_RCAR_HDMI by generic bridge options * Replace SND_SOC_RSRC_CARD by SND_SIMPLE_SCU_CARD * Replace USB_XHCI_RCAR by USB_XHCI_PLATFORM * Enable missing PCIE_RCAR dependency Defconfig updates for various Kconfig updates covering renamed Kconfig symbols, now missing dependancies and so on. * tag 'renesas-defconfig-for-v4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: multi_v7_defconfig: Enable DMA for Renesas serial ports ARM: multi_v7_defconfig: Replace DRM_RCAR_HDMI by generic bridge options ARM: multi_v7_defconfig: Replace SND_SOC_RSRC_CARD by SND_SIMPLE_SCU_CARD ARM: shmobile: defconfig: Refresh ARM: shmobile: defconfig: Enable DMA for serial ports ARM: shmobile: defconfig: Replace DRM_RCAR_HDMI by generic bridge options ARM: shmobile: defconfig: Replace SND_SOC_RSRC_CARD by SND_SIMPLE_SCU_CARD ARM: shmobile: defconfig: Replace USB_XHCI_RCAR by USB_XHCI_PLATFORM ARM: shmobile: defconfig: Enable missing PCIE_RCAR dependency ARM: shmobile: defconfig: Enable Ethernet AVB
2017-08-15Merge tag 'samsung-defconfig-arm-cleanups-4.14' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/defconfig Pull "Bunch of ARM defconfig cleanups for v4.14" from Krzysztof Kozłowski: Cleanup ARMv7 defconfigs from options not existing anymore. * tag 'samsung-defconfig-arm-cleanups-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: qcom_defconfig: Cleanup from non-existing options ARM: ezx_defconfig: Cleanup from non-existing options ARM: vexpress_defconfig: Cleanup from non-existing options ARM: ixp4xx_defconfig: Cleanup from non-existing options ARM: multi_v7_defconfig: Cleanup from non-existing options
2017-08-15ARM: OMAP4+: PRM: fix of_irq_get() result checksSergei Shtylyov
of_irq_get() may return 0 as well as a nagative error number on failure, (and never on success), however omap44xx_prm_late_init() regards 0 as a valid IRQ -- fix this. Fixes: a8f83aefcd5a ("ARM: OMAP4+: PRM: register interrupt information from DT") Fixes: c5b3955828ba ("ARM: OMAP4: Fix legacy code clean-up regression") Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-15ARM: OMAP3+: PRM: fix of_irq_get() result checkSergei Shtylyov
of_irq_get() may return 0 as well as a nagative error number on failure (and never on success), however omap3xxx_prm_late_init() regards 0 as a valid IRQ -- fix this. Fixes: 1e037794f7f ("ARM: OMAP3+: PRM: register interrupt information from DT") Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-15Merge tag 'samsung-defconfig-4.14' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/defconfig Pull "Samsung defconfig changes for v4.14" from Krzysztof Kozłowski: 1. Enable some drivers useful on our boards (communication: Bluetooth, WiFi, NFC, USB; codepages and crypto algorithms). 2. Enable debugging and lock testing options. These might have impact on performance but we use the exynos_defconfig a lot during development so they should bring benefits of detecting early locking issues. * tag 'samsung-defconfig-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: exynos_defconfig: Enable locking test options ARM: exynos_defconfig: Enable NLS_UTF8 and some crypto algorithms ARM: exynos_defconfig: Enable Bluetooth, mac80211, NFC and more USB drivers
2017-08-14ARM: omap2plus_defconfig: Enable LP87565Lokesh Vutla
dra76-evm has LP87565. Enable it in omap2plus_defconfig. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-14ARM: OMAP: dra7: powerdomain data: Register SoC specific powerdomainsLokesh Vutla
Custom efuse powerdomain is always on in dra72 ES2.0 and dra76 SoCs. So register it as aon for these SoCs. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-14ARM: dra762: Enable SMP for dra762Lokesh Vutla
smp specific routines are called based on soc_is_*() api in omap-smc.c. Add soc_is_dra76x() to the condition so that smp specific routines are called for dra76 SoC. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-14ARM: dra7: hwmod: Register dra76x specific hwmodLokesh Vutla
Certain IPs are available on dra76 which are not present either in dra74 or dra72. So add provision to register dra76 specific IPs separately. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-14ARM: dra762: Add support for device identificationLokesh Vutla
Add ID code detection for dra762 SoC. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-14ARM: OMAP2+: board-generic: add support for dra762 familyLokesh Vutla
Adding board generic support for dra762 family. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-14arm64: defconfig: enable DMA driver for hi3660Wang Ruyi
enable DMA driver for hi3660. Signed-off-by: Wang Ruyi <wangruyi@huawei.com> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-14arm64: defconfig: enable OP-TEEVictor Chong
This patch enables configs for Trusted Execution Environment (TEE) and OP-TEE. +CONFIG_TEE=y +CONFIG_OPTEE=y Signed-off-by: Victor Chong <victor.chong@linaro.org> Signed-off-by: Guodong Xu <guodong.xu@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-14arm64: defconfig: enable support for serial port connected deviceGuodong Xu
This patch enables these configs: +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y As example, a bluetooth device connected to UART port can be supported by this. Signed-off-by: Guodong Xu <guodong.xu@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-14arm64: defconfig: enable CONFIG_SYSCON_REBOOT_MODEGuodong Xu
Enable CONFIG_SYSCON_REBOOT_MODE Signed-off-by: Guodong Xu <guodong.xu@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-14arm64: defconfig: enable support hi6421v530 PMICGuodong Xu
Enable configs for hi6421v530 mfd and regulator driver + CONFIG_MFD_HI6421_PMIC=y + CONFIG_REGULATOR_HI6421V530=y Signed-off-by: Guodong Xu <guodong.xu@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-14arm64: defconfig: enable Kirin PCIeXiaowei Song
Enable HiSilicon Kirin series SoCs PCIe controllers Signed-off-by: Guodong Xu <guodong.xu@linaro.org> Signed-off-by: Xiaowei Song <songxiaowei@hisilicon.com> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-14arm64: defconfig: enable SCSI_HISI_SAS_PCIJohn Garry
Enable HiSilicon SAS controller based on PCI device, which is included in hip08 SoC. Signed-off-by: John Garry <john.garry@huawei.com> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-14arm64: defconfig: Enable REGULATOR_AXP20XJagan Teki
The Allwinner A64 SoC is paired with the X-Powers AXP803 PMIC over the Reduced Serial Bus (RSB). The regulators of this PMIC supply all power rails of the SoC and many external peripherals. Enable the driver for the regulators of this PMIC. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> [wens@csie.org: refined commit message] Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2017-08-14arm64: defconfig: Enable MFD_AXP20X_RSBJagan Teki
The Allwinner A64 SoC is paired with the X-Powers AXP803 PMIC over the Reduced Serial Bus (RSB). Enable the driver for this PMIC. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> [wens@csie.org: Refined commit message] Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2017-08-14arm64: select PINCTRL for ZTE platformShawn Guo
Select PINCTRL for ZTE platform, so that we can have ZX pinctrl driver options available for enabling. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2017-08-10ARM: omap2plus_defconfig: enable DP83867 phy driverSekhar Nori
TI's DP83867 phy is used on DRA72x EVM rev C and DRA71x EVMs. Enable support for it in omap2plus_defconfig. The driver is built into the kernel to help NFS booting. Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-10ARM: dts: dra72-evm-revc: workaround incorrect DP83867 RX_CTRL pin strapSekhar Nori
The DRA72 EVM Rev C straps the DP83867 GigaBit Ethernet phy's RX_DV/RX_CTRL pin in mode 1. Unfortunately, the phy data manual disallows this. Add "ti,dp83867-rxctrl-strap-quirk" property to the phy's device-tree node to allow kernel to enable software workaround for this incorrect strap setting. This is as suggested by the phy's datamanual and ensures proper operation of this PHY. This needs to be done for both instances of this PHY present on the board. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-10ARM: dts: dra71-evm: workaround incorrect DP83867 RX_CTRL pin strapSekhar Nori
The DRA71 EVM straps the DP83867 GigaBit Ethernet phy's RX_DV/RX_CTRL pin in mode 1. Unfortunately, the phy data manual disallows this. Add "ti,dp83867-rxctrl-strap-quirk" property to the phy's device-tree node to allow kernel to enable software workaround for this incorrect strap setting. This is as suggested by the phy's datamanual and ensures proper operation of this PHY. This needs to be done for both instances of this PHY present on the board. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-10ARM: OMAP2+: Select PINCTRL_TI_IODELAY for SOC_DRA7XXKishon Vijay Abraham I
PINCTRL_TI_IODELAY should be enabled so that "pinctrl_dev" can be created for pinctrl entries populated with iodelay values in device tree data. Select PINCTRL_TI_IODELAY for SOC_DRA7XX here. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-10ARM: configs: keystone: Enable D_CAN driverFranklin S Cooper Jr
Enable C_CAN/D_CAN driver supported by 66AK2G Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com> Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-08-10ARM: OMAP2+: Add pdata-quirks for MMC/SD on DRA74x EVMSekhar Nori
DRA74x EVM Rev H EVM comes with revision 2.0 silicon. However, earlier versions of EVM can come with either revision 1.1 or revision 1.0 of silicon. The device-tree file is written to support rev 2.0 of silicon. pdata quirks are used to then override the settings needed for PG 1.1 silicon. PG 1.1 silicon has limitations w.r.t frequencies at which MMC1/2/3 can operate as well as different IOdelay numbers. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-10ARM: OMAP2+: Remove unused legacy code for DMATony Lindgren
We are now booting all mach-omap2 in device tree only mode. Any code that is only called in legacy boot mode where of_have_populated_dt() is not set is safe to remove now. Let's leave the dummy omap2_system_dma_init_dev() check in place for now to avoid a pointless merge conflict with tusb6010 dmaengine conversion as pointed out by Peter Ujfalusi <peter.ujfalusi@ti.com>. Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-10ARM: OMAP2+: omap_device: drop broken RPM status update from suspend_noirqJohan Hovold
Since commit a8636c89648a ("PM / Runtime: Don't allow to suspend a device with an active child"), which went into 4.10, it is no longer permitted to set RPM_SUSPENDED state for a device with active children (unless power.ignore_children is set). This specifically means that the attempts to do just that from the omap pm-domain suspend_noirq callback have since been failing whenever a child is active, for example: am335x-usb-childs 47400000.usb: runtime PM trying to suspend device but active child Silence this warning by dropping the broken pm_runtime_set_suspended() call from the omap suspend_noirq callback along with the redundant pm_runtime_set_active() in resume_noirq. This effectively reverts commit 3522bf7bfa24 ("ARM: OMAP2+: omap_device: maintain sane runtime pm status around suspend/resume"), which started updating the RPM state after the runtime_suspend callback (!) for active omap devices had been called during system suspend. The rationale was that a later pm_runtime_get_sync() would then fail (even after runtime pm had been disabled) and that this in turn would avoid any external aborts when accessing registers with clocks disabled. (See also commit 6f3c77b040fc ("PM / Runtime: let rpm_resume() succeed if RPM_ACTIVE, even when disabled, v2"). But during the suspend_noirq phase all children would already have been suspended and their drivers would specifically not attempt any further register accesses. And if this was all just a workaround for random device drivers doing cross-tree calls during system suspend, those drivers should be fixed and updated to explicitly model such dependencies using device-links instead (and either way, any such calls have been causing crashes since 4.10). Fixes: 3522bf7bfa24 ("ARM: OMAP2+: omap_device: maintain sane runtime pm status around suspend/resume") Fixes: a8636c89648a ("PM / Runtime: Don't allow to suspend a device with an active child") Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Dave Gerlach <d-gerlach@ti.com> Cc: Kevin Hilman <khilman@baylibre.com> Cc: Nishanth Menon <nm@ti.com> Cc: Rafael J. Wysocki <rjw@rjwysocki.net> Cc: Tony Lindgren <tony@atomide.com> Cc: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Johan Hovold <johan@kernel.org> Tested-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-09ARM: shmobile: Enable BQ32000 rtc in shmobile_defconfigBiju Das
The iWave RZ/G1M Q7 SOM supports RTC (TI BQ32000). To increase hardware support enable the driver in the shmobile_defconfig multiplatform configuration. Signed-off-by: Biju Das <biju.das@bp.renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-08-07Merge tag 'bcm2835-defconfig-next-2017-08-07' into defconfig/nextFlorian Fainelli
This pull request brings in defconfig changes for the Raspberry Pi Zero W. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2017-08-07ARM: configs: keystone: Enable MMC and regulatorsLokesh Vutla
Enable the TI OMAP HSMMC and fixed regulator support for keystone platforms. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-08-06Linux 4.13-rc4Linus Torvalds
2017-08-06Merge tag 'platform-drivers-x86-v4.13-4' of ↵Linus Torvalds
git://git.infradead.org/linux-platform-drivers-x86 Pull x86 platform driver fix from Darren Hart: "Fix loop preventing some platforms from waking up via the power button in s2idle: - intel-vbtn: match power button on press rather than release" * tag 'platform-drivers-x86-v4.13-4' of git://git.infradead.org/linux-platform-drivers-x86: platform/x86: intel-vbtn: match power button on press rather than release
2017-08-06Merge tag 'ext4_for_linus_stable' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 Pull ext4 fixes from Ted Ts'o: "A large number of ext4 bug fixes and cleanups for v4.13" * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: fix copy paste error in ext4_swap_extents() ext4: fix overflow caused by missing cast in ext4_resize_fs() ext4, project: expand inode extra size if possible ext4: cleanup ext4_expand_extra_isize_ea() ext4: restructure ext4_expand_extra_isize ext4: fix forgetten xattr lock protection in ext4_expand_extra_isize ext4: make xattr inode reads faster ext4: inplace xattr block update fails to deduplicate blocks ext4: remove unused mode parameter ext4: fix warning about stack corruption ext4: fix dir_nlink behaviour ext4: silence array overflow warning ext4: fix SEEK_HOLE/SEEK_DATA for blocksize < pagesize ext4: release discard bio after sending discard commands ext4: convert swap_inode_data() over to use swap() on most of the fields ext4: error should be cleared if ea_inode isn't added to the cache ext4: Don't clear SGID when inheriting ACLs ext4: preserve i_mode if __ext4_set_acl() fails ext4: remove unused metadata accounting variables ext4: correct comment references to ext4_ext_direct_IO()
2017-08-06Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linusLinus Torvalds
Pull MIPS fixes from Ralf Baechle: "This fixes two build issues for ralink platforms, both due to missing #includes which used to be included indirectly via other headers" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: MIPS: ralink: mt7620: Add missing header MIPS: ralink: Fix build error due to missing header
2017-08-06Fix compat_sys_sigpending breakageDmitry V. Levin
The latest change of compat_sys_sigpending in commit 8f13621abced ("sigpending(): move compat to native") has broken it in two ways. First, it tries to write 4 bytes more than userspace expects: sizeof(old_sigset_t) == sizeof(long) == 8 instead of sizeof(compat_old_sigset_t) == sizeof(u32) == 4. Second, on big endian architectures these bytes are being written in the wrong order. This bug was found by strace test suite. Reported-by: Anatoly Pugachev <matorola@gmail.com> Inspired-by: Eugene Syromyatnikov <evgsyr@gmail.com> Fixes: 8f13621abced ("sigpending(): move compat to native") Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> Acked-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-08-06ARM: rockchip: select ARCH_DMA_ADDR_T_64BIT for LPAETao Huang
Rockchip RK3288 has some 64-bit capable DMA and therefore needs dma_addr_t to be a 64-bit size. One user is the Mali GPU. Signed-off-by: Tao Huang <huangtao@rock-chips.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2017-08-06ext4: fix copy paste error in ext4_swap_extents()Maninder Singh
This bug was found by a static code checker tool for copy paste problems. Signed-off-by: Maninder Singh <maninder1.s@samsung.com> Signed-off-by: Vaneet Narang <v.narang@samsung.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2017-08-06ext4: fix overflow caused by missing cast in ext4_resize_fs()Jerry Lee
On a 32-bit platform, the value of n_blcoks_count may be wrong during the file system is resized to size larger than 2^32 blocks. This may caused the superblock being corrupted with zero blocks count. Fixes: 1c6bd7173d66 Signed-off-by: Jerry Lee <jerrylee@qnap.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Cc: stable@vger.kernel.org # 3.7+
2017-08-06ext4, project: expand inode extra size if possibleMiao Xie
When upgrading from old format, try to set project id to old file first time, it will return EOVERFLOW, but if that file is dirtied(touch etc), changing project id will be allowed, this might be confusing for users, we could try to expand @i_extra_isize here too. Reported-by: Zhang Yi <yi.zhang@huawei.com> Signed-off-by: Miao Xie <miaoxie@huawei.com> Signed-off-by: Wang Shilong <wshilong@ddn.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2017-08-06ext4: cleanup ext4_expand_extra_isize_ea()Miao Xie
Clean up some goto statement, make ext4_expand_extra_isize_ea() clearer. Signed-off-by: Miao Xie <miaoxie@huawei.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Wang Shilong <wshilong@ddn.com>
2017-08-06ext4: restructure ext4_expand_extra_isizeMiao Xie
Current ext4_expand_extra_isize just tries to expand extra isize, if someone is holding xattr lock or some check fails, it will give up. So rename its name to ext4_try_to_expand_extra_isize. Besides that, we clean up unnecessary check and move some relative checks into it. Signed-off-by: Miao Xie <miaoxie@huawei.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Wang Shilong <wshilong@ddn.com>
2017-08-06ext4: fix forgetten xattr lock protection in ext4_expand_extra_isizeMiao Xie
We should avoid the contention between the i_extra_isize update and the inline data insertion, so move the xattr trylock in front of i_extra_isize update. Signed-off-by: Miao Xie <miaoxie@huawei.com> Reviewed-by: Wang Shilong <wshilong@ddn.com>
2017-08-06ext4: make xattr inode reads fasterTahsin Erdogan
ext4_xattr_inode_read() currently reads each block sequentially while waiting for io operation to complete before moving on to the next block. This prevents request merging in block layer. Add a ext4_bread_batch() function that starts reads for all blocks then optionally waits for them to complete. A similar logic is used in ext4_find_entry(), so update that code to use the new function. Signed-off-by: Tahsin Erdogan <tahsin@google.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2017-08-05ext4: inplace xattr block update fails to deduplicate blocksTahsin Erdogan
When an xattr block has a single reference, block is updated inplace and it is reinserted to the cache. Later, a cache lookup is performed to see whether an existing block has the same contents. This cache lookup will most of the time return the just inserted entry so deduplication is not achieved. Running the following test script will produce two xattr blocks which can be observed in "File ACL: " line of debugfs output: mke2fs -b 1024 -I 128 -F -O extent /dev/sdb 1G mount /dev/sdb /mnt/sdb touch /mnt/sdb/{x,y} setfattr -n user.1 -v aaa /mnt/sdb/x setfattr -n user.2 -v bbb /mnt/sdb/x setfattr -n user.1 -v aaa /mnt/sdb/y setfattr -n user.2 -v bbb /mnt/sdb/y debugfs -R 'stat x' /dev/sdb | cat debugfs -R 'stat y' /dev/sdb | cat This patch defers the reinsertion to the cache so that we can locate other blocks with the same contents. Signed-off-by: Tahsin Erdogan <tahsin@google.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Andreas Dilger <adilger@dilger.ca>