request.c (16217dc79dbc599b110dda26d0421df47904bba4) | request.c (491221f88d00651e449c9caf7415b6453c8a77b7) |
---|---|
1/* 2 * Main bcache entry point - handle a read or a write request and decide what to 3 * do with it; the make_request functions are called by the block layer. 4 * 5 * Copyright 2010, 2011 Kent Overstreet <kent.overstreet@gmail.com> 6 * Copyright 2012 Google, Inc. 7 */ 8 --- 680 unchanged lines hidden (view full) --- 689 690static void cached_dev_cache_miss_done(struct closure *cl) 691{ 692 struct search *s = container_of(cl, struct search, cl); 693 694 if (s->iop.replace_collision) 695 bch_mark_cache_miss_collision(s->iop.c, s->d); 696 | 1/* 2 * Main bcache entry point - handle a read or a write request and decide what to 3 * do with it; the make_request functions are called by the block layer. 4 * 5 * Copyright 2010, 2011 Kent Overstreet <kent.overstreet@gmail.com> 6 * Copyright 2012 Google, Inc. 7 */ 8 --- 680 unchanged lines hidden (view full) --- 689 690static void cached_dev_cache_miss_done(struct closure *cl) 691{ 692 struct search *s = container_of(cl, struct search, cl); 693 694 if (s->iop.replace_collision) 695 bch_mark_cache_miss_collision(s->iop.c, s->d); 696 |
697 if (s->iop.bio) { 698 int i; 699 struct bio_vec *bv; | 697 if (s->iop.bio) 698 bio_free_pages(s->iop.bio); |
700 | 699 |
701 bio_for_each_segment_all(bv, s->iop.bio, i) 702 __free_page(bv->bv_page); 703 } 704 | |
705 cached_dev_bio_complete(cl); 706} 707 708static void cached_dev_read_error(struct closure *cl) 709{ 710 struct search *s = container_of(cl, struct search, cl); 711 struct bio *bio = &s->bio.bio; 712 --- 452 unchanged lines hidden --- | 700 cached_dev_bio_complete(cl); 701} 702 703static void cached_dev_read_error(struct closure *cl) 704{ 705 struct search *s = container_of(cl, struct search, cl); 706 struct bio *bio = &s->bio.bio; 707 --- 452 unchanged lines hidden --- |