page-io.c (aa7eb8e78d8ecd6cd0475d86ea8385ff9cb47ece) page-io.c (60ad4466821a96913a9b567115e194ed1087c2d7)
1/*
2 * linux/fs/ext4/page-io.c
3 *
4 * This contains the new page_io functions for ext4
5 *
6 * Written by Theodore Ts'o, 2010.
7 */
8

--- 271 unchanged lines hidden (view full) ---

280 ext4_io_end_t *io_end;
281 struct page *page = bh->b_page;
282 int nvecs = bio_get_nr_vecs(bh->b_bdev);
283 struct bio *bio;
284
285 io_end = ext4_init_io_end(inode, GFP_NOFS);
286 if (!io_end)
287 return -ENOMEM;
1/*
2 * linux/fs/ext4/page-io.c
3 *
4 * This contains the new page_io functions for ext4
5 *
6 * Written by Theodore Ts'o, 2010.
7 */
8

--- 271 unchanged lines hidden (view full) ---

280 ext4_io_end_t *io_end;
281 struct page *page = bh->b_page;
282 int nvecs = bio_get_nr_vecs(bh->b_bdev);
283 struct bio *bio;
284
285 io_end = ext4_init_io_end(inode, GFP_NOFS);
286 if (!io_end)
287 return -ENOMEM;
288 do {
289 bio = bio_alloc(GFP_NOIO, nvecs);
290 nvecs >>= 1;
291 } while (bio == NULL);
292
288 bio = bio_alloc(GFP_NOIO, min(nvecs, BIO_MAX_PAGES));
293 bio->bi_sector = bh->b_blocknr * (bh->b_size >> 9);
294 bio->bi_bdev = bh->b_bdev;
295 bio->bi_private = io->io_end = io_end;
296 bio->bi_end_io = ext4_end_bio;
297
298 io_end->offset = (page->index << PAGE_CACHE_SHIFT) + bh_offset(bh);
299
300 io->io_bio = bio;

--- 117 unchanged lines hidden ---
289 bio->bi_sector = bh->b_blocknr * (bh->b_size >> 9);
290 bio->bi_bdev = bh->b_bdev;
291 bio->bi_private = io->io_end = io_end;
292 bio->bi_end_io = ext4_end_bio;
293
294 io_end->offset = (page->index << PAGE_CACHE_SHIFT) + bh_offset(bh);
295
296 io->io_bio = bio;

--- 117 unchanged lines hidden ---