Whamcloud - gitweb
e2fsck: add support for dirdata feature
[tools/e2fsprogs.git] / lib / ext2fs / link.c
index a2c34ac..a5ed3de 100644 (file)
@@ -196,7 +196,7 @@ static int link_proc(ext2_ino_t dir EXT2FS_ATTR((unused)),
        if (ls->done)
                return DIRENT_ABORT;
 
-       rec_len = EXT2_DIR_REC_LEN(ls->namelen);
+       rec_len = EXT2_DIR_NAME_LEN(ls->namelen);
 
        ls->err = ext2fs_get_rec_len(ls->fs, dirent, &curr_rec_len);
        if (ls->err)
@@ -225,7 +225,7 @@ static int link_proc(ext2_ino_t dir EXT2FS_ATTR((unused)),
         * truncate it and return.
         */
        if (dirent->inode) {
-               min_rec_len = EXT2_DIR_REC_LEN(ext2fs_dirent_name_len(dirent));
+               min_rec_len = EXT2_DIR_REC_LEN(dirent);
                if (curr_rec_len < (min_rec_len + rec_len))
                        return ret;
                rec_len = curr_rec_len - min_rec_len;
@@ -253,7 +253,7 @@ static int link_proc(ext2_ino_t dir EXT2FS_ATTR((unused)),
        ext2fs_dirent_set_name_len(dirent, ls->namelen);
        strncpy(dirent->name, ls->name, ls->namelen);
        if (ext2fs_has_feature_filetype(ls->sb))
-               ext2fs_dirent_set_file_type(dirent, ls->flags & 0x7);
+               ext2fs_dirent_set_file_type(dirent, ls->flags & EXT2_FT_MASK);
 
        ls->done++;
        return DIRENT_ABORT|DIRENT_CHANGED;
@@ -330,7 +330,7 @@ static errcode_t dx_move_dirents(ext2_filsys fs, struct dx_hash_map *map,
 
        for (i = 0; i < count; i++) {
                de = from + map[i].off;
-               rec_len = EXT2_DIR_REC_LEN(ext2fs_dirent_name_len(de));
+               rec_len = EXT2_DIR_REC_LEN(de);
                memcpy(to, de, rec_len);
                retval = ext2fs_set_rec_len(fs, rec_len, to);
                if (retval)