linux/fs/gfs2
Benjamin Marzinski 5e687eac1b GFS2: Various gfs2_logd improvements
This patch contains various tweaks to how log flushes and active item writeback
work. gfs2_logd is now managed by a waitqueue, and gfs2_log_reseve now waits
for gfs2_logd to do the log flushing.  Multiple functions were rewritten to
remove the need to call gfs2_log_lock(). Instead of using one test to see if
gfs2_logd had work to do, there are now seperate tests to check if there
are two many buffers in the incore log or if there are two many items on the
active items list.

This patch is a port of a patch Steve Whitehouse wrote about a year ago, with
some minor changes.  Since gfs2_ail1_start always submits all the active items,
it no longer needs to keep track of the first ai submitted, so this has been
removed. In gfs2_log_reserve(), the order of the calls to
prepare_to_wait_exclusive() and wake_up() when firing off the logd thread has
been switched.  If it called wake_up first there was a small window for a race,
where logd could run and return before gfs2_log_reserve was ready to get woken
up. If gfs2_logd ran, but did not free up enough blocks, gfs2_log_reserve()
would be left waiting for gfs2_logd to eventualy run because it timed out.
Finally, gt_logd_secs, which controls how long to wait before gfs2_logd times
out, and flushes the log, can now be set on mount with ar_commit.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2010-05-05 09:39:18 +01:00
..
acl.c sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00
acl.h GFS2: Clean up ACLs 2009-12-03 11:47:35 +00:00
aops.c GFS2: Clean up stuffed file copying 2010-03-29 14:29:17 +01:00
bmap.c GFS2: Clean up stuffed file copying 2010-03-29 14:29:17 +01:00
bmap.h GFS2: Streamline alloc calculations for writes 2009-01-05 07:39:17 +00:00
dentry.c GFS2: free disk inode which is deleted by remote node -V2 2009-08-18 10:29:39 +01:00
dir.c GFS2: glock livelock 2010-04-14 16:48:05 +01:00
dir.h GFS2: Fix bug in gfs2_lock_fs_check_clean() 2009-01-05 07:39:11 +00:00
export.c GFS2: glock livelock 2010-04-14 16:48:05 +01:00
file.c GFS2: Skip check for mandatory locks when unlocking 2010-03-11 17:17:57 +00:00
gfs2.h [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
glock.c GFS2: glock livelock 2010-04-14 16:48:05 +01:00
glock.h GFS2: Metadata address space clean up 2010-03-01 14:07:37 +00:00
glops.c GFS2: Metadata address space clean up 2010-03-01 14:07:37 +00:00
glops.h GFS2: Add a "demote a glock" interface to sysfs 2009-03-24 11:21:22 +00:00
incore.h GFS2: Various gfs2_logd improvements 2010-05-05 09:39:18 +01:00
inode.c GFS2: glock livelock 2010-04-14 16:48:05 +01:00
inode.h GFS2: glock livelock 2010-04-14 16:48:05 +01:00
Kconfig GFS2: do not select QUOTA 2010-03-09 10:08:36 +00:00
lock_dlm.c GFS2: Metadata address space clean up 2010-03-01 14:07:37 +00:00
log.c GFS2: Various gfs2_logd improvements 2010-05-05 09:39:18 +01:00
log.h GFS2: Various gfs2_logd improvements 2010-05-05 09:39:18 +01:00
lops.c GFS2: Various gfs2_logd improvements 2010-05-05 09:39:18 +01:00
lops.h [GFS2] Only do lo_incore_commit once 2008-03-31 10:39:54 +01:00
main.c GFS2: Remove space from slab cache name 2010-03-29 14:26:49 +01:00
Makefile GFS2: Rename eattr.[ch] as xattr.[ch] 2009-08-26 18:51:04 +01:00
meta_io.c GFS2: Various gfs2_logd improvements 2010-05-05 09:39:18 +01:00
meta_io.h GFS2: Metadata address space clean up 2010-03-01 14:07:37 +00:00
ops_fstype.c GFS2: Various gfs2_logd improvements 2010-05-05 09:39:18 +01:00
ops_inode.c Switch gfs2 to nd_set_link() 2010-03-03 13:00:22 -05:00
quota.c quota: move code from sync_quota_sb into vfs_quota_sync 2010-03-05 00:20:24 +01:00
quota.h quota: move code from sync_quota_sb into vfs_quota_sync 2010-03-05 00:20:24 +01:00
recovery.c GFS2: Tag all metadata with jid 2009-12-03 11:58:47 +00:00
recovery.h GFS2: Umount recovery race fix 2009-05-19 10:01:18 +01:00
rgrp.c GFS2: glock livelock 2010-04-14 16:48:05 +01:00
rgrp.h GFS2: Be extra careful about deallocating inodes 2009-09-08 18:00:30 +01:00
super.c GFS2: Various gfs2_logd improvements 2010-05-05 09:39:18 +01:00
super.h GFS2: Alter arguments of gfs2_quota/statfs_sync 2009-12-03 11:48:54 +00:00
sys.c GFS2: Various gfs2_logd improvements 2010-05-05 09:39:18 +01:00
sys.h GFS2: Remove ancient, unused code 2009-01-05 07:39:13 +00:00
trace_gfs2.h tracing/events: Move TRACE_SYSTEM outside of include guard 2009-07-13 10:59:55 +02:00
trans.c GFS2: Various gfs2_logd improvements 2010-05-05 09:39:18 +01:00
trans.h [GFS2] Update gfs2_trans_add_unrevoke to accept extents 2008-03-31 10:40:42 +01:00
util.c GFS2: Metadata address space clean up 2010-03-01 14:07:37 +00:00
util.h GFS2: Metadata address space clean up 2010-03-01 14:07:37 +00:00
xattr.c GFS2: Fix gfs2_xattr_acl_chmod() 2010-01-08 13:42:59 +00:00
xattr.h sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00