udf: Switch to single address_space_operations
authorJan Kara <jack@suse.cz>
Tue, 24 Jan 2023 11:23:04 +0000 (12:23 +0100)
committerJan Kara <jack@suse.cz>
Thu, 26 Jan 2023 15:46:36 +0000 (16:46 +0100)
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>
fs/udf/file.c
fs/udf/inode.c
fs/udf/namei.c
fs/udf/udfdecl.h

index 8a37cd593883d02fe5df735446f092dfac36b974..84e0b241940de23bfeda025cc001b16f33621ea8 100644 (file)
@@ -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;
index c65a5d76d15a21114c27b64fda6aaa6079b3424c..97662898704cf696e0616cd285ba55b15973c67a 100644 (file)
@@ -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 @@ reread:
        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;
index 663b66014c98eb83e235c50cb9d97c99826a1daf..51a518cb6fc2eebada76b43c74ade8b3d45a3f39 100644 (file)
@@ -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);
index 304c2ec81589c729b068a19ca6a1546fd72dfc4f..d8c0de3b224ed3aec8089673437deba883393efe 100644 (file)
@@ -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 {