Index: uspace/lib/ext4/libext4_inode.h
===================================================================
--- uspace/lib/ext4/libext4_inode.h	(revision 6c501f8ff98956b3a251fb0b81b404ae0ecf44a1)
+++ uspace/lib/ext4/libext4_inode.h	(revision 9c0c0e1eb10d810e40534e09f763360954a6bec8)
@@ -37,6 +37,9 @@
 #include <sys/types.h>
 
-// TODO better constant definition !!!
-#define	EXT4_N_BLOCKS	15
+#define EXT4_DIRECT_BLOCK_COUNT		12
+#define EXT4_INDIRECT_BLOCK 		EXT4_DIRECT_BLOCK_COUNT
+#define EXT4_DOUBLE_INDIRECT_BLOCK	(EXT4_INDIRECT_BLOCK + 1)
+#define EXT4_TRIPPLE_INDIRECT_BLOCK	(EXT4_DOUBLE_INDIRECT_BLOCK + 1)
+#define EXT4_INODE_BLOCKS			(EXT4_TRIPPLE_INDIRECT_BLOCK + 1)
 
 /*
@@ -44,74 +47,36 @@
  */
 typedef struct ext4_inode {
-	uint16_t i_mode; // File mode
-	uint16_t i_uid; // Low 16 bits of owner uid
-	uint32_t i_size_lo; // Size in bytes
-	uint32_t i_atime; // Access time
-	uint32_t i_ctime; // Inode change time
-	uint32_t i_mtime; // Modification time
-	uint32_t i_dtime; // Deletion time
-	uint16_t i_gid; // Low 16 bits of group id
-	uint16_t i_links_count; // Links count
-	uint32_t i_blocks_lo; // Blocks count
-	uint32_t i_flags; // File flags
+	uint16_t mode; // File mode
+	uint16_t uid; // Low 16 bits of owner uid
+	uint32_t size_lo; // Size in bytes
 
-	/*
-        union {
-                struct {
-                        __le32  l_i_version;
-                } linux1;
-                struct {
-                        __u32  h_i_translator;
-                } hurd1;
-                struct {
-                        __u32  m_i_reserved1;
-                } masix1;
-        } osd1;
-	*/
+	// TODO Used in HelenOS ???
+	uint32_t atime; // Access time
+	uint32_t ctime; // Inode change time
+	uint32_t mtime; // Modification time
+	uint32_t dtime; // Deletion time
+
+	uint16_t gid; // Low 16 bits of group id
+	uint16_t links_count; // Links count
+	uint32_t blocks_lo; // Blocks count
+	uint32_t flags; // File flags
 	uint32_t unused_osd1; // OS dependent - not used in HelenOS
-
-    uint32_t i_block[EXT4_N_BLOCKS]; // Pointers to blocks
-    uint32_t i_generation; // File version (for NFS)
-    uint32_t i_file_acl_lo; // File ACL
-    uint32_t i_size_high;
-    uint32_t i_obso_faddr; // Obsoleted fragment address
-
-    /*
-        union {
-                struct {
-                        __le16  l_i_blocks_high;
-                        __le16  l_i_file_acl_high;
-                        __le16  l_i_uid_high;
-                        __le16  l_i_gid_high;
-                        __u32   l_i_reserved2;
-                } linux2;
-                struct {
-                        __le16  h_i_reserved1;
-                        __u16   h_i_mode_high;
-                        __u16   h_i_uid_high;
-                        __u16   h_i_gid_high;
-                        __u32   h_i_author;
-                } hurd2;
-                struct {
-                        __le16  h_i_reserved1;
-                        __le16  m_i_file_acl_high;
-                        __u32   m_i_reserved2[2];
-                } masix2;
-        } osd2;
-        */
-
-        uint32_t unused_osd2[3]; // OS dependent - not used in HelenOS
-        uint16_t i_extra_isize;
-        uint16_t i_pad1;
-        uint32_t  i_ctime_extra; // Extra change time (nsec << 2 | epoch)
-        uint32_t i_mtime_extra; // Extra Modification time (nsec << 2 | epoch)
-        uint32_t i_atime_extra; // Extra Access time (nsec << 2 | epoch)
-        uint32_t i_crtime; // File creation time
-        uint32_t i_crtime_extra; // Extra file creation time (nsec << 2 | epoch)
-        uint32_t i_version_hi;   // High 32 bits for 64-bit version
+    uint32_t blocks[EXT4_INODE_BLOCKS]; // Pointers to blocks
+    uint32_t generation; // File version (for NFS)
+    uint32_t file_acl_lo; // File ACL
+    uint32_t size_hi;
+    uint32_t obso_faddr; // Obsoleted fragment address
+    uint32_t unused_osd2[3]; // OS dependent - not used in HelenOS
+    uint16_t extra_isize;
+    uint16_t pad1;
+    uint32_t ctime_extra; // Extra change time (nsec << 2 | epoch)
+    uint32_t mtime_extra; // Extra Modification time (nsec << 2 | epoch)
+    uint32_t atime_extra; // Extra Access time (nsec << 2 | epoch)
+    uint32_t crtime; // File creation time
+    uint32_t crtime_extra; // Extra file creation time (nsec << 2 | epoch)
+    uint32_t version_hi;   // High 32 bits for 64-bit version
 } __attribute__ ((packed)) ext4_inode_t;
 
 
-// TODO check value
 #define EXT4_INODE_ROOT_INDEX	2
 
