]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
8 years agoMerge remote-tracking branch 'drm-intel-fixes/for-linux-next-fixes'
Stephen Rothwell [Sun, 1 Nov 2015 22:08:06 +0000 (09:08 +1100)]
Merge remote-tracking branch 'drm-intel-fixes/for-linux-next-fixes'

8 years agoMerge remote-tracking branch 'usb-chipidea-fixes/ci-for-usb-stable'
Stephen Rothwell [Sun, 1 Nov 2015 22:07:59 +0000 (09:07 +1100)]
Merge remote-tracking branch 'usb-chipidea-fixes/ci-for-usb-stable'

8 years agoMerge remote-tracking branch 'sound-current/for-linus'
Stephen Rothwell [Sun, 1 Nov 2015 22:07:56 +0000 (09:07 +1100)]
Merge remote-tracking branch 'sound-current/for-linus'

8 years agoMerge remote-tracking branch 'net/master'
Stephen Rothwell [Sun, 1 Nov 2015 22:07:54 +0000 (09:07 +1100)]
Merge remote-tracking branch 'net/master'

8 years agoMerge remote-tracking branch 'sparc/master'
Stephen Rothwell [Sun, 1 Nov 2015 22:07:53 +0000 (09:07 +1100)]
Merge remote-tracking branch 'sparc/master'

8 years agoMerge remote-tracking branch 'arm-current/fixes'
Stephen Rothwell [Sun, 1 Nov 2015 22:07:47 +0000 (09:07 +1100)]
Merge remote-tracking branch 'arm-current/fixes'

8 years agonet: hisilicon: Remove .owner assignment from platform_driver
huangdaode [Fri, 30 Oct 2015 02:50:54 +0000 (10:50 +0800)]
net: hisilicon: Remove .owner assignment from platform_driver

platform_driver doesn't need to set .owner, because
platform_driver_register() will set it.

Signed-off-by: huangdaode <huangdaode@hisilicon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agonet: dsa: use switchdev obj for VLAN add/del ops
Vivien Didelot [Sun, 1 Nov 2015 17:33:55 +0000 (12:33 -0500)]
net: dsa: use switchdev obj for VLAN add/del ops

Simplify DSA by pushing the switchdev objects for VLAN add and delete
operations down to its drivers. Currently only mv88e6xxx is affected.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agonet: bcmgenet: Software reset EPHY after power on
Florian Fainelli [Fri, 30 Oct 2015 01:11:35 +0000 (18:11 -0700)]
net: bcmgenet: Software reset EPHY after power on

The EPHY on GENET v1->v3 is extremely finicky, and will show occasional
failures based on the timing and reset sequence, ranging from duplicate
packets, to extremely high latencies.

Perform an additional software reset, and re-configuration to make sure it is
in a consistent and working state.

Fixes: 6ac3ce8295e6 ("net: bcmgenet: Remove excessive PHY reset")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agoMerge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 1 Nov 2015 19:45:26 +0000 (11:45 -0800)]
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Thomas Gleixner:
 "This set of updates contains:

   - Another bugfix for the pathologic vm86 machinery.  Clear
     thread.vm86 on fork to prevent corrupting the parent state.  This
     comes along with an update to the vm86 selftest case

   - Fix another corner case in the ioapic setup code which causes a
     boot crash on some oddball systems

   - Fix the fallout from the dma allocation consolidation work, which
     leads to a NULL pointer dereference when the allocation code is
     called with a NULL device"

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/vm86: Set thread.vm86 to NULL on fork/clone
  selftests/x86: Add a fork() to entry_from_vm86 to catch fork bugs
  x86/ioapic: Prevent NULL pointer dereference in setup_ioapic_dest()
  x86/dma-mapping: Fix arch_dma_alloc_attrs() oops with NULL dev

8 years agoMerge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 1 Nov 2015 19:39:03 +0000 (11:39 -0800)]
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull timer fixes from Thomas Gleixner:
 "The last round of minimalistic fixes for clocksource drivers:

   - Prevent multiple shutdown of the sh_mtu2 clocksource

   - Annotate a bunch of clocksource/schedclock functions with notrace
     to prevent an annoying ftrace recursion issue"

* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  clocksource/drivers/sh_mtu2: Fix multiple shutdown call issue
  clocksource/drivers/digicolor: Prevent ftrace recursion
  clocksource/drivers/fsl_ftm_timer: Prevent ftrace recursion
  clocksource/drivers/vf_pit_timer: Prevent ftrace recursion
  clocksource/drivers/prima2: Prevent ftrace recursion
  clocksource/drivers/samsung_pwm_timer: Prevent ftrace recursion
  clocksource/drivers/pistachio: Prevent ftrace recursion
  clocksource/drivers/arm_global_timer: Prevent ftrace recursion

8 years agoMerge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 1 Nov 2015 19:33:04 +0000 (11:33 -0800)]
Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq fixes from Thomas Gleixner:
 "The last two one-liners for 4.3 from the irqchip space:

   - Regression fix for armada SoC which addresses the fallout from the
     set_irq_flags() cleanup

   - Add the missing propagation of the irq_set_type() callback to the
     parent interrupt controller of the tegra interrupt chip"

* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  irqchip/tegra: Propagate IRQ type setting to parent
  irqchip/armada-370-xp: Fix regression by clearing IRQ_NOAUTOEN

8 years agortc: rtc-s3c: Set year, month, day value for setting alarm
Krzysztof Kozlowski [Sun, 1 Nov 2015 11:49:04 +0000 (20:49 +0900)]
rtc: rtc-s3c: Set year, month, day value for setting alarm

This patch sets year, month, day value for set_alarm function.
The current driver omits to set the values.

This fixes setting wake alarm for dates different than current day.
Without the patch the alarm scheduled for tomorrow would fire today on
chosen time.

Signed-off-by: Donggeun Kim <dg77.kim@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.kim@samsung.com>
Signed-off-by: KyungMin Park <kyungmin.park@samsung.com>
[k.kozlowski: Rebase and test the patch, update commit message]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
8 years agoVSOCK: define VSOCK_SS_LISTEN once only
Stefan Hajnoczi [Thu, 29 Oct 2015 11:57:42 +0000 (11:57 +0000)]
VSOCK: define VSOCK_SS_LISTEN once only

The SS_LISTEN socket state is defined by both af_vsock.c and
vmci_transport.c.  This is risky since the value could be changed in one
file and the other would be out of sync.

Rename from SS_LISTEN to VSOCK_SS_LISTEN since the constant is not part
of enum socket_state (SS_CONNECTED, ...).  This way it is clear that the
constant is vsock-specific.

The big text reflow in af_vsock.c was necessary to keep to the maximum
line length.  Text is unchanged except for s/SS_LISTEN/VSOCK_SS_LISTEN/.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agonet: smsc911x: Fix crash if loopback test fails
Pavel Fedin [Thu, 29 Oct 2015 06:45:22 +0000 (09:45 +0300)]
net: smsc911x: Fix crash if loopback test fails

On certain hardware in certain situations loopback test fails and the
driver gets removed. During mdiobus_unregister() instance of PHY driver
gets disposed. But by this time it has already been started using
phy_connect_direct().

PHY driver uses DELAYED_WORK in order to maintain its state. Attempting
to dispose the driver without calling phy_disconnect() causes deallocation
of DELAYED_WORK being active. This shortly causes a bad crash in timer
code.

The problem can be discovered by enabling CONFIG_DEBUG_OBJECTS_TIMERS and
CONFIG_DEBUG_OBJECTS_FREE

Signed-off-by: Pavel Fedin <p.fedin@samsung.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agotipc: linearize arriving NAME_DISTR and LINK_PROTO buffers
Jon Paul Maloy [Wed, 28 Oct 2015 17:09:53 +0000 (13:09 -0400)]
tipc: linearize arriving NAME_DISTR and LINK_PROTO buffers

Testing of the new UDP bearer has revealed that reception of
NAME_DISTRIBUTOR, LINK_PROTOCOL/RESET and LINK_PROTOCOL/ACTIVATE
message buffers is not prepared for the case that those may be
non-linear.

We now linearize all such buffers before they are delivered up to the
generic reception layer.

In order for the commit to apply cleanly to 'net' and 'stable', we do
the change in the function tipc_udp_recv() for now. Later, we will post
a commit to 'net-next' moving the linearization to generic code, in
tipc_named_rcv() and tipc_link_proto_rcv().

Fixes: commit d0f91938bede ("tipc: add ip/udp media type")
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agofec: Use gpio_set_value_cansleep()
Fabio Estevam [Wed, 28 Oct 2015 12:20:30 +0000 (10:20 -0200)]
fec: Use gpio_set_value_cansleep()

We are in a context where we can sleep, and the FEC PHY reset gpio
may be on an I2C expander. Use the cansleep() variant when
setting the GPIO value.

Based on a patch from Russell King for pci-mvebu.c.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agoMerge branch 'csum_partial_frags'
David S. Miller [Sun, 1 Nov 2015 17:01:37 +0000 (12:01 -0500)]
Merge branch 'csum_partial_frags'

Hannes Frederic Sowa says:

====================
net: clean up interactions of CHECKSUM_PARTIAL and fragmentation

This series fixes wrong checksums on the wire for IPv4 and IPv6. Large
send buffers and especially NFS lead to wrong checksums in both IPv4
and IPv6.

CHECKSUM_PARTIAL skbs should not receive the respective fragmentations
functions, so we add WARN_ON_ONCE to those functions to fix up those as
soon as they get reported.

Changelog:
v2: added v4 checks
v3: removed WARN_ON_ONCES (advice by Tom Herbert)
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agoipv6: add defensive check for CHECKSUM_PARTIAL skbs in ip_fragment
Hannes Frederic Sowa [Tue, 27 Oct 2015 21:40:42 +0000 (22:40 +0100)]
ipv6: add defensive check for CHECKSUM_PARTIAL skbs in ip_fragment

CHECKSUM_PARTIAL skbs should never arrive in ip_fragment. If we get one
of those warn about them once and handle them gracefully by recalculating
the checksum.

Fixes: commit 32dce968dd987 ("ipv6: Allow for partial checksums on non-ufo packets")
See-also: commit 72e843bb09d45 ("ipv6: ip6_fragment() should check CHECKSUM_PARTIAL")
Cc: Eric Dumazet <edumazet@google.com>
Cc: Vlad Yasevich <vyasevich@gmail.com>
Cc: Benjamin Coddington <bcodding@redhat.com>
Cc: Tom Herbert <tom@herbertland.com>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agoipv6: no CHECKSUM_PARTIAL on MSG_MORE corked sockets
Hannes Frederic Sowa [Tue, 27 Oct 2015 21:40:41 +0000 (22:40 +0100)]
ipv6: no CHECKSUM_PARTIAL on MSG_MORE corked sockets

We cannot reliable calculate packet size on MSG_MORE corked sockets
and thus cannot decide if they are going to be fragmented later on,
so better not use CHECKSUM_PARTIAL in the first place.

The IPv6 code also intended to protect and not use CHECKSUM_PARTIAL in
the existence of IPv6 extension headers, but the condition was wrong. Fix
it up, too. Also the condition to check whether the packet fits into
one fragment was wrong and has been corrected.

Fixes: commit 32dce968dd987 ("ipv6: Allow for partial checksums on non-ufo packets")
See-also: commit 72e843bb09d45 ("ipv6: ip6_fragment() should check CHECKSUM_PARTIAL")
Cc: Eric Dumazet <edumazet@google.com>
Cc: Vlad Yasevich <vyasevich@gmail.com>
Cc: Benjamin Coddington <bcodding@redhat.com>
Cc: Tom Herbert <tom@herbertland.com>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agoipv4: add defensive check for CHECKSUM_PARTIAL skbs in ip_fragment
Hannes Frederic Sowa [Tue, 27 Oct 2015 21:40:40 +0000 (22:40 +0100)]
ipv4: add defensive check for CHECKSUM_PARTIAL skbs in ip_fragment

CHECKSUM_PARTIAL skbs should never arrive in ip_fragment. If we get one
of those warn about them once and handle them gracefully by recalculating
the checksum.

Cc: Eric Dumazet <edumazet@google.com>
Cc: Vlad Yasevich <vyasevich@gmail.com>
Cc: Benjamin Coddington <bcodding@redhat.com>
Cc: Tom Herbert <tom@herbertland.com>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agoipv4: no CHECKSUM_PARTIAL on MSG_MORE corked sockets
Hannes Frederic Sowa [Tue, 27 Oct 2015 21:40:39 +0000 (22:40 +0100)]
ipv4: no CHECKSUM_PARTIAL on MSG_MORE corked sockets

We cannot reliable calculate packet size on MSG_MORE corked sockets
and thus cannot decide if they are going to be fragmented later on,
so better not use CHECKSUM_PARTIAL in the first place.

Cc: Eric Dumazet <edumazet@google.com>
Cc: Vlad Yasevich <vyasevich@gmail.com>
Cc: Benjamin Coddington <bcodding@redhat.com>
Cc: Tom Herbert <tom@herbertland.com>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
8 years agoMerge branches 'x86/amd', 'x86/vt-d', 'arm/omap', 'arm/smmu', 'arm/renesas', 's390...
Joerg Roedel [Sun, 1 Nov 2015 15:12:31 +0000 (00:12 +0900)]
Merge branches 'x86/amd', 'x86/vt-d', 'arm/omap', 'arm/smmu', 'arm/renesas', 's390', 'core' and 'iommu/fixes' into next

Conflicts:
drivers/iommu/amd_iommu_types.h

8 years agoRevert "iommu/ipmmu-vmsa: Drop LPAE Kconfig dependency"
Joerg Roedel [Sun, 1 Nov 2015 15:07:12 +0000 (00:07 +0900)]
Revert "iommu/ipmmu-vmsa: Drop LPAE Kconfig dependency"

This reverts commit bad78b13e3057b4bbfe769e21c213dca7c4d51de.

Stephen Rothwell reported this build error on linux-next with
x86_64 allmodconfig:

drivers/iommu/ipmmu-vmsa.c:24:27: fatal error: asm/dma-iommu.h: No such file or directory

Reverting this patch for now.

Signed-off-by: Joerg Roedel <jroedel@suse.de>
8 years agoBluetooth: Fix issue with HCI_QUIRK_FIXUP_INQUIRY_MODE and event mask
Marcel Holtmann [Sun, 1 Nov 2015 08:45:22 +0000 (09:45 +0100)]
Bluetooth: Fix issue with HCI_QUIRK_FIXUP_INQUIRY_MODE and event mask

When setting the event mask, the HCI_QUIRK_FIXUP_INQUIRY_MODE quirk is
required to be checked so that the Inquiry Result with RSSI event gets
actually enabled.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
8 years agoBluetooth: Build LE event mask based on supported commands
Marcel Holtmann [Sun, 1 Nov 2015 08:39:51 +0000 (09:39 +0100)]
Bluetooth: Build LE event mask based on supported commands

The LE event mask should be created based on the commands that are
actually supported by the controller.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
8 years agoBluetooth: Move BR/EDR default events behind its features
Marcel Holtmann [Sun, 1 Nov 2015 08:39:49 +0000 (09:39 +0100)]
Bluetooth: Move BR/EDR default events behind its features

There are some BR/EDR default events for Bluetooth 1.2 or later
controllers that are not conditional on their features being present.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
8 years agoBluetooth: Check for supported white list before issuing commands
Marcel Holtmann [Sun, 1 Nov 2015 08:39:48 +0000 (09:39 +0100)]
Bluetooth: Check for supported white list before issuing commands

The white list commands might not be implemented if the controller does
not actually support the white list. So check the supported commands
first before issuing these commands. Not supporting the white list is
the same as supporting a white list with zero size.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
8 years agoMerge branch 'x86/urgent'
Ingo Molnar [Sun, 1 Nov 2015 10:24:14 +0000 (11:24 +0100)]
Merge branch 'x86/urgent'

8 years agoMerge branch 'x86/platform'
Ingo Molnar [Sun, 1 Nov 2015 10:24:14 +0000 (11:24 +0100)]
Merge branch 'x86/platform'

8 years agoMerge branch 'x86/mm'
Ingo Molnar [Sun, 1 Nov 2015 10:24:13 +0000 (11:24 +0100)]
Merge branch 'x86/mm'

8 years agoMerge branch 'x86/headers'
Ingo Molnar [Sun, 1 Nov 2015 10:24:12 +0000 (11:24 +0100)]
Merge branch 'x86/headers'

8 years agomanual merge of x86/fpu
Ingo Molnar [Sun, 1 Nov 2015 10:24:12 +0000 (11:24 +0100)]
manual merge of x86/fpu

Signed-off-by: Ingo Molnar <mingo@kernel.org>
8 years agoMerge branch 'x86/debug'
Ingo Molnar [Sun, 1 Nov 2015 10:24:10 +0000 (11:24 +0100)]
Merge branch 'x86/debug'

8 years agoMerge branch 'x86/cpufeature'
Ingo Molnar [Sun, 1 Nov 2015 10:24:10 +0000 (11:24 +0100)]
Merge branch 'x86/cpufeature'

8 years agoMerge branch 'x86/cpu'
Ingo Molnar [Sun, 1 Nov 2015 10:24:09 +0000 (11:24 +0100)]
Merge branch 'x86/cpu'

8 years agoMerge branch 'x86/cleanups'
Ingo Molnar [Sun, 1 Nov 2015 10:24:09 +0000 (11:24 +0100)]
Merge branch 'x86/cleanups'

8 years agoMerge branch 'x86/boot'
Ingo Molnar [Sun, 1 Nov 2015 10:24:08 +0000 (11:24 +0100)]
Merge branch 'x86/boot'

8 years agoMerge branch 'x86/asm'
Ingo Molnar [Sun, 1 Nov 2015 10:24:08 +0000 (11:24 +0100)]
Merge branch 'x86/asm'

8 years agoMerge branch 'x86/apic'
Ingo Molnar [Sun, 1 Nov 2015 10:24:07 +0000 (11:24 +0100)]
Merge branch 'x86/apic'

8 years agoMerge branch 'timers/urgent'
Ingo Molnar [Sun, 1 Nov 2015 10:24:07 +0000 (11:24 +0100)]
Merge branch 'timers/urgent'

8 years agomanual merge of timers/core
Ingo Molnar [Sun, 1 Nov 2015 10:24:06 +0000 (11:24 +0100)]
manual merge of timers/core

Signed-off-by: Ingo Molnar <mingo@kernel.org>
8 years agoMerge branch 'sched/core'
Ingo Molnar [Sun, 1 Nov 2015 10:24:05 +0000 (11:24 +0100)]
Merge branch 'sched/core'

8 years agoMerge branch 'ras/core'
Ingo Molnar [Sun, 1 Nov 2015 10:24:05 +0000 (11:24 +0100)]
Merge branch 'ras/core'

8 years agoMerge branch 'perf/core'
Ingo Molnar [Sun, 1 Nov 2015 10:24:04 +0000 (11:24 +0100)]
Merge branch 'perf/core'

8 years agoMerge branch 'locking/core'
Ingo Molnar [Sun, 1 Nov 2015 10:24:04 +0000 (11:24 +0100)]
Merge branch 'locking/core'

8 years agoMerge branch 'irq/urgent'
Ingo Molnar [Sun, 1 Nov 2015 10:24:03 +0000 (11:24 +0100)]
Merge branch 'irq/urgent'

8 years agoMerge branch 'irq/for-arm'
Ingo Molnar [Sun, 1 Nov 2015 10:24:03 +0000 (11:24 +0100)]
Merge branch 'irq/for-arm'

8 years agoMerge branch 'irq/core'
Ingo Molnar [Sun, 1 Nov 2015 10:24:02 +0000 (11:24 +0100)]
Merge branch 'irq/core'

8 years agoMerge branch 'core/rcu'
Ingo Molnar [Sun, 1 Nov 2015 10:24:02 +0000 (11:24 +0100)]
Merge branch 'core/rcu'

8 years agoMerge branch 'core/efi'
Ingo Molnar [Sun, 1 Nov 2015 10:24:01 +0000 (11:24 +0100)]
Merge branch 'core/efi'

8 years agoMerge branch 'core/debug'
Ingo Molnar [Sun, 1 Nov 2015 10:24:01 +0000 (11:24 +0100)]
Merge branch 'core/debug'

8 years agogpio: fix up SPI submenu
Linus Walleij [Sun, 1 Nov 2015 09:50:19 +0000 (10:50 +0100)]
gpio: fix up SPI submenu

- Relax dependencies on SPI_MASTER for drivers in the SPI menu
  that already has this dependency.
- Move out the expander that would be hidden for I2C access if
  SPI_MASTER was not selected. Tentatively create a separate
  menu for this.
- Move the ZX SoC driver to memory-mapped drivers, this must be
  a mistake and only worked because the system has an SPI master
  enabled at the same time.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
8 years agogpio: drop surplus I2C dependencies
Linus Walleij [Sun, 1 Nov 2015 09:43:16 +0000 (10:43 +0100)]
gpio: drop surplus I2C dependencies

The I2C expander menu already depends on I2C, drop subdependecies
on individual drivers. Keep the instances of depends on I2C=y
though, so these are still restricted to the compiled-in case.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
8 years agogpio: drop surplus X86 dependencies
Linus Walleij [Sun, 1 Nov 2015 09:39:07 +0000 (10:39 +0100)]
gpio: drop surplus X86 dependencies

Port-mapped I/O depends on X86 already, so individual drivers need
not specify this dependency.

Suggested-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
8 years agowatchdog: core: propagate ping error code to the user space
Alexander Usyskin [Mon, 26 Oct 2015 12:07:58 +0000 (14:07 +0200)]
watchdog: core: propagate ping error code to the user space

Watchdog ping return errors are ignored by watchdog core,
Whatchdog daemon should be informed about possible hardware error or
underlaying device driver get unregistered.

Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
8 years ago[SMB3] Fix build so persistent handles disabled if SMB2 support not configured
Steve French [Sun, 1 Nov 2015 05:07:13 +0000 (00:07 -0500)]
[SMB3] Fix build so persistent handles disabled if SMB2 support not configured

Signed-off-by: Steve French <steve.french@primarydata.com>
8 years agoMerge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Linus Torvalds [Sun, 1 Nov 2015 04:36:07 +0000 (21:36 -0700)]
Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM SoC fixes from Olof Johansson:
 "This should be our final batch of fixes for 4.3:

   - A patch from Sudeep Holla that fixes annotation of wakeup sources
     properly, old unused format seems to have spread through copying.

   - Two patches from Tony for OMAP.  One dealing with MUSB setup
     problems due to runtime PM being enabled too early on the parent
     device.  The other fixes IRQ numbering for OMAP1"

* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  usb: musb: omap2430: Fix regression caused by driver core change
  ARM: OMAP1: fix incorrect INT_DMA_LCD
  ARM: dts: fix gpio-keys wakeup-source property

8 years agoMerge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Linus Torvalds [Sun, 1 Nov 2015 04:26:04 +0000 (21:26 -0700)]
Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi

Pull SCSI fixes from James Bottomley:
 "This is three essential bug fixes for various SCSI parts.

  The only affected users are SCSI multi-path via device handler
  (basically all the enterprise) and mvsas users.  The dh bugs are an
  async entanglement in boot resulting in a serious WARN_ON trip and a
  use after free on remove leading to a crash with strict memory
  accounting.  The mvsas bug manifests as a null deref oops but only on
  abort sequences; however, these can commonly occur with SATA attached
  devices, hence the fix"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
  scsi_dh: don't try to load a device handler during async probing
  scsi_dh: fix use-after-free when removing scsi device
  mvsas: Fix NULL pointer dereference in mvs_slot_task_free

8 years agoMerge tag 'md/4.3-rc7-fixes' of git://neil.brown.name/md
Linus Torvalds [Sun, 1 Nov 2015 04:20:49 +0000 (21:20 -0700)]
Merge tag 'md/4.3-rc7-fixes' of git://neil.brown.name/md

Pull md bug fixes from Neil Brown:
 "Two more bug fixes for md.

  One bugfix for a list corruption in raid5 because of incorrect
  locking.

  Other for possible data corruption when a recovering device is failed,
  removed, and re-added.

  Both tagged for -stable"

* tag 'md/4.3-rc7-fixes' of git://neil.brown.name/md:
  Revert "md: allow a partially recovered device to be hot-added to an array."
  md/raid5: fix locking in handle_stripe_clean_event()

8 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
David S. Miller [Sun, 1 Nov 2015 04:15:30 +0000 (00:15 -0400)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

8 years agoAdd resilienthandles mount parm
Steve French [Tue, 6 Oct 2015 04:17:27 +0000 (23:17 -0500)]
Add resilienthandles mount parm

Since many servers (Windows clients, and non-clustered servers) do not
support persistent handles but do support resilient handles, allow
the user to specify a mount option "resilienthandles" in order
to get more reliable connections and less chance of data loss
(at least when SMB2.1 or later).  Default resilient handle
timeout (120 seconds to recent Windows server) is used.

Reviewed-by: Pavel Shilovsky <pshilovsky@samba.org>
Signed-off-by: Steve French <steve.french@primarydata.com>
8 years agoSend durable handle v2 contexts when use of persistent handles required
Steve French [Sat, 3 Oct 2015 23:23:44 +0000 (18:23 -0500)]
Send durable handle v2 contexts when use of persistent handles required

Reviewed-by: Pavel Shilovsky <pshilovsky@samba.org>
Signed-off-by: Steve French <steve.french@primarydata.com>
8 years agoDisplay persistenthandles in /proc/mounts for SMB3 shares if enabled
Steve French [Thu, 1 Oct 2015 02:07:59 +0000 (21:07 -0500)]
Display persistenthandles in /proc/mounts for SMB3 shares if enabled

Signed-off-by: Steve French <steve.french@primarydata.com>
Reviewed-by: Pavel Shilovsky <pshilovsky@samba.org>
8 years agoEnable checking for continuous availability and persistent handle support
Steve French [Thu, 1 Oct 2015 01:58:41 +0000 (20:58 -0500)]
Enable checking for continuous availability and persistent handle support

Validate "persistenthandles" and "nopersistenthandles" mount options against
the support the server claims in negotiate and tree connect SMB3 responses.

Signed-off-by: Steve French <steve.french@primarydata.com>
Reviewed-by: Pavel Shilovsky <pshilovsky@samba.org>
8 years agoAdd parsing for new mount option controlling persistent handles
Steve French [Wed, 30 Sep 2015 02:49:28 +0000 (21:49 -0500)]
Add parsing for new mount option controlling persistent handles

"nopersistenthandles" and "persistenthandles" mount options added.
The former will not request persistent handles on open even when
SMB3 negotiated and Continuous Availability share.  The latter
will request persistent handles (as long as server notes the
capability in protocol negotiation) even if share is not Continuous
Availability share.

Signed-off-by: Steve French <steve.french@primarydata.com>
Reviewed-by: Pavel Shilovsky <pshilovsky@samba.org>
8 years agoupdate signing code
Steve French [Fri, 25 Sep 2015 01:28:00 +0000 (20:28 -0500)]
update signing code

Prepare for encryption support.  Add decryption and encryption key generation.

Thanks to Metze for helping with this.

Reviewed-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Steve French <steve.french@primarydata.com>
8 years agoAllow duplicate extents in SMB3 not just SMB3.1.1
Steve French [Fri, 2 Oct 2015 02:40:10 +0000 (21:40 -0500)]
Allow duplicate extents in SMB3 not just SMB3.1.1

Enable duplicate extents (cp --reflink) ioctl for SMB3.0 not just
SMB3.1.1 since have verified that this works to Windows 2016
(REFS) and additional testing done at recent plugfest with
SMB3.0 not just SMB3.1.1  This will also make it easier
for Samba.

Signed-off-by: Steve French <steve.french@primarydata.com>
Reviewed-by: David Disseldorp <ddiss@suse.de>
8 years agoMD: when RAID journal is missing/faulty, block RESTART_ARRAY_RW
Song Liu [Fri, 9 Oct 2015 04:54:13 +0000 (21:54 -0700)]
MD: when RAID journal is missing/faulty, block RESTART_ARRAY_RW

When RAID-4/5/6 array suffers from missing journal device, we put
the array in read only state. We should not allow trasition to
read-write states (clean and active) before replacing journal device.

Signed-off-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoMD: set journal disk ->raid_disk
Shaohua Li [Fri, 9 Oct 2015 04:54:12 +0000 (21:54 -0700)]
MD: set journal disk ->raid_disk

Set journal disk ->raid_disk to >=0, I choose raid_disks + 1 instead of
0, because we already have a disk with ->raid_disk 0 and this causes
sysfs entry creation conflict. A lot of places assumes disk with
->raid_disk >=0 is normal raid disk, so we add check for journal disk.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoMD: kick out journal disk if it's not fresh
Song Liu [Fri, 9 Oct 2015 04:54:11 +0000 (21:54 -0700)]
MD: kick out journal disk if it's not fresh

When journal disk is faulty and we are reassemabling the raid array, the
journal disk is old. We don't allow the journal disk added to the raid
array. Since journal disk is missing in the array, the raid5 will mark
the array readonly.

Signed-off-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: start raid5 readonly if journal is missing
Shaohua Li [Fri, 9 Oct 2015 04:54:10 +0000 (21:54 -0700)]
raid5-cache: start raid5 readonly if journal is missing

If raid array is expected to have journal (eg, journal is set in MD
superblock feature map) and the array is started without journal disk,
start the array readonly.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoMD: add new bit to indicate raid array with journal
Song Liu [Fri, 9 Oct 2015 04:54:09 +0000 (21:54 -0700)]
MD: add new bit to indicate raid array with journal

If a raid array has journal feature bit set, add a new bit to indicate
this. If the array is started without journal disk existing, we know
there is something wrong.

Signed-off-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: IO error handling
Shaohua Li [Fri, 9 Oct 2015 04:54:08 +0000 (21:54 -0700)]
raid5-cache: IO error handling

There are 3 places the raid5-cache dispatches IO. The discard IO error
doesn't matter, so we ignore it. The superblock write IO error can be
handled in MD core. The remaining are log write and flush. When the IO
error happens, we mark log disk faulty and fail all write IO. Read IO is
still allowed to run. Userspace will get a notification too and
corresponding daemon can choose setting raid array readonly for example.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5: journal disk can't be removed
Shaohua Li [Fri, 9 Oct 2015 04:54:07 +0000 (21:54 -0700)]
raid5: journal disk can't be removed

raid5-cache uses journal disk rdev->bdev, rdev->mddev in several places.
Don't allow journal disk disappear magically. On the other hand, we do
need to update superblock for other disks to bump up ->events, so next
time journal disk will be identified as stale.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: add trim support for log
Shaohua Li [Fri, 9 Oct 2015 04:54:06 +0000 (21:54 -0700)]
raid5-cache: add trim support for log

Since superblock is updated infrequently, we do a simple trim of log
disk (a synchronous trim)

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoMD: fix info output for journal disk
Shaohua Li [Mon, 12 Oct 2015 23:59:50 +0000 (16:59 -0700)]
MD: fix info output for journal disk

journal disk can be faulty. The Journal and Faulty aren't exclusive with
each other.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: use bio chaining
Christoph Hellwig [Mon, 5 Oct 2015 07:31:16 +0000 (09:31 +0200)]
raid5-cache: use bio chaining

Simplify the bio completion handler by using bio chaining and submitting
bios as soon as they are full.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: small log->seq cleanup
Christoph Hellwig [Mon, 5 Oct 2015 07:31:15 +0000 (09:31 +0200)]
raid5-cache: small log->seq cleanup

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: new helper: r5_reserve_log_entry
Christoph Hellwig [Mon, 5 Oct 2015 07:31:14 +0000 (09:31 +0200)]
raid5-cache: new helper: r5_reserve_log_entry

Factor out code to reserve log space.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: inline r5l_alloc_io_unit into r5l_new_meta
Christoph Hellwig [Mon, 5 Oct 2015 07:31:13 +0000 (09:31 +0200)]
raid5-cache: inline r5l_alloc_io_unit into r5l_new_meta

This is the only user, and keeping all code initializing the io_unit
structure together improves readbility.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: take rdev->data_offset into account early on
Christoph Hellwig [Mon, 5 Oct 2015 07:31:12 +0000 (09:31 +0200)]
raid5-cache: take rdev->data_offset into account early on

Set up bi_sector properly when we allocate an bio instead of updating it
at submission time.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: refactor bio allocation
Christoph Hellwig [Mon, 5 Oct 2015 07:31:11 +0000 (09:31 +0200)]
raid5-cache: refactor bio allocation

Split out a helper to allocate a bio for log writes.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: clean up r5l_get_meta
Christoph Hellwig [Mon, 5 Oct 2015 07:31:10 +0000 (09:31 +0200)]
raid5-cache: clean up r5l_get_meta

Remove the only partially used local 'io' variable to simplify the code
flow.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: simplify state machine when caches flushes are not needed
Christoph Hellwig [Mon, 5 Oct 2015 07:31:09 +0000 (09:31 +0200)]
raid5-cache: simplify state machine when caches flushes are not needed

For devices without a volatile write cache we don't need to send a FLUSH
command to ensure writes are stable on disk, and thus can avoid the whole
step of batching up bios for processing by the MD thread.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: factor out a helper to run all stripes for an I/O unit
Christoph Hellwig [Mon, 5 Oct 2015 07:31:08 +0000 (09:31 +0200)]
raid5-cache: factor out a helper to run all stripes for an I/O unit

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: rename flushed_ios to finished_ios
Christoph Hellwig [Mon, 5 Oct 2015 07:31:07 +0000 (09:31 +0200)]
raid5-cache: rename flushed_ios to finished_ios

After this series we won't nessecarily have flushed the cache for these
I/Os, so give the list a more neutral name.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: free I/O units earlier
Christoph Hellwig [Mon, 5 Oct 2015 07:31:06 +0000 (09:31 +0200)]
raid5-cache: free I/O units earlier

There is no good reason to keep the I/O unit structures around after the
stripe has been written back to the RAID array.  The only information
we need is the log sequence number, and the checkpoint offset of the
highest successfull writeback.  Store those in the log structure, and
free the IO units from __r5l_stripe_write_finished.

Besides simplifying the code this also avoid having to keep the allocation
for the I/O unit around for a potentially long time as superblock updates
that checkpoint the log do not happen very often.

This also fixes the previously incorrect calculation of 'free' in
r5l_do_reclaim as a side effect: previous if took the last unit which
isn't checkpointed into account.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: move reclaim stop to quiesce
Shaohua Li [Sun, 4 Oct 2015 16:20:12 +0000 (09:20 -0700)]
raid5-cache: move reclaim stop to quiesce

Move reclaim stop to quiesce handling, where is safer for this stuff.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agomd: show journal for journal disk in disk state sysfs
Shaohua Li [Sun, 4 Oct 2015 16:20:11 +0000 (09:20 -0700)]
md: show journal for journal disk in disk state sysfs

Journal disk state sysfs entry should indicate it's journal

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoskip match_mddev_units check for special roles
Song Liu [Fri, 4 Sep 2015 06:00:35 +0000 (23:00 -0700)]
skip match_mddev_units check for special roles

match_mddev_units is used to check whether 2 RAID arrays share
same disk(s). Arrays that share disk(s) will not do resync at the
same time for better performance (fewer HDD seek). However, this
check should not apply to Spare, Faulty, and Journal disks, as
they do not paticipate in resync.

In this patch, match_mddev_units skips check for disks with flag
"Faulty" or "Journal" or raid_disk < 0.

Signed-off-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: don't delay stripe captured in log
Shaohua Li [Fri, 4 Sep 2015 21:14:16 +0000 (14:14 -0700)]
raid5-cache: don't delay stripe captured in log

There is a case a stripe gets delayed forever.
1. a stripe finishes construction
2. a new bio hits the stripe
3. handle_stripe runs for the stripe. The stripe gets DELAYED bit set
since construction can't run for new bio (the stripe is locked since
step 1)

Without log, handle_stripe will call ops_run_io. After IO finishes, the
stripe gets unlocked and the stripe will restart and run construction
for the new bio. With log, ops_run_io need to run two times. If the
DELAYED bit set, the stripe can't enter into the handle_list, so the
second ops_run_io doesn't run, which leaves the stripe stalled.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: check stripe finish out of order
Shaohua Li [Fri, 4 Sep 2015 21:14:05 +0000 (14:14 -0700)]
raid5-cache: check stripe finish out of order

stripes could finish out of order. Hence r5l_move_io_unit_list() of
__r5l_stripe_write_finished might not move any entry and leave
stripe_end_ios list empty.

This applies on top of http://marc.info/?l=linux-raid&m=144122700510667

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agomd: skip resync for raid array with journal
Shaohua Li [Wed, 2 Sep 2015 20:49:50 +0000 (13:49 -0700)]
md: skip resync for raid array with journal

If a raid array has journal, the journal can guarantee the consistency,
we can skip resync after a unclean shutdown. The exception is raid
creation or user initiated resync, which we still do a raid resync.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: optimize FLUSH IO with log enabled
Shaohua Li [Wed, 2 Sep 2015 20:49:49 +0000 (13:49 -0700)]
raid5-cache: optimize FLUSH IO with log enabled

With log enabled, bio is written to raid disks after the bio is settled
down in log disk. The recovery guarantees we can recovery the bio data
from log disk, so we we skip FLUSH IO.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: move functionality out of __r5l_set_io_unit_state
Christoph Hellwig [Wed, 2 Sep 2015 20:49:48 +0000 (13:49 -0700)]
raid5-cache: move functionality out of __r5l_set_io_unit_state

Just keep __r5l_set_io_unit_state as a small set the state wrapper, and
remove r5l_set_io_unit_state entirely after moving the real
functionality to the two callers that need it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: fix a user-after-free bug
Shaohua Li [Wed, 2 Sep 2015 20:49:47 +0000 (13:49 -0700)]
raid5-cache: fix a user-after-free bug

r5l_compress_stripe_end_list() can free an io_unit. This breaks the
assumption only reclaimer can free io_unit. We can add a reference count
based io_unit free, but since only reclaim can wait io_unit becoming to
STRIPE_END state, we use a simple global wait queue here.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5-cache: switching to state machine for log disk cache flush
Shaohua Li [Wed, 2 Sep 2015 20:49:46 +0000 (13:49 -0700)]
raid5-cache: switching to state machine for log disk cache flush

Before we write stripe data to raid disks, we must guarantee stripe data
is settled down in log disk. To do this, we flush log disk cache and
wait the flush finish. That wait introduces sleep time in raid5d thread
and impact performance. This patch moves the log disk cache flush
process to the stripe handling state machine, which can remove the wait
in raid5d.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5: enable log for raid array with cache disk
Shaohua Li [Thu, 13 Aug 2015 21:32:04 +0000 (14:32 -0700)]
raid5: enable log for raid array with cache disk

Now log is safe to enable for raid array with cache disk

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
8 years agoraid5: don't allow resize/reshape with cache(log) support
Shaohua Li [Thu, 13 Aug 2015 21:32:03 +0000 (14:32 -0700)]
raid5: don't allow resize/reshape with cache(log) support

If cache(log) support is enabled, don't allow resize/reshape in current
stage. In the future, we can flush all data from cache(log) to raid
before resize/reshape and then allow resize/reshape.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>