Searched hist:"708 e929513502fb050c0a3c3ee267cab5b056ded" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/drivers/md/ |
H A D | dm.c | diff 708e929513502fb050c0a3c3ee267cab5b056ded Wed Aug 11 22:14:00 CDT 2010 Mikulas Patocka <mpatocka@redhat.com> dm: skip second flush on bio unsupported error
When processing barriers, skip the second flush if processing the bio failed with -EOPNOTSUPP. This can happen with discard+barrier requests. If the device doesn't support discard, there would be two useless SYNCHRONIZE CACHE commands. The first dm_flush cannot be so easily optimized out, so we leave it there.
Previously, -EOPNOTSUPP could be received in dec_pending only with empty barriers and we ignored that error, assuming the device not supporting cache flushes has cache always consistent. With the addition of discard barriers, this -EOPNOTSUPP can also be generated by discards and we must record it in md->barrier_error for process_barrier.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
|