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
Kconfig -rw-r--r-- 4.8 KB
Makefile -rw-r--r-- 392 bytes
TODO -rw-r--r-- 772 bytes
af_ax25.c -rw-r--r-- 44.0 KB
ax25_addr.c -rw-r--r-- 6.0 KB
ax25_dev.c -rw-r--r-- 4.7 KB
ax25_ds_in.c -rw-r--r-- 7.1 KB
ax25_ds_subr.c -rw-r--r-- 5.1 KB
ax25_ds_timer.c -rw-r--r-- 5.8 KB
ax25_iface.c -rw-r--r-- 4.9 KB
ax25_in.c -rw-r--r-- 10.5 KB
ax25_ip.c -rw-r--r-- 5.3 KB
ax25_out.c -rw-r--r-- 8.9 KB
ax25_route.c -rw-r--r-- 11.2 KB
ax25_std_in.c -rw-r--r-- 11.1 KB
ax25_std_subr.c -rw-r--r-- 2.3 KB
ax25_std_timer.c -rw-r--r-- 4.2 KB
ax25_subr.c -rw-r--r-- 6.9 KB
ax25_timer.c -rw-r--r-- 5.1 KB
ax25_uid.c -rw-r--r-- 4.9 KB
sysctl_net_ax25.c -rw-r--r-- 4.5 KB

back to top