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
File Mode Size
netfilter
Kconfig -rw-r--r-- 7.6 KB
Makefile -rw-r--r-- 1.4 KB
addrconf.c -rw-r--r-- 114.5 KB
addrconf_core.c -rw-r--r-- 2.5 KB
addrlabel.c -rw-r--r-- 14.2 KB
af_inet6.c -rw-r--r-- 29.8 KB
ah6.c -rw-r--r-- 17.4 KB
anycast.c -rw-r--r-- 10.9 KB
datagram.c -rw-r--r-- 20.0 KB
esp6.c -rw-r--r-- 15.7 KB
exthdrs.c -rw-r--r-- 21.9 KB
exthdrs_core.c -rw-r--r-- 3.4 KB
fib6_rules.c -rw-r--r-- 6.9 KB
icmp.c -rw-r--r-- 21.8 KB
inet6_connection_sock.c -rw-r--r-- 7.0 KB
inet6_hashtables.c -rw-r--r-- 8.1 KB
ip6_fib.c -rw-r--r-- 35.9 KB
ip6_flowlabel.c -rw-r--r-- 18.5 KB
ip6_gre.c -rw-r--r-- 41.7 KB
ip6_input.c -rw-r--r-- 8.0 KB
ip6_output.c -rw-r--r-- 41.6 KB
ip6_tunnel.c -rw-r--r-- 38.5 KB
ip6mr.c -rw-r--r-- 51.0 KB
ipcomp6.c -rw-r--r-- 5.5 KB
ipv6_sockglue.c -rw-r--r-- 27.9 KB
mcast.c -rw-r--r-- 62.5 KB
mip6.c -rw-r--r-- 13.2 KB
ndisc.c -rw-r--r-- 42.0 KB
netfilter.c -rw-r--r-- 5.1 KB
proc.c -rw-r--r-- 10.5 KB
protocol.c -rw-r--r-- 1.5 KB
raw.c -rw-r--r-- 31.1 KB
reassembly.c -rw-r--r-- 18.5 KB
route.c -rw-r--r-- 73.6 KB
sit.c -rw-r--r-- 29.7 KB
syncookies.c -rw-r--r-- 7.3 KB
sysctl_net_ipv6.c -rw-r--r-- 3.3 KB
tcp_ipv6.c -rw-r--r-- 53.9 KB
tunnel6.c -rw-r--r-- 4.6 KB
udp.c -rw-r--r-- 39.4 KB
udp_impl.h -rw-r--r-- 1.4 KB
udplite.c -rw-r--r-- 3.4 KB
xfrm6_input.c -rw-r--r-- 3.0 KB
xfrm6_mode_beet.c -rw-r--r-- 3.2 KB
xfrm6_mode_ro.c -rw-r--r-- 2.3 KB
xfrm6_mode_transport.c -rw-r--r-- 2.3 KB
xfrm6_mode_tunnel.c -rw-r--r-- 3.0 KB
xfrm6_output.c -rw-r--r-- 3.6 KB
xfrm6_policy.c -rw-r--r-- 9.0 KB
xfrm6_state.c -rw-r--r-- 4.6 KB
xfrm6_tunnel.c -rw-r--r-- 9.9 KB

back to top