linux/drivers
John Garry ac30cd3043 nvme: stop using AWUPF
As described at [0], much of the atomic write parts of the specification
are lacking.

For now, there is nothing which we can do in software about the lack of
a dedicated NVMe write atomic command.

As for reading the atomic write limits, it is felt that the per-namespace
values are mostly properly specified and it is assumed that they are
properly implemented.

The specification of NAWUPF is quite clear. However the specification of
NABSPF is less clear. The lack of clarity in NABSPF comes from deciding
whether NABSPF applies when NSABP is 0 - it is assumed that NSABPF does
not apply when NSABP is 0.

As for the per-controller AWUPF, how this value applies to shared
namespaces is missing in the specification. Furthermore, the value is in
terms of logical blocks, which is an NS entity.

Since AWUPF is so poorly defined, stop using it already together.
Hopefully this will force vendors to implement NAWUPF support always.

Note that AWUPF not only effects atomic write support, but also the
physical block size reported for the device.

To help users know this restriction, log an info message per NS.

[0] https://lore.kernel.org/linux-nvme/20250707141834.GA30198@lst.de/

Tested-by: Nilay Shroff <nilay@linux.ibm.com>
Reviewed-by: Nilay Shroff <nilay@linux.ibm.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: John Garry <john.g.garry@oracle.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
2026-01-28 07:02:38 -08:00
..
accel accel/amdxdna: Block running under a hypervisor 2025-12-15 13:00:03 -06:00
accessibility
acpi ACPI: PCC: Fix race condition by removing static qualifier 2025-12-15 13:00:33 +01:00
amba soc: driver updates for 6.19 2025-12-05 17:29:04 -08:00
android Char/Misc/IIO driver updates for 6.19-rc1 2025-12-06 18:34:24 -08:00
ata ata: libata-core: Disable LPM on ST2000DM008-2FR102 2025-12-16 14:23:10 +09:00
atm atm/fore200e: Fix possible data race in fore200e_open() 2025-11-25 12:39:26 +01:00
auxdisplay
base PM: runtime: Do not clear needs_force_resume with enabled runtime PM 2025-12-16 12:58:57 +01:00
bcma
block ublk: add UBLK_CMD_TRY_STOP_DEV command 2026-01-12 15:07:31 -07:00
bluetooth Bluetooth: btusb: Add new VID/PID 13d3/3533 for RTL8821CE 2025-12-01 16:21:16 -05:00
bus Char/Misc/IIO driver updates for 6.19-rc1 2025-12-06 18:34:24 -08:00
cache cache: Support cache maintenance for HiSilicon SoC Hydra Home Agent 2025-11-21 18:42:02 +00:00
cdrom
cdx
char Char/Misc/IIO driver updates for 6.19-rc1 2025-12-06 18:34:24 -08:00
clk This pull request is entirely SoC clk drivers, not for lack of trying to modify 2025-12-08 09:38:52 +09:00
clocksource soc: driver updates for 6.19 2025-12-05 17:29:04 -08:00
comedi Char/Misc/IIO driver updates for 6.19-rc1 2025-12-06 18:34:24 -08:00
connector
counter
cpufreq cpufreq: dt-platdev: Fix creating device on OPPv1 platforms 2025-12-16 07:59:30 -06:00
cpuidle soc: driver updates for 6.19 2025-12-05 17:29:04 -08:00
crypto tsm for 6.19 2025-12-06 10:15:41 -08:00
cxl soc: driver updates for 6.19, part 2 2025-12-05 17:47:59 -08:00
dax Significant patch series in this merge are as follows: 2025-12-05 13:52:43 -08:00
dca
devfreq PM / devfreq: Fix typo in DFSO_DOWNDIFFERENTIAL macro name 2025-11-26 13:58:59 +09:00
dibs dibs: Remove KMSG_COMPONENT macro 2025-11-27 18:11:43 -08:00
dio
dma dmaengine updates for v6.19 2025-12-09 06:35:53 +09:00
dma-buf VFIO updates for v6.19-rc1 2025-12-04 18:42:48 -08:00
dpll tools: ynl-gen: add regeneration comment 2025-11-25 19:20:42 -08:00
edac bitmap updates for v6.19 2025-12-06 09:01:27 -08:00
eisa
extcon
firewire firewire: nosy: Fix dma_free_coherent() size 2025-12-26 22:04:03 +09:00
firmware arm64: efi: Fix NULL pointer dereference by initializing user_ns 2025-12-24 21:32:57 +01:00
fpga
fsi
fwctl
gnss
gpib staging: gpib: Clean-up commented-out code 2025-11-26 14:28:19 +01:00
gpio gpio updates for v6.19-rc1 2025-12-13 16:36:57 +12:00
gpu Merge tag 'drm-msm-fixes-2025-12-26' of https://gitlab.freedesktop.org/drm/msm into drm-fixes 2025-12-27 16:00:47 +10:00
greybus greybus: gb-beagleplay: Fix timeout handling in bootloader functions 2025-11-26 14:40:59 +01:00
hid Input updates for v6.19-rc1 2025-12-21 15:21:10 -08:00
hsi
hte
hv hyperv-next for v6.19 2025-12-09 06:10:17 +09:00
hwmon hwmon: (ltc4282): Fix reset_history file permissions 2025-12-19 08:44:22 -08:00
hwspinlock
hwtracing Char/Misc/IIO driver updates for 6.19-rc1 2025-12-06 18:34:24 -08:00
i2c i2c: i801: Add support for Intel Nova Lake-S 2025-12-17 00:28:51 +01:00
i3c i3c: adi: Fix confusing cleanup.h syntax 2025-12-12 23:59:39 +01:00
idle
iio Char/Misc/IIO driver updates for 6.19-rc1 2025-12-06 18:34:24 -08:00
infiniband RDMA v6.19 merge window pull request 2025-12-04 18:54:37 -08:00
input Input updates for v6.19-rc1 2025-12-21 15:21:10 -08:00
interconnect
iommu Miscellaneous x86 fixes: 2025-12-21 14:41:29 -08:00
ipack
irqchip Misc fixes: 2025-12-14 06:07:09 +12:00
isdn
leds soc: driver updates for 6.19 2025-12-05 17:29:04 -08:00
macintosh soc: driver updates for 6.19 2025-12-05 17:29:04 -08:00
mailbox mailbox: th1520: fix clock imbalance on probe failure 2025-11-28 09:47:44 -06:00
mcb
md Merge branch 'block-6.19' into for-7.0/block 2026-01-11 13:16:36 -07:00
media Modules changes for v6.19-rc1 2025-12-06 08:27:07 -08:00
memory soc: driver updates for 6.19 2025-12-05 17:29:04 -08:00
memstick
message
mfd MFD for v6.19 2025-12-04 15:18:33 -08:00
misc lkdtm/bugs: Do not confuse the clang/objtool with busy wait loop 2025-12-19 15:09:09 +00:00
mmc mmc: sdhci-esdhc-imx: add alternate ARCH_S32 dependency to Kconfig 2025-12-17 14:14:51 +01:00
most
mtd This pull request contains the following changes for UBI and UBIFS: 2025-12-09 08:50:27 +09:00
mux mux: mmio: Add suspend and resume support 2025-11-26 15:09:30 +01:00
net Including fixes from netfilter and CAN. 2025-12-19 07:55:35 +12:00
nfc nfc: pn533: Fix error code in pn533_acr122_poweron_rdr() 2025-12-11 01:40:00 -08:00
ntb
nubus
nvdimm NVDIMM changes for 6.19 2025-12-06 09:32:25 -08:00
nvme nvme: stop using AWUPF 2026-01-28 07:02:38 -08:00
nvmem Char/Misc/IIO driver updates for 6.19-rc1 2025-12-06 18:34:24 -08:00
of arm64: kdump: Fix elfcorehdr overlap caused by reserved memory processing reorder 2025-12-16 07:59:30 -06:00
opp
parisc parisc: Set valid bit in high byte of 64‑bit physical address 2025-12-19 13:56:17 +01:00
parport
pci pci-v6.19-fixes-1 2025-12-13 16:29:22 +12:00
pcmcia
peci Char/Misc/IIO driver updates for 6.19-rc1 2025-12-06 18:34:24 -08:00
perf arm64 updates for 6.19: 2025-12-02 17:03:55 -08:00
phy
pinctrl Pin control changes for the v6.19 kernel cycle: 2025-12-09 06:45:00 +09:00
platform platform-drivers-x86 for v6.19-1 2025-12-10 06:38:17 +09:00
pmdomain pmdomain core: 2025-12-04 13:50:39 -08:00
pnp
power soc: driver updates for 6.19 2025-12-05 17:29:04 -08:00
powercap powercap: intel_rapl: Fix possible recursive lock warning 2025-12-17 17:24:28 +01:00
pps printk changes for 6.19 2025-12-03 12:42:36 -08:00
ps3
ptp Networking changes for 6.19. 2025-12-03 17:24:33 -08:00
pwm pwm: th1520: Fix missing Kconfig dependencies 2025-12-13 16:41:50 +12:00
rapidio
ras EFI updates for v6.19: 2025-12-04 17:10:08 -08:00
regulator regulator: fp9931: fix regulator node pointer 2025-12-24 11:31:29 +00:00
remoteproc remoteproc: qcom_q6v5_wcss: use optional reset for wcss_q6_bcr_reset 2025-11-29 15:20:23 -06:00
resctrl
reset This pull request is entirely SoC clk drivers, not for lack of trying to modify 2025-12-08 09:38:52 +09:00
rpmsg rpmsg: glink: remove duplicate code for rpmsg device remove 2025-11-26 10:16:10 -06:00
rtc RTC for 6.19 2025-12-13 17:09:06 +12:00
s390 s390: Unmap early KASAN shadow on memory offlining 2025-12-07 16:15:19 +01:00
sbus
scsi scsi: sg: Fix occasional bogus elapsed time that exceeds timeout 2025-12-16 21:24:28 -05:00
sh
siox
slimbus Networking changes for 6.19. 2025-12-03 17:24:33 -08:00
soc bitmap updates for v6.19 2025-12-06 09:01:27 -08:00
soundwire soundwire: intel_ace2x: handle multi BPT sections 2025-12-08 12:37:27 +05:30
spi spi: cadence-quadspi: Prevent indirect read 2025-12-23 15:18:22 +00:00
spmi
ssb
staging Staging driver updates for 6.19-rc1 2025-12-06 18:52:00 -08:00
target SCSI misc on 20251214 2025-12-14 15:35:35 +12:00
tc
tee QCOMTEE fixes2 for v6.18 2025-11-21 21:27:20 +01:00
thermal thermal: core: Fix typo and indentation in comments 2025-12-15 12:47:39 +01:00
thunderbolt USB/Thunderbolt changes for 6.19-rc1 2025-12-06 18:42:12 -08:00
tty serial: xilinx_uartps: fix rs485 delay_rts_after_send 2025-12-23 11:55:16 +01:00
ufs scsi: ufs: core: Add ufshcd_update_evt_hist() for UFS suspend error 2025-12-16 22:24:36 -05:00
uio uio: Add SVA support for PCI devices via uio_pci_generic_sva.c 2025-11-26 15:10:39 +01:00
usb Merge patch series "usb: typec: ucsi: revert broken buffer management" 2025-12-23 15:59:03 +01:00
vdpa Significant patch series in this merge are as follows: 2025-12-05 13:52:43 -08:00
vfio drm next part 2 for 6.19-rc1 2025-12-04 19:42:53 -08:00
vhost vhost/vsock: improve RCU read sections around vhost_vsock_get() 2025-12-24 08:02:57 -05:00
video fbdev fixes & enhancements for 6.19-rc1: 2025-12-06 15:41:26 -08:00
virt virt: Fix Kconfig warning when selecting TSM without VIRT_DRIVERS 2025-12-04 17:34:16 -08:00
virtio virtio: clean up features qword/dword terms 2025-11-27 02:03:07 -05:00
w1
watchdog linux-watchdog 6.19-rc1 tag 2025-12-06 10:00:49 -08:00
xen xen: branch for v6.19-rc1 2025-12-06 10:49:19 -08:00
zorro
Kconfig Staging driver updates for 6.19-rc1 2025-12-06 18:52:00 -08:00
Makefile Staging driver updates for 6.19-rc1 2025-12-06 18:52:00 -08:00