linux-stable/fs/gfs2
Bob Peterson b63f5e8482 GFS2: Wake up io waiters whenever a flush is done
Before this patch, if a process called function gfs2_log_reserve to
reserve some journal blocks, but the journal not enough blocks were
free, it would call io_schedule. However, in the log flush daemon,
it woke up the waiters only if an gfs2_ail_flush was no longer
required. This resulted in situations where processes would wait
forever because the number of blocks required was so high that it
pushed the journal into a perpetual state of flush being required.

This patch changes the logd daemon so that it wakes up io waiters
every time the log is actually flushed.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
2017-01-06 22:14:28 -05:00
..
Kconfig Finally eradicate CONFIG_HOTPLUG 2013-06-03 14:20:18 -07:00
Makefile
acl.c gfs2: Switch to generic xattr handlers 2016-05-12 22:28:05 -04:00
acl.h gfs2: Switch to generic xattr handlers 2016-05-12 22:28:05 -04:00
aops.c gfs2: Remove dirty buffer warning from gfs2_releasepage 2016-08-18 08:57:04 -05:00
bmap.c GFS2: Limit number of transaction blocks requested for truncates 2017-01-05 14:47:36 -05:00
bmap.h GFS2: Clean up journal extent mapping 2014-03-03 13:50:12 +00:00
dentry.c gfs2: Lock holder cleanup 2016-06-27 09:47:09 -05:00
dir.c GFS2: use BIT() macro 2016-08-02 12:05:27 -05:00
dir.h GFS2: Make rename not save dirent location 2014-10-01 14:06:15 +01:00
export.c gfs2: Get rid of gfs2_ilookup 2016-06-27 09:47:08 -05:00
file.c gfs2: Update file times after grabbing glock 2016-09-26 13:20:19 -05:00
gfs2.h
glock.c GFS2: Fix reference to ERR_PTR in gfs2_glock_iter_next 2016-12-15 19:30:07 -06:00
glock.h gfs2: Lock holder cleanup 2016-06-27 09:47:09 -05:00
glops.c GFS2: Get rid of dead code in inode_go_demote_ok 2016-04-05 11:59:18 -04:00
glops.h GFS2: update freeze code to use freeze/thaw_super on all nodes 2014-11-17 10:36:39 +00:00
incore.h GFS2: Made logd daemon take into account log demand 2017-01-05 16:01:45 -05:00
inode.c We've only got six GFS2 patches for this merge window. In patch order: 2016-10-04 13:42:13 -07:00
inode.h GFS2: use BIT() macro 2016-08-02 12:05:27 -05:00
lock_dlm.c remove abs64() 2015-11-09 15:11:24 -08:00
log.c GFS2: Wake up io waiters whenever a flush is done 2017-01-06 22:14:28 -05:00
log.h GFS2: remove transaction glock 2014-05-14 10:04:34 +01:00
lops.c Merge branch 'for-4.8/core' of git://git.kernel.dk/linux-block 2016-07-26 15:03:07 -07:00
lops.h gfs2: use bio op accessors 2016-06-07 13:41:38 -06:00
main.c gfs2: fix to detect failure of register_shrinker 2016-09-21 12:09:40 -05:00
meta_io.c gfs2: Fix extended attribute readahead optimization 2016-08-18 11:36:41 -05:00
meta_io.h GFS2: Refactor gfs2_remove_from_journal 2016-05-06 11:27:27 -05:00
ops_fstype.c GFS2: Made logd daemon take into account log demand 2017-01-05 16:01:45 -05:00
quota.c GFS2: use BIT() macro 2016-08-02 12:05:27 -05:00
quota.h GFS2: Make rgrp reservations part of the gfs2_inode structure 2015-12-14 12:16:38 -06:00
recovery.c GFS2: Fix gfs2_replay_incr_blk for multiple journal sizes 2016-07-21 13:02:44 -05:00
recovery.h GFS2: Fix gfs2_replay_incr_blk for multiple journal sizes 2016-07-21 13:02:44 -05:00
rgrp.c GFS2: Check rs_free with rd_rsspin protection 2016-07-12 11:48:22 -05:00
rgrp.h GFS2: Make rgrp reservations part of the gfs2_inode structure 2015-12-14 12:16:38 -06:00
super.c GFS2: use BIT() macro 2016-08-02 12:05:27 -05:00
super.h GFS2: update freeze code to use freeze/thaw_super on all nodes 2014-11-17 10:36:39 +00:00
sys.c gfs2: convert simple_str to kstr 2015-05-05 13:23:22 -05:00
sys.h GFS2: dlm based recovery coordination 2012-01-11 09:23:05 +00:00
trace_gfs2.h gfs2: Make statistics unsigned, suitable for use with do_div() 2015-09-03 13:33:32 -05:00
trans.c gfs2: Add missing else in trans_add_meta/data 2015-10-01 12:00:59 -05:00
trans.h GFS2: Split gfs2_trans_add_bh() into two 2013-01-29 10:28:04 +00:00
util.c GFS2: ignore unlock failures after withdraw 2016-03-24 08:28:48 -04:00
util.h GFS2: Make rgrp reservations part of the gfs2_inode structure 2015-12-14 12:16:38 -06:00
xattr.c switch xattr_handler->set() to passing dentry and inode separately 2016-05-27 15:39:43 -04:00
xattr.h gfs2: Remove gfs2_xattr_acl_chmod 2015-12-06 21:25:17 -05:00