Message ID | 20181121190650.GA7696@pathfinder (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [RFC,v4,01/09] fs: common implementation of file type | expand |
On Wed 21-11-18 19:06:50, Phillip Potter wrote: > Replace switch statement with common lookup table implementation - file > systems that use the same file types as defined by POSIX do not need to > define their own versions and can use the common helper functions > decared in fs_types.h and implemented in fs_types.c > > Signed-off-by: Amir Goldstein <amir73il@gmail.com> > Signed-off-by: Phillip Potter <phil@philpotter.co.uk> > --- > fs/ufs/util.h | 29 +---------------------------- > 1 file changed, 1 insertion(+), 28 deletions(-) Looks good. You can add: Reviewed-by: Jan Kara <jack@suse.cz> Honza > > diff --git a/fs/ufs/util.h b/fs/ufs/util.h > index 1fd3011ea623..8c7759860739 100644 > --- a/fs/ufs/util.h > +++ b/fs/ufs/util.h > @@ -158,34 +158,7 @@ ufs_set_de_type(struct super_block *sb, struct ufs_dir_entry *de, int mode) > if ((UFS_SB(sb)->s_flags & UFS_DE_MASK) != UFS_DE_44BSD) > return; > > - /* > - * TODO turn this into a table lookup > - */ > - switch (mode & S_IFMT) { > - case S_IFSOCK: > - de->d_u.d_44.d_type = DT_SOCK; > - break; > - case S_IFLNK: > - de->d_u.d_44.d_type = DT_LNK; > - break; > - case S_IFREG: > - de->d_u.d_44.d_type = DT_REG; > - break; > - case S_IFBLK: > - de->d_u.d_44.d_type = DT_BLK; > - break; > - case S_IFDIR: > - de->d_u.d_44.d_type = DT_DIR; > - break; > - case S_IFCHR: > - de->d_u.d_44.d_type = DT_CHR; > - break; > - case S_IFIFO: > - de->d_u.d_44.d_type = DT_FIFO; > - break; > - default: > - de->d_u.d_44.d_type = DT_UNKNOWN; > - } > + de->d_u.d_44.d_type = fs_umode_to_dtype(mode); > } > > static inline u32 > -- > 2.19.1 >
diff --git a/fs/ufs/util.h b/fs/ufs/util.h index 1fd3011ea623..8c7759860739 100644 --- a/fs/ufs/util.h +++ b/fs/ufs/util.h @@ -158,34 +158,7 @@ ufs_set_de_type(struct super_block *sb, struct ufs_dir_entry *de, int mode) if ((UFS_SB(sb)->s_flags & UFS_DE_MASK) != UFS_DE_44BSD) return; - /* - * TODO turn this into a table lookup - */ - switch (mode & S_IFMT) { - case S_IFSOCK: - de->d_u.d_44.d_type = DT_SOCK; - break; - case S_IFLNK: - de->d_u.d_44.d_type = DT_LNK; - break; - case S_IFREG: - de->d_u.d_44.d_type = DT_REG; - break; - case S_IFBLK: - de->d_u.d_44.d_type = DT_BLK; - break; - case S_IFDIR: - de->d_u.d_44.d_type = DT_DIR; - break; - case S_IFCHR: - de->d_u.d_44.d_type = DT_CHR; - break; - case S_IFIFO: - de->d_u.d_44.d_type = DT_FIFO; - break; - default: - de->d_u.d_44.d_type = DT_UNKNOWN; - } + de->d_u.d_44.d_type = fs_umode_to_dtype(mode); } static inline u32