https://github.com/torvalds/linux
Revision ca64cae96037de16e4af92678814f5d4bf0c1c65 authored by NeilBrown on 21 November 2012, 05:33:40 UTC, committed by NeilBrown on 21 November 2012, 22:14:13 UTC
commit 9e44476851e91c86c98eb92b9bc27fb801f89072
    MD: raid5 avoid unnecessary zero page for trim

change raid5 to clear R5_Discard when the complete request is
handled rather than when submitting the per-device discard request.
However it did not clear R5_Discard for the parity device.

This means that if the stripe_head was reused before it expired from
the cache, the setting would be wrong and a hang would result.

Also if the R5_Uptodate bit happens to be set, R5_Discard again
won't be cleared.  But R5_Uptodate really should be clear at this point.

So make sure R5_Discard is cleared in all cases, and clear
R5_Uptodate when a 'discard' completes.

Signed-off-by: NeilBrown <neilb@suse.de>
1 parent ef5b7c6
History
Tip revision: ca64cae96037de16e4af92678814f5d4bf0c1c65 authored by NeilBrown on 21 November 2012, 05:33:40 UTC
md/raid5: Make sure we clear R5_Discard when discard is finished.
Tip revision: ca64cae
File Mode Size
Documentation
arch
block
crypto
drivers
firmware
fs
include
init
ipc
kernel
lib
mm
net
samples
scripts
security
sound
tools
usr
virt
.gitignore -rw-r--r-- 1.2 KB
.mailmap -rw-r--r-- 4.4 KB
COPYING -rw-r--r-- 18.3 KB
CREDITS -rw-r--r-- 92.7 KB
Kbuild -rw-r--r-- 2.5 KB
Kconfig -rw-r--r-- 252 bytes
MAINTAINERS -rw-r--r-- 221.8 KB
Makefile -rw-r--r-- 46.2 KB
README -rw-r--r-- 18.2 KB
REPORTING-BUGS -rw-r--r-- 3.3 KB

README

back to top