ext4: easy malloc/calloc/realloc/free substitution
[lwext4.git] / src / ext4_dir.c
index 438d386e3c7b37ac67c8b4cfe6028765b3002810..4836d624c66c475ff8cd7f382ecf68d712741550 100644 (file)
@@ -314,9 +314,21 @@ void ext4_dir_write_entry(struct ext4_sblock *sb, struct ext4_dir_en *en,
        case EXT4_INODE_MODE_SOFTLINK:
                ext4_dir_en_set_inode_type(sb, en, EXT4_DE_SYMLINK);
                break;
+       case EXT4_INODE_MODE_CHARDEV:
+               ext4_dir_en_set_inode_type(sb, en, EXT4_DE_CHRDEV);
+               break;
+       case EXT4_INODE_MODE_BLOCKDEV:
+               ext4_dir_en_set_inode_type(sb, en, EXT4_DE_BLKDEV);
+               break;
+       case EXT4_INODE_MODE_FIFO:
+               ext4_dir_en_set_inode_type(sb, en, EXT4_DE_FIFO);
+               break;
+       case EXT4_INODE_MODE_SOCKET:
+               ext4_dir_en_set_inode_type(sb, en, EXT4_DE_SOCK);
+               break;
        default:
-               /* FIXME: right now we only support 3 inode type. */
-               ext4_assert(0);
+               /* FIXME: unsupported filetype */
+               ext4_dir_en_set_inode_type(sb, en, EXT4_DE_UNKNOWN);
        }
 
        /* Set basic attributes */