kernel-hacking-2024-linux-s.../fs/gfs2
Steven Whitehouse 62e252eeef GFS2: Take account of blockages when using reserved blocks
The claim_reserved_blks() function was not taking account of
the possibility of "blockages" while performing allocation.
This can be caused by another node allocating something in
the same extent which has been reserved locally.

This patch tests for this condition and then skips the remainder
of the reservation in this case. This is a relatively rare event,
so that it should not affect the general performance improvement
which the block reservations provide.

The claim_reserved_blks() function also appears not to be able
to deal with reservations which cross bitmap boundaries, but
that can be dealt with in a future patch since we don't generate
boundary crossing reservations currently.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Reported-by: David Teigland <teigland@redhat.com>
Cc: Bob Peterson <rpeterso@redhat.com>
2012-09-13 10:30:58 +01:00
..
acl.c GFS2: Fix sgid propagation when using ACLs 2012-05-04 14:33:06 +01:00
acl.h
aops.c GFS2: Fold quota data into the reservations struct 2012-06-06 11:20:22 +01:00
bmap.c GFS2: Reduce file fragmentation 2012-07-19 14:51:08 +01:00
bmap.h
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
export.c ->encode_fh() API change 2012-05-29 23:28:33 -04:00
file.c GFS2: Make write size hinting code common 2012-09-13 10:30:00 +01:00
gfs2.h
glock.c GFS2: Size seq_file buffer more carefully 2012-06-11 13:49:47 +01:00
glock.h
glops.c GFS2: Remove redundant metadata block type check 2012-05-08 16:18:55 +01:00
glops.h
incore.h GFS2: Reduce file fragmentation 2012-07-19 14:51:08 +01:00
inode.c GFS2: Fix missing allocation data for set/remove xattr 2012-09-13 10:30:34 +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
meta_io.c GFS2: Fixing double brelse'ing bh allocated in gfs2_meta_read when EIO occurs 2012-06-28 15:35:47 +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 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 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw 2012-07-24 17:57:05 -07:00
quota.h quota: Split dquot_quota_sync() to writeback and cache flushing part 2012-07-22 23:58:19 +04:00
recovery.c
recovery.h
rgrp.c GFS2: Take account of blockages when using reserved blocks 2012-09-13 10:30:58 +01:00
rgrp.h GFS2: Reduce file fragmentation 2012-07-19 14:51:08 +01:00
super.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw 2012-07-24 17:57:05 -07:00
super.h
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
trace_gfs2.h GFS2: Reduce file fragmentation 2012-07-19 14:51:08 +01:00
trans.c gfs2: Convert to new freezing mechanism 2012-07-31 09:45:50 +04: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: Reduce file fragmentation 2012-07-19 14:51:08 +01:00
xattr.h