ia64/xen-unstable

changeset 4942:85e3c42fd78f

bitkeeper revision 1.1159.258.132 (428900ceGeeOt2WYcJ01WZMZCdJCHA)

Fix multi-page I/O accesses in the blkback driver in cases where we
receive partial-completion callbacks.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
author kaf24@firebug.cl.cam.ac.uk
date Mon May 16 20:21:34 2005 +0000 (2005-05-16)
parents 328fbee2128c
children 1fa301443996 a6552aac4737
files linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c
line diff
     1.1 --- a/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c	Mon May 16 16:45:19 2005 +0000
     1.2 +++ b/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c	Mon May 16 20:21:34 2005 +0000
     1.3 @@ -252,8 +252,9 @@ static void end_block_io_op(struct buffe
     1.4  #else
     1.5  static int end_block_io_op(struct bio *bio, unsigned int done, int error)
     1.6  {
     1.7 -    if ( done || error )
     1.8 -        __end_block_io_op(bio->bi_private, (done && !error));
     1.9 +    if ( bio->bi_size != 0 )
    1.10 +        return 1;
    1.11 +    __end_block_io_op(bio->bi_private, !error);
    1.12      bio_put(bio);
    1.13      return error;
    1.14  }