forked from mirrors/linux
		
	udf: Switch to single address_space_operations
Now that udf_aops and udf_adiniicb_aops are functionally identical, just drop udf_adiniicb_aops. Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
		
							parent
							
								
									907c6c2ffa
								
							
						
					
					
						commit
						37a8a39f7a
					
				
					 4 changed files with 3 additions and 26 deletions
				
			
		| 
						 | 
				
			
			@ -57,16 +57,6 @@ void udf_adinicb_readpage(struct page *page)
 | 
			
		|||
	kunmap_atomic(kaddr);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const struct address_space_operations udf_adinicb_aops = {
 | 
			
		||||
	.dirty_folio	= block_dirty_folio,
 | 
			
		||||
	.invalidate_folio = block_invalidate_folio,
 | 
			
		||||
	.read_folio	= udf_read_folio,
 | 
			
		||||
	.writepages	= udf_writepages,
 | 
			
		||||
	.write_begin	= udf_write_begin,
 | 
			
		||||
	.write_end	= udf_write_end,
 | 
			
		||||
	.direct_IO	= udf_direct_IO,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static vm_fault_t udf_page_mkwrite(struct vm_fault *vmf)
 | 
			
		||||
{
 | 
			
		||||
	struct vm_area_struct *vma = vmf->vma;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -364,8 +364,6 @@ int udf_expand_file_adinicb(struct inode *inode)
 | 
			
		|||
		iinfo->i_alloc_type = ICBTAG_FLAG_AD_SHORT;
 | 
			
		||||
	else
 | 
			
		||||
		iinfo->i_alloc_type = ICBTAG_FLAG_AD_LONG;
 | 
			
		||||
	/* from now on we have normal address_space methods */
 | 
			
		||||
	inode->i_data.a_ops = &udf_aops;
 | 
			
		||||
	set_page_dirty(page);
 | 
			
		||||
	unlock_page(page);
 | 
			
		||||
	up_write(&iinfo->i_data_sem);
 | 
			
		||||
| 
						 | 
				
			
			@ -379,7 +377,6 @@ int udf_expand_file_adinicb(struct inode *inode)
 | 
			
		|||
		kunmap_atomic(kaddr);
 | 
			
		||||
		unlock_page(page);
 | 
			
		||||
		iinfo->i_alloc_type = ICBTAG_FLAG_AD_IN_ICB;
 | 
			
		||||
		inode->i_data.a_ops = &udf_adinicb_aops;
 | 
			
		||||
		iinfo->i_lenAlloc = inode->i_size;
 | 
			
		||||
		up_write(&iinfo->i_data_sem);
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -1566,9 +1563,6 @@ static int udf_read_inode(struct inode *inode, bool hidden_inode)
 | 
			
		|||
	case ICBTAG_FILE_TYPE_REGULAR:
 | 
			
		||||
	case ICBTAG_FILE_TYPE_UNDEF:
 | 
			
		||||
	case ICBTAG_FILE_TYPE_VAT20:
 | 
			
		||||
		if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB)
 | 
			
		||||
			inode->i_data.a_ops = &udf_adinicb_aops;
 | 
			
		||||
		else
 | 
			
		||||
		inode->i_data.a_ops = &udf_aops;
 | 
			
		||||
		inode->i_op = &udf_file_inode_operations;
 | 
			
		||||
		inode->i_fop = &udf_file_operations;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -377,9 +377,6 @@ static int udf_create(struct user_namespace *mnt_userns, struct inode *dir,
 | 
			
		|||
	if (IS_ERR(inode))
 | 
			
		||||
		return PTR_ERR(inode);
 | 
			
		||||
 | 
			
		||||
	if (UDF_I(inode)->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB)
 | 
			
		||||
		inode->i_data.a_ops = &udf_adinicb_aops;
 | 
			
		||||
	else
 | 
			
		||||
	inode->i_data.a_ops = &udf_aops;
 | 
			
		||||
	inode->i_op = &udf_file_inode_operations;
 | 
			
		||||
	inode->i_fop = &udf_file_operations;
 | 
			
		||||
| 
						 | 
				
			
			@ -396,9 +393,6 @@ static int udf_tmpfile(struct user_namespace *mnt_userns, struct inode *dir,
 | 
			
		|||
	if (IS_ERR(inode))
 | 
			
		||||
		return PTR_ERR(inode);
 | 
			
		||||
 | 
			
		||||
	if (UDF_I(inode)->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB)
 | 
			
		||||
		inode->i_data.a_ops = &udf_adinicb_aops;
 | 
			
		||||
	else
 | 
			
		||||
	inode->i_data.a_ops = &udf_aops;
 | 
			
		||||
	inode->i_op = &udf_file_inode_operations;
 | 
			
		||||
	inode->i_fop = &udf_file_operations;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -80,7 +80,6 @@ extern const struct inode_operations udf_file_inode_operations;
 | 
			
		|||
extern const struct file_operations udf_file_operations;
 | 
			
		||||
extern const struct inode_operations udf_symlink_inode_operations;
 | 
			
		||||
extern const struct address_space_operations udf_aops;
 | 
			
		||||
extern const struct address_space_operations udf_adinicb_aops;
 | 
			
		||||
extern const struct address_space_operations udf_symlink_aops;
 | 
			
		||||
 | 
			
		||||
struct udf_fileident_iter {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue