hfsplus: use fs_umode_to_dtype() helper
Subsystems (2)
PATCH v6 2/7 hfsplus: use fs_umode_to_dtype() helper
Replace if/else statements 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
Common implementation can be found via commit:bbe7449e2599 "fs: common implementation of file type"
Reviewed-by Vyacheslav Dubeyko <[email protected]>
Signed-off-by Amir Goldstein <[email protected]>
Signed-off-by Phillip Potter <[email protected]>
Reviewed-by Jan Kara <[email protected]>
--- fs/hfsplus/dir.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-)
fs/hfsplus/dir.c +2 -14
@@ -223,7 +223,6 @@ static int hfsplus_readdir(struct file *file, struct dir_context *ctx)break ; }else if (type ==HFSPLUS_FILE ) {u16 mode; -unsigned type =DT_UNKNOWN ;if (fd.entrylength <sizeof (struct hfsplus_cat_file )) {pr_err ("small file entry\n" );
@@ -232,21 +231,10 @@ static int hfsplus_readdir(struct file *file, struct dir_context *ctx) } mode =be16_to_cpu (entry.file.permissions.mode); -if (S_ISREG (mode)) - type =DT_REG ; -else if (S_ISLNK (mode)) - type =DT_LNK ; -else if (S_ISFIFO (mode)) - type =DT_FIFO ; -else if (S_ISCHR (mode)) - type =DT_CHR ; -else if (S_ISBLK (mode)) - type =DT_BLK ; -else if (S_ISSOCK (mode)) - type =DT_SOCK ;if (!dir_emit (ctx, strbuf, len, -be32_to_cpu (entry.file.id), type)) +be32_to_cpu (entry.file.id), +fs_umode_to_dtype (mode)))break ; }else {pr_err ("bad catalog entry type\n" );
Signature · 1 line
2.20.1