# File lib/innodb/inode.rb, line 30
  def self.new_from_cursor(space, cursor)
    data = {
      :offset => cursor.position,
      :fseg_id => cursor.name("fseg_id") {
        cursor.get_uint64
      },
      :not_full_n_used => cursor.name("not_full_n_used") {
        cursor.get_uint32
      },
      :free => cursor.name("list[free]") { 
        Innodb::List::Xdes.new(space, Innodb::List.get_base_node(cursor))
      },
      :not_full => cursor.name("list[not_full]") { 
        Innodb::List::Xdes.new(space, Innodb::List.get_base_node(cursor))
      },
      :full => cursor.name("list[full]") { 
        Innodb::List::Xdes.new(space, Innodb::List.get_base_node(cursor))
      },
      :magic_n => cursor.name("magic_n") {
        cursor.get_uint32
      },
      :frag_array => cursor.name("frag_array") { 
        page_number_array(FRAG_ARRAY_N_SLOTS, cursor)
      },
    }

    Innodb::Inode.new(space, data)
  end