diff options
Diffstat (limited to 'fs/xfs/xfs_log.c')
-rw-r--r-- | fs/xfs/xfs_log.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index 8497a00e399d..82f5602d97e2 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c | |||
@@ -3915,11 +3915,14 @@ xfs_log_force_umount( | |||
3915 | retval = xlog_state_ioerror(log); | 3915 | retval = xlog_state_ioerror(log); |
3916 | spin_unlock(&log->l_icloglock); | 3916 | spin_unlock(&log->l_icloglock); |
3917 | } | 3917 | } |
3918 | |||
3918 | /* | 3919 | /* |
3919 | * Wake up everybody waiting on xfs_log_force. | 3920 | * Wake up everybody waiting on xfs_log_force. Wake the CIL push first |
3920 | * Callback all log item committed functions as if the | 3921 | * as if the log writes were completed. The abort handling in the log |
3921 | * log writes were completed. | 3922 | * item committed callback functions will do this again under lock to |
3923 | * avoid races. | ||
3922 | */ | 3924 | */ |
3925 | wake_up_all(&log->l_cilp->xc_commit_wait); | ||
3923 | xlog_state_do_callback(log, XFS_LI_ABORTED, NULL); | 3926 | xlog_state_do_callback(log, XFS_LI_ABORTED, NULL); |
3924 | 3927 | ||
3925 | #ifdef XFSERRORDEBUG | 3928 | #ifdef XFSERRORDEBUG |