Commit b6a7f088 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] remove swap_get_block()

Patch from Christoph Hellwig removes swap_get_block().

I was sort-of hanging onto this function because it is a standard
get_block function, and maybe perhaps it could be used to make swap use
the regular filesystem I/O functions.  We don't want to do that, so
kill it.
parent f0e10c64
......@@ -15,37 +15,26 @@
#include <linux/pagemap.h>
#include <linux/swap.h>
#include <linux/bio.h>
#include <linux/buffer_head.h>
#include <asm/pgtable.h>
#include <linux/swapops.h>
static int
swap_get_block(struct inode *inode, sector_t iblock,
struct buffer_head *bh_result, int create)
{
struct swap_info_struct *sis;
swp_entry_t entry;
entry.val = iblock;
sis = get_swap_info_struct(swp_type(entry));
bh_result->b_bdev = sis->bdev;
bh_result->b_blocknr = map_swap_page(sis, swp_offset(entry));
bh_result->b_size = PAGE_SIZE;
set_buffer_mapped(bh_result);
return 0;
}
#include <linux/buffer_head.h> /* for block_sync_page() */
#include <asm/pgtable.h>
static struct bio *
get_swap_bio(int gfp_flags, struct page *page, bio_end_io_t end_io)
{
struct bio *bio;
struct buffer_head bh;
bio = bio_alloc(gfp_flags, 1);
if (bio) {
swap_get_block(NULL, page->index, &bh, 1);
bio->bi_sector = bh.b_blocknr * (PAGE_SIZE >> 9);
bio->bi_bdev = bh.b_bdev;
struct swap_info_struct *sis;
swp_entry_t entry;
entry.val = page->index;
sis = get_swap_info_struct(swp_type(entry));
bio->bi_sector = map_swap_page(sis, swp_offset(entry)) *
(PAGE_SIZE >> 9);
bio->bi_bdev = sis->bdev;
bio->bi_io_vec[0].bv_page = page;
bio->bi_io_vec[0].bv_len = PAGE_SIZE;
bio->bi_io_vec[0].bv_offset = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment