Vitaly Kuznetsov ad42d391ae xen/blkfront: improve protection against issuing unsupported REQ_FUA
Guard against issuing unsupported REQ_FUA and REQ_FLUSH was introduced
in d11e61583 and was factored out into blkif_request_flush_valid() in
0f1ca65ee. However:
1) This check in incomplete. In case we negotiated to feature_flush = REQ_FLUSH
   and flush_op = BLKIF_OP_FLUSH_DISKCACHE (so FUA is unsupported) FUA request
   will still pass the check.
2) blkif_request_flush_valid() is misnamed. It is bool but returns true when
   the request is invalid.
3) When blkif_request_flush_valid() fails -EIO is being returned. It seems that
   -EOPNOTSUPP is more appropriate here.
Fix all of the above issues.

This patch is based on the original patch by Laszlo Ersek and a comment by
Jeff Moyer.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2014-12-10 12:20:07 -05:00
..
2014-08-21 20:42:01 -05:00
2013-04-09 14:13:19 -04:00
2014-08-08 15:57:28 -07:00
2011-08-08 11:40:15 +02:00
2014-08-08 15:57:28 -07:00
2014-01-30 16:56:55 -08:00
2013-06-29 12:46:45 +04:00
2014-01-30 16:56:55 -08:00
2014-11-04 13:18:52 -07:00
2013-11-08 09:10:30 -07:00
2014-10-31 15:49:45 -04:00