mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	fat: convert to new aops
Signed-off-by: Nick Piggin <npiggin@suse.de> Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									89e107877b
								
							
						
					
					
						commit
						d7777a25a0
					
				
					 1 changed files with 16 additions and 11 deletions
				
			
		| 
						 | 
				
			
			@ -141,19 +141,24 @@ static int fat_readpages(struct file *file, struct address_space *mapping,
 | 
			
		|||
	return mpage_readpages(mapping, pages, nr_pages, fat_get_block);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int fat_prepare_write(struct file *file, struct page *page,
 | 
			
		||||
			     unsigned from, unsigned to)
 | 
			
		||||
static int fat_write_begin(struct file *file, struct address_space *mapping,
 | 
			
		||||
			loff_t pos, unsigned len, unsigned flags,
 | 
			
		||||
			struct page **pagep, void **fsdata)
 | 
			
		||||
{
 | 
			
		||||
	return cont_prepare_write(page, from, to, fat_get_block,
 | 
			
		||||
				  &MSDOS_I(page->mapping->host)->mmu_private);
 | 
			
		||||
	*pagep = NULL;
 | 
			
		||||
	return cont_write_begin(file, mapping, pos, len, flags, pagep, fsdata,
 | 
			
		||||
				fat_get_block,
 | 
			
		||||
				&MSDOS_I(mapping->host)->mmu_private);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int fat_commit_write(struct file *file, struct page *page,
 | 
			
		||||
			    unsigned from, unsigned to)
 | 
			
		||||
static int fat_write_end(struct file *file, struct address_space *mapping,
 | 
			
		||||
			loff_t pos, unsigned len, unsigned copied,
 | 
			
		||||
			struct page *pagep, void *fsdata)
 | 
			
		||||
{
 | 
			
		||||
	struct inode *inode = page->mapping->host;
 | 
			
		||||
	int err = generic_commit_write(file, page, from, to);
 | 
			
		||||
	if (!err && !(MSDOS_I(inode)->i_attrs & ATTR_ARCH)) {
 | 
			
		||||
	struct inode *inode = mapping->host;
 | 
			
		||||
	int err;
 | 
			
		||||
	err = generic_write_end(file, mapping, pos, len, copied, pagep, fsdata);
 | 
			
		||||
	if (!(err < 0) && !(MSDOS_I(inode)->i_attrs & ATTR_ARCH)) {
 | 
			
		||||
		inode->i_mtime = inode->i_ctime = CURRENT_TIME_SEC;
 | 
			
		||||
		MSDOS_I(inode)->i_attrs |= ATTR_ARCH;
 | 
			
		||||
		mark_inode_dirty(inode);
 | 
			
		||||
| 
						 | 
				
			
			@ -202,8 +207,8 @@ static const struct address_space_operations fat_aops = {
 | 
			
		|||
	.writepage	= fat_writepage,
 | 
			
		||||
	.writepages	= fat_writepages,
 | 
			
		||||
	.sync_page	= block_sync_page,
 | 
			
		||||
	.prepare_write	= fat_prepare_write,
 | 
			
		||||
	.commit_write	= fat_commit_write,
 | 
			
		||||
	.write_begin	= fat_write_begin,
 | 
			
		||||
	.write_end	= fat_write_end,
 | 
			
		||||
	.direct_IO	= fat_direct_IO,
 | 
			
		||||
	.bmap		= _fat_bmap
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue