On Mon, Jun 23, 2014 at 02:57:36PM +0200, Markus Armbruster wrote:
> Markus Armbruster writes:
>
> > Stefan Hajnoczi writes:
> >
> >> On Thu, Jun 05, 2014 at 02:15:36PM +0200, Markus Armbruster wrote:
> >>> +if (sector > total_sectors || nb_sectors > total_sectors - sector) {
> >>> +
Markus Armbruster writes:
> Stefan Hajnoczi writes:
>
>> On Thu, Jun 05, 2014 at 02:15:36PM +0200, Markus Armbruster wrote:
>>> +if (sector > total_sectors || nb_sectors > total_sectors - sector) {
>>> +return false;
>>> +}
>>
>> if (sector >= total_sectors || ...) {
>
> I suspec
Stefan Hajnoczi writes:
> On Thu, Jun 05, 2014 at 02:15:36PM +0200, Markus Armbruster wrote:
>> +if (sector > total_sectors || nb_sectors > total_sectors - sector) {
>> +return false;
>> +}
>
> if (sector >= total_sectors || ...) {
I suspect reading bdrv_check_byte_request() put
On Thu, Jun 05, 2014 at 02:15:36PM +0200, Markus Armbruster wrote:
> +if (sector > total_sectors || nb_sectors > total_sectors - sector) {
> +return false;
> +}
if (sector >= total_sectors || ...) {
pgpUGK7ac14gb.pgp
Description: PGP signature
On Thu, 06/05 14:15, Markus Armbruster wrote:
> The block layer fails such reads and writes just fine. However, they
> then get treated like valid operations that fail: the error action
> gets executed. Unwanted; reporting the error to the guest is the only
> sensible action.
>
> Reject them bef
The block layer fails such reads and writes just fine. However, they
then get treated like valid operations that fail: the error action
gets executed. Unwanted; reporting the error to the guest is the only
sensible action.
Reject them before passing them to the block layer. This bypasses the
er