linux/fs/ocfs2/cluster
Mark Fasheh d02f00cc05 ocfs2: allocation reservations
This patch improves Ocfs2 allocation policy by allowing an inode to
reserve a portion of the local alloc bitmap for itself. The reserved
portion (allocation window) is advisory in that other allocation
windows might steal it if the local alloc bitmap becomes
full. Otherwise, the reservations are honored and guaranteed to be
free. When the local alloc window is moved to a different portion of
the bitmap, existing reservations are discarded.

Reservation windows are represented internally by a red-black
tree. Within that tree, each node represents the reservation window of
one inode. An LRU of active reservations is also maintained. When new
data is written, we allocate it from the inodes window. When all bits
in a window are exhausted, we allocate a new one as close to the
previous one as possible. Should we not find free space, an existing
reservation is pulled off the LRU and cannibalized.

Signed-off-by: Mark Fasheh <mfasheh@suse.com>
2010-05-05 18:17:30 -07:00
..
heartbeat.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
heartbeat.h ocfs2/hb: Expose the list of heartbeating nodes via debugfs 2009-04-03 11:39:14 -07:00
Makefile ocfs2/net: Add debug interface to o2net 2008-04-18 08:56:20 -07:00
masklog.c ocfs2: allocation reservations 2010-05-05 18:17:30 -07:00
masklog.h ocfs2: allocation reservations 2010-05-05 18:17:30 -07:00
netdebug.c inet: rename some inet_sock fields 2009-10-18 18:52:53 -07:00
nodemanager.c ocfs2/cluster: Make fence method configurable - v2 2009-12-02 16:49:26 -08:00
nodemanager.h ocfs2/cluster: Make fence method configurable - v2 2009-12-02 16:49:26 -08:00
ocfs2_heartbeat.h ocfs2: warn the user on a dead timeout mismatch 2006-06-29 15:45:35 -07:00
ocfs2_nodemanager.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:46 -08:00
quorum.c ocfs2/cluster: Make fence method configurable - v2 2009-12-02 16:49:26 -08:00
quorum.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:46 -08:00
sys.c ocfs2: Correct merge of 52f7c21 (Move /sys/o2cb to /sys/fs/o2cb) 2008-04-30 17:07:59 -07:00
sys.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:46 -08:00
tcp_internal.h ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
tcp.c fs/ocfs2/cluster/tcp.c: remove use of NIPQUAD, use %pI4 2010-03-12 15:52:27 -08:00
tcp.h [PATCH 1/3] ocfs2/net: Silence build warnings 2008-05-30 15:15:04 -07:00
ver.c ocfs2: bump version number 2008-01-25 15:05:46 -08:00
ver.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:46 -08:00