mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-07 21:53:44 +00:00
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
@ -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,10 +1563,7 @@ 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_data.a_ops = &udf_aops;
|
||||
inode->i_op = &udf_file_inode_operations;
|
||||
inode->i_fop = &udf_file_operations;
|
||||
inode->i_mode |= S_IFREG;
|
||||
|
@ -377,10 +377,7 @@ 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_data.a_ops = &udf_aops;
|
||||
inode->i_op = &udf_file_inode_operations;
|
||||
inode->i_fop = &udf_file_operations;
|
||||
mark_inode_dirty(inode);
|
||||
@ -396,10 +393,7 @@ 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_data.a_ops = &udf_aops;
|
||||
inode->i_op = &udf_file_inode_operations;
|
||||
inode->i_fop = &udf_file_operations;
|
||||
mark_inode_dirty(inode);
|
||||
|
@ -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 New Issue
Block a user