hfsplus: use fs_umode_to_dtype() helper
Subsystems (2)
RFC PATCH 3/10 hfsplus: use fs_umode_to_dtype() helper
Replace if/else statements with common lookup table implementation.
Original patch written by Amir Goldstein.
Signed-off-by Phillip Potter <[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.17.2
Quoted 35 lines · Phillip Potter
Replace if/else statements with common lookup table implementation.
Original patch written by Amir Goldstein.
Signed-off-by Phillip Potter <[email protected]>--- fs/hfsplus/dir.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-)fs/hfsplus/dir.c +0
-11@@ -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 ;
fs/hfsplus/dir.c static int hfsplus_readdir(struct file *file, struct dir_context *ctx) · line 240
Quoted 10 lines
fs/hfsplus/dir.c +2
-3-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" );
Looks good. Nice cleanup.
Reviewed-by Vyacheslav Dubeyko <[email protected]>
Thanks,
Vyacheslav Dubeyko.