linux/fs/gfs2
Steven Whitehouse 5b924ae2dc GFS2: Replace rgblk_search with gfs2_rbm_find
This is part of a series of patches which are introducing the
gfs2_rbm structure throughout the block allocation code. The
main aim of this part is to create a search function which can
deal directly with struct gfs2_rbm. In this case it specifies
the initial position at which to start the search and also the
point at which the search terminates.

The net result of this is to clean up the search code and make
it rather more readable, and the various possible exceptions which
may occur during the search are partitioned into their own functions.

There are some bug fixes too. We should not be checking the reservations
while allocating extents - the time for that is when we are searching
for where to put the extent, not when we've already made that decision.

Also, rgblk_search had two uses, and in only one of those cases did
it make sense to check for reservations. This is fixed in the new
gfs2_rbm_find function, which has a cleaner interface.

The reservation checking has been improved by always checking for
contiguous reservations, and returning the first free block after
all contiguous reservations. This is done under the spin lock to
ensure consistancy of the tree.

The allocation of extents is now in all cases done by the existing
allocation code, and if there is an active reservation, that is updated
after the fact. Again this is done under the spin lock, since it entails
changing the lookup key for the reservation in question.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2012-09-24 10:46:57 +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: Remove rs_requested field from reservations 2012-09-24 10:46:54 +01:00
bmap.c GFS2: Add structure to contain rgrp, bitmap, offset tuple 2012-09-24 10:46:56 +01:00
bmap.h GFS2: New truncate sequence 2010-09-20 11:18:16 +01:00
dentry.c stop passing nameidata * to ->d_revalidate() 2012-07-14 16:34:14 +04:00
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: Remove rs_requested field from reservations 2012-09-24 10:46:54 +01:00
gfs2.h [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
glock.c GFS2: Size seq_file buffer more carefully 2012-06-11 13:49:47 +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: Replace rgblk_search with gfs2_rbm_find 2012-09-24 10:46:57 +01:00
inode.c GFS2: Remove rs_requested field from reservations 2012-09-24 10:46:54 +01:00
inode.h GFS2: Remove unused argument from gfs2_internal_read 2012-04-24 16:44:37 +01:00
Kconfig GFS2: use depends instead of select in kconfig 2012-03-26 09:18:02 +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
Makefile GFS2: Rename ops_inode.c to inode.c 2011-05-10 13:12:49 +01:00
meta_io.c gfs2: nuke pdflush from comments 2012-08-04 12:15:40 +04: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 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw 2012-07-24 17:57:05 -07:00
quota.c GFS2: Remove rs_requested field from reservations 2012-09-24 10:46:54 +01:00
quota.h quota: Split dquot_quota_sync() to writeback and cache flushing part 2012-07-22 23:58:19 +04:00
recovery.c GFS2: fail mount if journal recovery fails 2012-01-11 09:24:48 +00:00
recovery.h gfs2: use workqueue instead of slow-work 2010-07-23 13:14:25 +02:00
rgrp.c GFS2: Replace rgblk_search with gfs2_rbm_find 2012-09-24 10:46:57 +01:00
rgrp.h GFS2: Add structure to contain rgrp, bitmap, offset tuple 2012-09-24 10:46:56 +01:00
super.c GFS2: Add structure to contain rgrp, bitmap, offset tuple 2012-09-24 10:46:56 +01:00
super.h gfs: constify xattr_handler 2010-05-21 18:31:20 -04:00
sys.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw 2012-07-24 17:57:05 -07:00
sys.h GFS2: dlm based recovery coordination 2012-01-11 09:23:05 +00:00
trace_gfs2.h GFS2: Add structure to contain rgrp, bitmap, offset tuple 2012-09-24 10:46:56 +01:00
trans.c gfs2: Convert to new freezing mechanism 2012-07-31 09:45:50 +04:00
trans.h GFS2: Remove rs_requested field from reservations 2012-09-24 10:46:54 +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: Remove rs_requested field from reservations 2012-09-24 10:46:54 +01:00
xattr.h sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00