projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
block: Copy a user iovec if it includes gaps
[deliverable/linux.git]
/
block
/
bounce.c
diff --git
a/block/bounce.c
b/block/bounce.c
index b17311227c12764f18760ee4ce71fa828f939f45..2c310ea007ee3653b085c1efe9d195b18772be85 100644
(file)
--- a/
block/bounce.c
+++ b/
block/bounce.c
@@
-123,7
+123,7
@@
static void copy_to_high_bio_irq(struct bio *to, struct bio *from)
}
}
}
}
-static void bounce_end_io(struct bio *bio, mempool_t *pool
, int err
)
+static void bounce_end_io(struct bio *bio, mempool_t *pool)
{
struct bio *bio_orig = bio->bi_private;
struct bio_vec *bvec, *org_vec;
{
struct bio *bio_orig = bio->bi_private;
struct bio_vec *bvec, *org_vec;
@@
-141,39
+141,40
@@
static void bounce_end_io(struct bio *bio, mempool_t *pool, int err)
mempool_free(bvec->bv_page, pool);
}
mempool_free(bvec->bv_page, pool);
}
- bio_endio(bio_orig, err);
+ bio_orig->bi_error = bio->bi_error;
+ bio_endio(bio_orig);
bio_put(bio);
}
bio_put(bio);
}
-static void bounce_end_io_write(struct bio *bio
, int err
)
+static void bounce_end_io_write(struct bio *bio)
{
{
- bounce_end_io(bio, page_pool
, err
);
+ bounce_end_io(bio, page_pool);
}
}
-static void bounce_end_io_write_isa(struct bio *bio
, int err
)
+static void bounce_end_io_write_isa(struct bio *bio)
{
{
- bounce_end_io(bio, isa_page_pool
, err
);
+ bounce_end_io(bio, isa_page_pool);
}
}
-static void __bounce_end_io_read(struct bio *bio, mempool_t *pool
, int err
)
+static void __bounce_end_io_read(struct bio *bio, mempool_t *pool)
{
struct bio *bio_orig = bio->bi_private;
{
struct bio *bio_orig = bio->bi_private;
- if (
test_bit(BIO_UPTODATE, &bio->bi_flags)
)
+ if (
!bio->bi_error
)
copy_to_high_bio_irq(bio_orig, bio);
copy_to_high_bio_irq(bio_orig, bio);
- bounce_end_io(bio, pool
, err
);
+ bounce_end_io(bio, pool);
}
}
-static void bounce_end_io_read(struct bio *bio
, int err
)
+static void bounce_end_io_read(struct bio *bio)
{
{
- __bounce_end_io_read(bio, page_pool
, err
);
+ __bounce_end_io_read(bio, page_pool);
}
}
-static void bounce_end_io_read_isa(struct bio *bio
, int err
)
+static void bounce_end_io_read_isa(struct bio *bio)
{
{
- __bounce_end_io_read(bio, isa_page_pool
, err
);
+ __bounce_end_io_read(bio, isa_page_pool);
}
#ifdef CONFIG_NEED_BOUNCE_POOL
}
#ifdef CONFIG_NEED_BOUNCE_POOL
@@
-185,7
+186,7
@@
static int must_snapshot_stable_pages(struct request_queue *q, struct bio *bio)
if (!bdi_cap_stable_pages_required(&q->backing_dev_info))
return 0;
if (!bdi_cap_stable_pages_required(&q->backing_dev_info))
return 0;
- return
test_bit(BIO_SNAP_STABLE, &bio->bi_flags
);
+ return
bio_flagged(bio, BIO_SNAP_STABLE
);
}
#else
static int must_snapshot_stable_pages(struct request_queue *q, struct bio *bio)
}
#else
static int must_snapshot_stable_pages(struct request_queue *q, struct bio *bio)
This page took
0.039241 seconds
and
5
git commands to generate.