@@ -440,7 +440,10 @@ static struct inode *ntfs_read_mft(struct inode *inode,
440440 * Usually a hard links to directories are disabled.
441441 */
442442 inode -> i_op = & ntfs_dir_inode_operations ;
443- inode -> i_fop = & ntfs_dir_operations ;
443+ if (is_legacy_ntfs (inode -> i_sb ))
444+ inode -> i_fop = & ntfs_legacy_dir_operations ;
445+ else
446+ inode -> i_fop = & ntfs_dir_operations ;
444447 ni -> i_valid = 0 ;
445448 } else if (S_ISLNK (mode )) {
446449 ni -> std_fa &= ~FILE_ATTRIBUTE_DIRECTORY ;
@@ -450,7 +453,10 @@ static struct inode *ntfs_read_mft(struct inode *inode,
450453 } else if (S_ISREG (mode )) {
451454 ni -> std_fa &= ~FILE_ATTRIBUTE_DIRECTORY ;
452455 inode -> i_op = & ntfs_file_inode_operations ;
453- inode -> i_fop = & ntfs_file_operations ;
456+ if (is_legacy_ntfs (inode -> i_sb ))
457+ inode -> i_fop = & ntfs_legacy_file_operations ;
458+ else
459+ inode -> i_fop = & ntfs_file_operations ;
454460 inode -> i_mapping -> a_ops = is_compressed (ni ) ? & ntfs_aops_cmpr :
455461 & ntfs_aops ;
456462 if (ino != MFT_REC_MFT )
@@ -1614,7 +1620,10 @@ struct inode *ntfs_create_inode(struct mnt_idmap *idmap, struct inode *dir,
16141620
16151621 if (S_ISDIR (mode )) {
16161622 inode -> i_op = & ntfs_dir_inode_operations ;
1617- inode -> i_fop = & ntfs_dir_operations ;
1623+ if (is_legacy_ntfs (inode -> i_sb ))
1624+ inode -> i_fop = & ntfs_legacy_dir_operations ;
1625+ else
1626+ inode -> i_fop = & ntfs_dir_operations ;
16181627 } else if (S_ISLNK (mode )) {
16191628 inode -> i_op = & ntfs_link_inode_operations ;
16201629 inode -> i_fop = NULL ;
@@ -1623,7 +1632,10 @@ struct inode *ntfs_create_inode(struct mnt_idmap *idmap, struct inode *dir,
16231632 inode_nohighmem (inode );
16241633 } else if (S_ISREG (mode )) {
16251634 inode -> i_op = & ntfs_file_inode_operations ;
1626- inode -> i_fop = & ntfs_file_operations ;
1635+ if (is_legacy_ntfs (inode -> i_sb ))
1636+ inode -> i_fop = & ntfs_legacy_file_operations ;
1637+ else
1638+ inode -> i_fop = & ntfs_file_operations ;
16271639 inode -> i_mapping -> a_ops = is_compressed (ni ) ? & ntfs_aops_cmpr :
16281640 & ntfs_aops ;
16291641 init_rwsem (& ni -> file .run_lock );
0 commit comments