Эх сурвалжийг харах

[PATCH] fat: add the read/writepages()

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
OGAWA Hirofumi 19 жил өмнө
parent
commit
a5425d2927
1 өөрчлөгдсөн 16 нэмэгдсэн , 1 устгасан
  1. 16 1
      fs/fat/inode.c

+ 16 - 1
fs/fat/inode.c

@@ -18,6 +18,7 @@
 #include <linux/seq_file.h>
 #include <linux/seq_file.h>
 #include <linux/msdos_fs.h>
 #include <linux/msdos_fs.h>
 #include <linux/pagemap.h>
 #include <linux/pagemap.h>
+#include <linux/mpage.h>
 #include <linux/buffer_head.h>
 #include <linux/buffer_head.h>
 #include <linux/mount.h>
 #include <linux/mount.h>
 #include <linux/vfs.h>
 #include <linux/vfs.h>
@@ -90,9 +91,21 @@ static int fat_writepage(struct page *page, struct writeback_control *wbc)
 	return block_write_full_page(page, fat_get_block, wbc);
 	return block_write_full_page(page, fat_get_block, wbc);
 }
 }
 
 
+static int fat_writepages(struct address_space *mapping,
+			  struct writeback_control *wbc)
+{
+	return mpage_writepages(mapping, wbc, fat_get_block);
+}
+
 static int fat_readpage(struct file *file, struct page *page)
 static int fat_readpage(struct file *file, struct page *page)
 {
 {
-	return block_read_full_page(page, fat_get_block);
+	return mpage_readpage(page, fat_get_block);
+}
+
+static int fat_readpages(struct file *file, struct address_space *mapping,
+			 struct list_head *pages, unsigned nr_pages)
+{
+	return mpage_readpages(mapping, pages, nr_pages, fat_get_block);
 }
 }
 
 
 static int fat_prepare_write(struct file *file, struct page *page,
 static int fat_prepare_write(struct file *file, struct page *page,
@@ -122,7 +135,9 @@ static sector_t _fat_bmap(struct address_space *mapping, sector_t block)
 
 
 static struct address_space_operations fat_aops = {
 static struct address_space_operations fat_aops = {
 	.readpage	= fat_readpage,
 	.readpage	= fat_readpage,
+	.readpages	= fat_readpages,
 	.writepage	= fat_writepage,
 	.writepage	= fat_writepage,
+	.writepages	= fat_writepages,
 	.sync_page	= block_sync_page,
 	.sync_page	= block_sync_page,
 	.prepare_write	= fat_prepare_write,
 	.prepare_write	= fat_prepare_write,
 	.commit_write	= fat_commit_write,
 	.commit_write	= fat_commit_write,