+#define EXT2_DIR_REC_LEN(de) (EXT2_DIR_NAME_LEN(((de)->name_len & \
+ EXT2_NAME_LEN) + \
+ ext2_get_dirdata_size(de)))
+
+static inline unsigned int ext2fs_dir_rec_len(__u8 name_len,
+ int extended)
+{
+ int rec_len = (name_len + EXT2_DIR_ENTRY_HEADER_LEN + EXT2_DIR_ROUND);
+
+ rec_len &= ~EXT2_DIR_ROUND;
+ if (extended)
+ rec_len += EXT2_DIR_ENTRY_HASH_LEN;
+ return rec_len;
+}
+
+static inline unsigned int ext2fs_dirdata_rec_len(struct ext2_dir_entry *de,
+ int extended)
+{
+ int rec_len = EXT2_DIR_REC_LEN(de);
+
+ if (extended)
+ rec_len += EXT2_DIR_ENTRY_HASH_LEN;
+ return rec_len;
+}
+
+/* lu_fid size and NUL char */
+#define EXT2_DIRENT_LUFID_SIZE 16
+#define EXT2_DIRENT_LUFID 0x10