Mikulas Patocka
c3ca015fab
dax: remove the pmem_dax_ops->flush abstraction
...
Commit abebfbe2f7 ("dm: add ->flush() dax operation support") is
buggy. A DM device may be composed of multiple underlying devices and
all of them need to be flushed. That commit just routes the flush
request to the first device and ignores the other devices.
It could be fixed by adding more complex logic to the device mapper. But
there is only one implementation of the method pmem_dax_ops->flush - that
is pmem_dax_flush() - and it calls arch_wb_cache_pmem(). Consequently, we
don't need the pmem_dax_ops->flush abstraction at all, we can call
arch_wb_cache_pmem() directly from dax_flush() because dax_dev->ops->flush
can't ever reach anything different from arch_wb_cache_pmem().
It should be also pointed out that for some uses of persistent memory it
is needed to flush only a very small amount of data (such as 1 cacheline),
and it would be overkill if we go through that device mapper machinery for
a single flushed cache line.
Fix this by removing the pmem_dax_ops->flush abstraction and call
arch_wb_cache_pmem() directly from dax_flush(). Also, remove the device
mapper code that forwards the flushes.
Fixes: abebfbe2f7 ("dm: add ->flush() dax operation support")
Cc: stable@vger.kernel.org
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
2017-09-11 11:00:55 -04:00
..
accessibility
acpi
Merge branches 'acpica-fix', 'acpi-ec-fix' and 'acpi-properties-fix'
2017-08-24 22:22:53 +02:00
amba
android
ANDROID: binder: fix proc->tsk check.
2017-08-22 18:42:57 -07:00
ata
libata: fix a couple of doc build warnings
2017-07-31 08:03:06 -07:00
atm
atm: zatm: Fix an error handling path in 'zatm_init_one()'
2017-07-18 11:37:46 -07:00
auxdisplay
base
driver core fixes for 4.13-rc5
2017-08-13 12:44:18 -07:00
bcma
block
virtio: bugfix
2017-08-25 17:40:03 -07:00
bluetooth
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2017-07-05 12:31:59 -07:00
bus
bus: uniphier-system-bus: set up registers when resuming
2017-08-04 12:57:18 +02:00
cdrom
block: don't set bounce limit in blk_init_queue
2017-06-27 12:13:45 -06:00
char
random: fix warning message on ia64 and parisc
2017-08-08 09:36:46 -07:00
clk
clk: keystone: sci-clk: Fix sci_clk_get
2017-08-02 18:37:26 -07:00
clocksource
clocksource/drivers/Kconfig: Fix CLKSRC_PISTACHIO dependencies
2017-08-11 12:53:29 +02:00
connector
cpufreq
cpufreq: intel_pstate: report correct CPU frequencies during trace
2017-08-11 01:25:53 +02:00
cpuidle
powerpc/powernv/idle: Disable LOSE_FULL_CONTEXT states when stop-api fails
2017-08-08 20:21:23 +10:00
crypto
crypto: ixp4xx - Fix error handling path in 'aead_perform()'
2017-08-09 20:01:33 +08:00
dax
dax: remove the pmem_dax_ops->flush abstraction
2017-09-11 11:00:55 -04:00
dca
devfreq
PM / devfreq: constify attribute_group structures.
2017-07-06 10:17:24 +09:00
dio
dma
dmaengine: tegra210-adma: fix of_irq_get() error check
2017-08-09 11:39:16 +05:30
dma-buf
dma-buf/sync_file: Allow multiple sync_files to wrap a single dma-fence
2017-07-31 10:55:24 -03:00
edac
EDAC, pnd2: Fix Apollo Lake DIMM detection
2017-06-29 10:37:50 +02:00
eisa
extcon
firewire
firmware
efi: avoid fortify checks in EFI stub
2017-07-12 16:26:02 -07:00
fmc
fpga
fsi
drivers/fsi: fix fsi_slave_mode prototype
2017-07-17 16:13:54 +02:00
gpio
gpio: mvebu: Fix cause computation in irq handler
2017-08-14 15:00:43 +02:00
gpu
Merge tag 'drm-misc-fixes-2017-08-24' of git://anongit.freedesktop.org/git/drm-misc into drm-fixes
2017-08-25 09:29:38 +10:00
hid
HID: ortek: add one more buggy device
2017-07-24 17:38:21 +02:00
hsi
HSI changes for the v4.13 series
2017-07-04 14:28:22 -07:00
hv
vmbus: re-enable channel tasklet
2017-07-17 15:00:47 +02:00
hwmon
hwmon: (applesmc) Avoid buffer overruns
2017-07-15 16:38:56 -07:00
hwspinlock
hwtracing
Char/Misc patches for 4.13-rc1
2017-07-03 20:55:59 -07:00
i2c
i2c: designware: Fix runtime PM for I2C slave mode
2017-08-17 17:55:29 +02:00
ide
ide: avoid warning for timings calculation
2017-07-21 04:37:22 +01:00
idle
intel_idle: Use more common logging style
2017-06-29 22:58:35 +02:00
iio
iio: magnetometer: st_magn: remove ihl property for LSM303AGR
2017-08-20 15:21:49 +01:00
infiniband
IB/mlx5: Always return success for RoCE modify port
2017-08-24 15:33:33 -04:00
input
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2017-08-26 12:48:29 -07:00
iommu
iommu: Fix wrong freeing of iommu_device->dev
2017-08-15 13:58:48 +02:00
ipack
irqchip
irqchip fixes for 4.13
2017-08-14 09:34:10 +02:00
isdn
mISDN: Fix null pointer dereference at mISDN_FsmNew
2017-08-11 14:56:23 -07:00
leds
LED updates for 4.13
2017-07-06 11:32:40 -07:00
lguest
lightnvm
lightnvm: pblk: advance bio according to lba index
2017-07-28 08:06:00 -06:00
macintosh
Merge branch 'work.misc-set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2017-07-05 13:13:32 -07:00
mailbox
mailbox: pcc: Fix crash when request PCC channel 0
2017-07-26 02:11:47 +02:00
mcb
md
dax: remove the pmem_dax_ops->flush abstraction
2017-09-11 11:00:55 -04:00
media
media: platform: davinci: drop VPFE_CMD_S_CCDC_RAW_PARAMS
2017-07-26 06:14:33 -04:00
memory
memory: atmel-ebi: Fix smc cycle xlate converter
2017-07-26 22:37:54 +02:00
memstick
message
mfd
ARM: SoC fixes for 4.13
2017-08-24 14:01:18 -07:00
misc
mei: exclude device from suspend direct complete optimization
2017-08-10 14:13:18 -07:00
mmc
mmc: block: prevent propagating R1_OUT_OF_RANGE for open-ending mode
2017-08-21 13:32:31 +02:00
mtd
mtd: nand: atmel: Relax tADL_min constraint
2017-08-24 20:59:50 -07:00
mux
mux: mux-core: unregister mux_class in mux_exit()
2017-07-17 16:38:35 +02:00
net
net/mlx4_core: Enable 4K UAR if SRIOV module parameter is not enabled
2017-08-18 16:15:37 -07:00
nfc
NFC 4.13 pull request
2017-07-01 14:30:39 -07:00
ntb
ntb: transport shouldn't disable link due to bogus values in SPADs
2017-08-01 13:31:44 -04:00
nubus
nvdimm
dax: remove the pmem_dax_ops->flush abstraction
2017-09-11 11:00:55 -04:00
nvme
nvme-pci: set cqe_seen on polled completions
2017-08-18 09:19:39 +02:00
nvmem
nvmem: rockchip-efuse: amend compatible rk322x-efuse to rk3228-efuse
2017-07-17 16:15:57 +02:00
of
of: fix DMA mask generation
2017-08-17 10:23:45 +02:00
oprofile
parisc
parisc: pci memory bar assignment fails with 64bit kernels on dino/cujo
2017-08-16 09:50:39 +02:00
parport
pci
pci-v4.13-fixes-3
2017-08-26 12:46:14 -07:00
pcmcia
perf
drivers/perf: arm_pmu: Request PMU SPIs with IRQF_PER_CPU
2017-07-27 13:43:22 +01:00
phy
phy: bcm-ns-usb3: fix MDIO_BUS dependency
2017-07-27 17:20:19 -07:00
pinctrl
Pin control fixes for the v4.13 cycle:
2017-08-09 14:30:34 -07:00
platform
platform/x86: intel-vbtn: match power button on press rather than release
2017-08-05 14:37:19 -07:00
pnp
This is the bulk of GPIO changes for the v4.13 series:
2017-07-07 12:40:27 -07:00
power
power supply and reset changes for the v4.13 series (part 2)
2017-07-13 11:47:59 -07:00
powercap
powercap/RAPL: prevent overridding bits outside of the mask
2017-06-28 00:38:34 +02:00
pps
ps3
ptp
ptp: introduce ptp auxiliary worker
2017-08-01 15:22:55 -07:00
pwm
pwm: Changes for v4.13-rc1
2017-07-13 11:49:52 -07:00
rapidio
ras
arm64 updates for 4.13:
2017-07-05 17:09:27 -07:00
regulator
Merge remote-tracking branches 'regulator/topic/settle', 'regulator/topic/tps65910' and 'regulator/topic/tps65917' into regulator-next
2017-07-03 16:52:21 +01:00
remoteproc
remoteproc/keystone: Fix circular dependencies for ARM configs
2017-06-27 16:21:34 -07:00
reset
ARM: SoC driver updates
2017-07-04 14:47:47 -07:00
rpmsg
rpmsg updates for v4.13
2017-07-06 15:38:31 -07:00
rtc
rtc: ds1307: fix regmap config
2017-08-21 11:08:03 +02:00
s390
s390/qeth: fix L3 next-hop in xmit qeth hdr
2017-08-07 11:24:37 -07:00
sbus
sbus: Convert to using %pOF instead of full_name
2017-07-20 12:37:10 -07:00
scsi
SCSI fixes on 20170823
2017-08-23 11:34:40 -07:00
sfi
sh
drivers/sh/intc/virq.c: delete an error message for a failed memory allocation in add_virq_to_pirq()
2017-07-06 16:24:30 -07:00
sn
soc
soc: ti: knav: Add a NULL pointer check for kdev in knav_pool_create
2017-08-21 09:19:50 +02:00
spi
Merge branch 'for-spi' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2017-07-08 10:41:53 -07:00
spmi
spmi: pmic-arb: Always allocate ppid_to_apid table
2017-07-17 15:00:47 +02:00
ssb
staging
staging: rtl8188eu: add RNX-N150NUB support
2017-08-18 16:01:46 -07:00
target
target: Fix node_acl demo-mode + uncached dynamic shutdown regression
2017-08-09 20:55:19 -07:00
tc
tee
thermal
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
2017-07-14 13:12:32 -07:00
thunderbolt
char/misc fixes for 4.13-rc5
2017-08-13 12:41:58 -07:00
tty
pty: Repair TIOCGPTPEER
2017-08-24 13:23:03 -07:00
uio
usb
USB fixes for 4.13-rc5
2017-08-13 12:27:42 -07:00
uwb
driver core patches for 4.13-rc1
2017-07-03 20:27:48 -07:00
vfio
vfio/pci: Fix handling of RC integrated endpoint PCIe capability size
2017-07-27 10:39:33 -06:00
vhost
Revert "vhost: cache used event for better performance"
2017-07-29 14:15:56 -07:00
video
efifb: allow user to disable write combined mapping.
2017-07-31 18:45:41 +02:00
virt
virtio
virtio_pci: fix cpu affinity support
2017-08-25 21:38:26 +03:00
vlynq
vme
w1
w1: omap-hdq: fix error return code in omap_hdq_probe()
2017-07-17 16:48:15 +02:00
watchdog
Merge git://www.linux-watchdog.org/linux-watchdog
2017-07-11 09:59:37 -07:00
xen
Kbuild fixes for v4.13
2017-08-24 14:22:27 -07:00
zorro
Kconfig
Makefile