@@ -42,39 +42,6 @@ static unsigned int bucket_blocks(unsigned int level)
4242 return 4 ;
4343}
4444
45- static unsigned char f2fs_filetype_table [F2FS_FT_MAX ] = {
46- [F2FS_FT_UNKNOWN ] = DT_UNKNOWN ,
47- [F2FS_FT_REG_FILE ] = DT_REG ,
48- [F2FS_FT_DIR ] = DT_DIR ,
49- [F2FS_FT_CHRDEV ] = DT_CHR ,
50- [F2FS_FT_BLKDEV ] = DT_BLK ,
51- [F2FS_FT_FIFO ] = DT_FIFO ,
52- [F2FS_FT_SOCK ] = DT_SOCK ,
53- [F2FS_FT_SYMLINK ] = DT_LNK ,
54- };
55-
56- static unsigned char f2fs_type_by_mode [S_IFMT >> S_SHIFT ] = {
57- [S_IFREG >> S_SHIFT ] = F2FS_FT_REG_FILE ,
58- [S_IFDIR >> S_SHIFT ] = F2FS_FT_DIR ,
59- [S_IFCHR >> S_SHIFT ] = F2FS_FT_CHRDEV ,
60- [S_IFBLK >> S_SHIFT ] = F2FS_FT_BLKDEV ,
61- [S_IFIFO >> S_SHIFT ] = F2FS_FT_FIFO ,
62- [S_IFSOCK >> S_SHIFT ] = F2FS_FT_SOCK ,
63- [S_IFLNK >> S_SHIFT ] = F2FS_FT_SYMLINK ,
64- };
65-
66- static void set_de_type (struct f2fs_dir_entry * de , umode_t mode )
67- {
68- de -> file_type = f2fs_type_by_mode [(mode & S_IFMT ) >> S_SHIFT ];
69- }
70-
71- unsigned char f2fs_get_de_type (struct f2fs_dir_entry * de )
72- {
73- if (de -> file_type < F2FS_FT_MAX )
74- return f2fs_filetype_table [de -> file_type ];
75- return DT_UNKNOWN ;
76- }
77-
7845/* If @dir is casefolded, initialize @fname->cf_name from @fname->usr_fname. */
7946int f2fs_init_casefolded_name (const struct inode * dir ,
8047 struct f2fs_filename * fname )
@@ -485,7 +452,7 @@ void f2fs_set_link(struct inode *dir, struct f2fs_dir_entry *de,
485452 lock_page (page );
486453 f2fs_wait_on_page_writeback (page , type , true, true);
487454 de -> ino = cpu_to_le32 (inode -> i_ino );
488- set_de_type ( de , inode -> i_mode );
455+ de -> file_type = fs_umode_to_ftype ( inode -> i_mode );
489456 set_page_dirty (page );
490457
491458 dir -> i_mtime = dir -> i_ctime = current_time (dir );
@@ -699,7 +666,7 @@ void f2fs_update_dentry(nid_t ino, umode_t mode, struct f2fs_dentry_ptr *d,
699666 de -> name_len = cpu_to_le16 (name -> len );
700667 memcpy (d -> filename [bit_pos ], name -> name , name -> len );
701668 de -> ino = cpu_to_le32 (ino );
702- set_de_type ( de , mode );
669+ de -> file_type = fs_umode_to_ftype ( mode );
703670 for (i = 0 ; i < slots ; i ++ ) {
704671 __set_bit_le (bit_pos + i , (void * )d -> bitmap );
705672 /* avoid wrong garbage data for readdir */
@@ -1036,7 +1003,7 @@ int f2fs_fill_dentries(struct dir_context *ctx, struct f2fs_dentry_ptr *d,
10361003 continue ;
10371004 }
10381005
1039- d_type = f2fs_get_de_type (de );
1006+ d_type = fs_ftype_to_dtype (de -> file_type );
10401007
10411008 de_name .name = d -> filename [bit_pos ];
10421009 de_name .len = le16_to_cpu (de -> name_len );
0 commit comments