login
Header Space

 
 

[PATCH 0/7] ocfs2: Extended slot map

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <ocfs2-devel@...>
Cc: <linux-kernel@...>, <linux-fsdevel@...>
Date: Wednesday, March 5, 2008 - 6:51 pm

ocfs2 has a system file called "slot_map".  A "slot" is a collection of
files local to particular mounted node, including the journal and
allocators that node is using.  The slot map converts the slot number to
a node number, so when a node dies, ocfs2 knows which slot to recover.

The old ocfs2 slot map is a very limited.  It has a physical maximum of
254 entries - specifically, it must fit within one disk block.  It only
allows node numbers up to 254, and cannot be extended past INT16_MAX
(32767).  This is a problem in the world of userspace cluster stacks,
where the node numbers are often sparse and can be up to UINT32_MAX.

It also has the structural problem that empty slots are signified by a
magic number.  That number happens to be -1 (0xFFFF).  It makes for code
that isn't as obvious as one would like.

Thus, we introduce a new slot map format, referred to hence as the
"extended slot map".  The extended slot map is allocated as regular file
space, and so is bound by i_size.  The new format adds a "valid" field,
distinct from the node number.  Finally, it has room for extension
should it be needed.

The kernel code is available on the 'new-slot-map' branch of my git
repository.

View:
http://oss.oracle.com/git/?p=jlbec/linux-2.6.git;a=shortlog;h=new-slot-map
Pull:
git pull git://oss.oracle.com/git/jlbec/linux-2.6.git new-slot-map

The tools code is also available via git, in the 'new-slot-map' branch
as well.

View:
http://oss.oracle.com/git/?p=ocfs2-tools.git;a=shortlog;h=new-slot-map
Pull:
git pull git://oss.oracle.com/git/ocfs2-tools.git new-slot-map



--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 0/7] ocfs2: Extended slot map, Joel Becker, (Wed Mar 5, 6:51 pm)
[PATCH 4/7] ocfs2: slot_map I/O based on max_slots., Joel Becker, (Wed Mar 5, 6:52 pm)
[PATCH 7/7] ocfs2: New slot map format, Joel Becker, (Wed Mar 5, 6:52 pm)
[PATCH 5/7] ocfs2: De-magic the in-memory slot map., Joel Becker, (Wed Mar 5, 6:52 pm)
[PATCH 2/7] ocfs2: Make ocfs2_slot_info private., Joel Becker, (Wed Mar 5, 6:51 pm)
speck-geostationary