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