linux_dsm_epyc7002/drivers
Dan Williams e89f89629b md: handle_stripe5 - add request/completion logic for async check ops
Check operations are scheduled when the array is being resynced or an
explicit 'check/repair' command was sent to the array.  Previously check
operations would destroy the parity block in the cache such that even if
parity turned out to be correct the parity block would be marked
!R5_UPTODATE at the completion of the check.  When the operation can be
carried out by a dma engine the assumption is that it can check parity as a
read-only operation.  If raid5_run_ops notices that the check was handled
by hardware it will preserve the R5_UPTODATE status of the parity disk.

When a check operation determines that the parity needs to be repaired we
reuse the existing compute block infrastructure to carry out the operation.
Repair operations imply an immediate write back of the data, so to
differentiate a repair from a normal compute operation the
STRIPE_OP_MOD_REPAIR_PD flag is added.

Changelog:
* remove test_and_set/test_and_clear BUG_ONs, Neil Brown

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Acked-By: NeilBrown <neilb@suse.de>
2007-07-13 08:06:17 -07:00
..
acorn
acpi ACPI: fix acpi_osi=!Linux 2007-07-02 21:06:48 -07:00
amba
ata pata_pcmcia: Switch to ata_sff_port_start 2007-07-03 11:31:06 -04:00
atm potential compiler error, irqfunc caller sites update 2007-07-06 10:23:43 -07:00
auxdisplay
base firmware: remove orphaned Email 2007-06-08 12:41:08 -07:00
block loop: preallocate eight loop devices 2007-06-08 17:23:32 -07:00
bluetooth
cdrom potential parse error in ifdef part 3 2007-06-08 17:23:33 -07:00
char Add support SiS based XGI chips to SiS DRM. 2007-06-27 09:54:49 -07:00
clocksource
connector
cpufreq
crypto
dio
dma async_tx: add the async_tx api 2007-07-13 08:06:14 -07:00
edac
eisa
fc4
firewire firewire: add Kconfig help on building both stacks 2007-06-29 17:32:07 +02:00
firmware
hid
hwmon hwmon/coretemp: fix a broken error path 2007-06-24 08:59:10 -07:00
i2c
ide qd65xx: fix PIO mode selection 2007-07-08 15:21:58 +02:00
ieee1394 ieee1394: fix to ether1394_tx in ether1394.c 2007-06-16 12:43:20 +02:00
infiniband IPoIB/cm: Partial error clean up unmaps wrong address 2007-07-02 20:48:31 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2007-07-05 15:55:37 -07:00
isdn isdn/diva: fix section mismatch 2007-06-08 17:23:33 -07:00
kvm KVM: Prevent guest fpu state from leaking into the host 2007-06-15 12:30:59 +03:00
leds
macintosh x86_64: Fix only make Macintosh drivers default on Macs 2007-06-22 18:41:18 -07:00
mca
md md: handle_stripe5 - add request/completion logic for async check ops 2007-07-13 08:06:17 -07:00
media V4L/DVB (5822): Fix the return value in ttpci_budget_init() 2007-07-03 15:11:21 -03:00
message
mfd SM501: Check SM501 ID register on initialisation 2007-06-24 08:59:11 -07:00
misc Remove the blink driver 2007-07-04 15:24:39 -07:00
mmc mmc: get back read-only switch function 2007-06-13 19:11:20 +02:00
mtd
net potential compiler error, irqfunc caller sites update 2007-07-06 10:23:43 -07:00
nubus
oprofile
parisc [PARISC] stop lcd driver from stripping initial whitespace 2007-06-21 17:46:19 -04:00
parport
pci
pcmcia
pnp PNP SMCf010 quirk: work around Toshiba Portege 4000 ACPI issues 2007-07-06 10:23:43 -07:00
ps3
rapidio
rtc
s390 s390: netiucv inlining cleanup 2007-06-20 19:12:42 -04:00
sbus
scsi scsi disk help file is not complete 2007-07-02 10:12:34 -04:00
serial serial: clear proper MPSC interrupt cause bits 2007-06-28 11:38:29 -07:00
sh
sn
spi Blackfin SPI driver: fix bug SPI DMA incomplete transmission 2007-06-11 17:34:17 +08:00
tc potential parse error in ifdef part 3 2007-06-08 17:23:33 -07:00
telephony
usb potential compiler error, irqfunc caller sites update 2007-07-06 10:23:43 -07:00
video fix section mismatch in chipsfb 2007-06-28 11:34:54 -07:00
w1 w1_therm_read_bin: don't call flush_signals() 2007-06-28 11:38:19 -07:00
zorro
Kconfig
Makefile