Skip to content

Commit

Permalink
udf: Add readpages support for udf.
Browse files Browse the repository at this point in the history
Use mpage_readpages() instead of multiple calls to udf_readpage() to reduce the
CPU utilization and make performance higher.

Signed-off-by: Namjae Jeon <[email protected]>
Signed-off-by: Jan Kara <[email protected]>
  • Loading branch information
namjaejeon authored and jankara committed Oct 5, 2011
1 parent 3ee77f2 commit bc11232
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion fs/udf/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
#include <linux/writeback.h>
#include <linux/slab.h>
#include <linux/crc-itu-t.h>
#include <linux/mpage.h>

#include "udf_i.h"
#include "udf_sb.h"
Expand Down Expand Up @@ -104,7 +105,13 @@ static int udf_writepage(struct page *page, struct writeback_control *wbc)

static int udf_readpage(struct file *file, struct page *page)
{
return block_read_full_page(page, udf_get_block);
return mpage_readpage(page, udf_get_block);
}

static int udf_readpages(struct file *file, struct address_space *mapping,
struct list_head *pages, unsigned nr_pages)
{
return mpage_readpages(mapping, pages, nr_pages, udf_get_block);
}

static int udf_write_begin(struct file *file, struct address_space *mapping,
Expand Down Expand Up @@ -139,6 +146,7 @@ static sector_t udf_bmap(struct address_space *mapping, sector_t block)

const struct address_space_operations udf_aops = {
.readpage = udf_readpage,
.readpages = udf_readpages,
.writepage = udf_writepage,
.write_begin = udf_write_begin,
.write_end = generic_write_end,
Expand Down

0 comments on commit bc11232

Please sign in to comment.