X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=fs%2Fminix%2Finode.c;h=f4f3343b1800fa816e4e1d0e08e13fb1b36e2310;hb=4a66af9eaa9531372cfcb9e20103ed147c729ff9;hp=2f4d43a2a3105e76d00f98a3cf060c9f6ab250b2;hpb=5c34202b8bf942da411b6599668a76b07449bbfd;p=powerpc.git diff --git a/fs/minix/inode.c b/fs/minix/inode.c index 2f4d43a2a3..f4f3343b18 100644 --- a/fs/minix/inode.c +++ b/fs/minix/inode.c @@ -73,17 +73,16 @@ static void init_once(void * foo, struct kmem_cache * cachep, unsigned long flag { struct minix_inode_info *ei = (struct minix_inode_info *) foo; - if (flags & SLAB_CTOR_CONSTRUCTOR) - inode_init_once(&ei->vfs_inode); + inode_init_once(&ei->vfs_inode); } - + static int init_inodecache(void) { minix_inode_cachep = kmem_cache_create("minix_inode_cache", sizeof(struct minix_inode_info), 0, (SLAB_RECLAIM_ACCOUNT| SLAB_MEM_SPREAD), - init_once, NULL); + init_once); if (minix_inode_cachep == NULL) return -ENOMEM; return 0; @@ -347,24 +346,39 @@ static int minix_writepage(struct page *page, struct writeback_control *wbc) { return block_write_full_page(page, minix_get_block, wbc); } + static int minix_readpage(struct file *file, struct page *page) { return block_read_full_page(page,minix_get_block); } -static int minix_prepare_write(struct file *file, struct page *page, unsigned from, unsigned to) + +int __minix_write_begin(struct file *file, struct address_space *mapping, + loff_t pos, unsigned len, unsigned flags, + struct page **pagep, void **fsdata) +{ + return block_write_begin(file, mapping, pos, len, flags, pagep, fsdata, + minix_get_block); +} + +static int minix_write_begin(struct file *file, struct address_space *mapping, + loff_t pos, unsigned len, unsigned flags, + struct page **pagep, void **fsdata) { - return block_prepare_write(page,from,to,minix_get_block); + *pagep = NULL; + return __minix_write_begin(file, mapping, pos, len, flags, pagep, fsdata); } + static sector_t minix_bmap(struct address_space *mapping, sector_t block) { return generic_block_bmap(mapping,block,minix_get_block); } + static const struct address_space_operations minix_aops = { .readpage = minix_readpage, .writepage = minix_writepage, .sync_page = block_sync_page, - .prepare_write = minix_prepare_write, - .commit_write = generic_commit_write, + .write_begin = minix_write_begin, + .write_end = generic_write_end, .bmap = minix_bmap };