struct gfs2_dinode_host {
        u64 di_size;            /* number of bytes in file */
-       u64 di_generation;      /* generation number for NFS */
        u32 di_flags;           /* GFS2_DIF_... */
        /* These only apply to directories  */
        u32 di_entries;         /* The number of entries in the directory */
        struct inode i_inode;
        u64 i_no_addr;
        u64 i_no_formal_ino;
+       u64 i_generation;
        unsigned long i_flags;          /* GIF_... */
 
        struct gfs2_dinode_host i_di; /* To be replaced by ref to block */
 
        ip->i_inode.i_ctime.tv_nsec = be32_to_cpu(str->di_ctime_nsec);
 
        ip->i_goal = be64_to_cpu(str->di_goal_meta);
-       di->di_generation = be64_to_cpu(str->di_generation);
+       ip->i_generation = be64_to_cpu(str->di_generation);
 
        di->di_flags = be32_to_cpu(str->di_flags);
        gfs2_set_inode_flags(&ip->i_inode);
 
        str->di_goal_meta = cpu_to_be64(ip->i_goal);
        str->di_goal_data = cpu_to_be64(ip->i_goal);
-       str->di_generation = cpu_to_be64(di->di_generation);
+       str->di_generation = cpu_to_be64(ip->i_generation);
 
        str->di_flags = cpu_to_be32(di->di_flags);
        str->di_height = cpu_to_be16(ip->i_height);