aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_log.c
diff options
context:
space:
mode:
authorDave Chinner <david@fromorbit.com>2014-05-15 09:38:15 +1000
committerDave Chinner <david@fromorbit.com>2014-05-15 09:38:15 +1000
commitff14ee42a038cf48263ac8d2eca5d30196554b82 (patch)
treecee5ba7a2b08d7e4f48d974d08ecfc40c8bd1308 /fs/xfs/xfs_log.c
parentMerge branch 'xfs-free-inode-btree' into for-next (diff)
parentxfs: fix directory readahead offset off-by-one (diff)
downloadlinux-dev-ff14ee42a038cf48263ac8d2eca5d30196554b82.tar.xz
linux-dev-ff14ee42a038cf48263ac8d2eca5d30196554b82.zip
Merge branch 'xfs-misc-fixes-1-for-3.16' into for-next
Diffstat (limited to 'fs/xfs/xfs_log.c')
-rw-r--r--fs/xfs/xfs_log.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c
index a5f8bd9899d3..3554098692d8 100644
--- a/fs/xfs/xfs_log.c
+++ b/fs/xfs/xfs_log.c
@@ -3952,11 +3952,14 @@ xfs_log_force_umount(
retval = xlog_state_ioerror(log);
spin_unlock(&log->l_icloglock);
}
+
/*
- * Wake up everybody waiting on xfs_log_force.
- * Callback all log item committed functions as if the
- * log writes were completed.
+ * Wake up everybody waiting on xfs_log_force. Wake the CIL push first
+ * as if the log writes were completed. The abort handling in the log
+ * item committed callback functions will do this again under lock to
+ * avoid races.
*/
+ wake_up_all(&log->l_cilp->xc_commit_wait);
xlog_state_do_callback(log, XFS_LI_ABORTED, NULL);
#ifdef XFSERRORDEBUG