linux/fs/gfs2
Benjamin Marzinski 90306c41dc GFS2: Use lvbs for storing rgrp information with mount option
Instead of reading in the resource groups when gfs2 is checking
for free space to allocate from, gfs2 can store the necessary infromation
in the resource group's lvb.  Also, instead of searching for unlinked
inodes in every resource group that's checked for free space, gfs2 can
store the number of unlinked but inodes in the lvb, and only check for
unlinked inodes if it will find some.

The first time a resource group is locked, the lvb must initialized.
Since this involves counting the unlinked inodes in the resource group,
this takes a little extra time.  But after that, if the resource group
is locked with GL_SKIP, the buffer head won't be read in unless it's
actually needed.

Enabling the resource groups lvbs is done via the rgrplvb mount option.  If
this option isn't set, the lvbs will still be set and updated, but they won't
be verfied or used by the filesystem.  To safely turn on this option, all of
the nodes mounting the filesystem must be running code with this patch, and
the filesystem must have been completely unmounted since they were updated.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2012-06-08 11:50:01 +01:00
..
Kconfig GFS2: use depends instead of select in kconfig 2012-03-26 09:18:02 +01:00
Makefile GFS2: Rename ops_inode.c to inode.c 2011-05-10 13:12:49 +01:00
acl.c GFS2: Fix sgid propagation when using ACLs 2012-05-04 14:33:06 +01:00
acl.h fs: take the ACL checks to common code 2011-07-25 14:30:23 -04:00
aops.c GFS2: Fold quota data into the reservations struct 2012-06-06 11:20:22 +01:00
bmap.c GFS2: Fold quota data into the reservations struct 2012-06-06 11:20:22 +01:00
bmap.h
dentry.c
dir.c GFS2: Fold quota data into the reservations struct 2012-06-06 11:20:22 +01:00
dir.h GFS2: Add readahead to sequential directory traversal 2011-11-08 09:52:12 +00:00
export.c ->encode_fh() API change 2012-05-29 23:28:33 -04:00
file.c GFS2: Add "top dir" flag support 2012-06-06 11:27:36 +01:00
gfs2.h
glock.c GFS2: Use lvbs for storing rgrp information with mount option 2012-06-08 11:50:01 +01:00
glock.h GFS2: dlm based recovery coordination 2012-01-11 09:23:05 +00:00
glops.c GFS2: Remove redundant metadata block type check 2012-05-08 16:18:55 +01:00
glops.h GFS2: Fix AIL flush issue during fsync 2011-10-21 12:39:41 +01:00
incore.h GFS2: Use lvbs for storing rgrp information with mount option 2012-06-08 11:50:01 +01:00
inode.c GFS2: Fold quota data into the reservations struct 2012-06-06 11:20:22 +01:00
inode.h GFS2: Remove unused argument from gfs2_internal_read 2012-04-24 16:44:37 +01:00
lock_dlm.c dlm: fixes for nodir mode 2012-05-02 14:15:27 -05:00
log.c GFS2: eliminate log elements and simplify 2012-05-02 09:14:36 +01:00
log.h GFS2: Clean up log write code path 2012-04-24 16:44:34 +01:00
lops.c GFS2: Fix error handling when reading an invalid block from the journal 2012-06-06 11:27:49 +01:00
lops.h GFS2: eliminate log elements and simplify 2012-05-02 09:14:36 +01:00
main.c GFS2: Fold quota data into the reservations struct 2012-06-06 11:20:22 +01:00
meta_io.c GFS2: Eliminate unused "new" parameter to gfs2_meta_indirect_buffer 2012-05-11 10:19:23 +01:00
meta_io.h GFS2: Eliminate unused "new" parameter to gfs2_meta_indirect_buffer 2012-05-11 10:19:23 +01:00
ops_fstype.c dlm for 3.5 2012-05-22 19:31:38 -07:00
quota.c GFS2: Fold quota data into the reservations struct 2012-06-06 11:20:22 +01:00
quota.h vmscan: change shrinker API by passing shrink_control struct 2011-05-25 08:39:26 -07:00
recovery.c GFS2: fail mount if journal recovery fails 2012-01-11 09:24:48 +00:00
recovery.h
rgrp.c GFS2: Use lvbs for storing rgrp information with mount option 2012-06-08 11:50:01 +01:00
rgrp.h GFS2: Fold quota data into the reservations struct 2012-06-06 11:20:22 +01:00
super.c GFS2: Use lvbs for storing rgrp information with mount option 2012-06-08 11:50:01 +01:00
super.h
sys.c gfs2: fix recovery during unmount 2012-05-02 14:19:12 -05:00
sys.h GFS2: dlm based recovery coordination 2012-01-11 09:23:05 +00:00
trace_gfs2.h GFS2: Add rgrp information to block_alloc trace point 2012-05-11 10:31:34 +01:00
trans.c GFS2: eliminate log elements and simplify 2012-05-02 09:14:36 +01:00
trans.h GFS2: Extend the life of the reservations 2012-06-06 11:17:59 +01:00
util.c GFS2: Clean up log write code path 2012-04-24 16:44:34 +01:00
util.h GFS2: Fix error handling when reading an invalid block from the journal 2012-06-06 11:27:49 +01:00
xattr.c GFS2: Fold quota data into the reservations struct 2012-06-06 11:20:22 +01:00
xattr.h