Commit 1bb7d6b5 authored by David Chinner's avatar David Chinner Committed by Lachlan McIlroy

[XFS] Catch log unmount failures.

Unmounting the log can fail. unlikely, but it can. Catch all the error
conditions an make sure it's propagated upwards.

SGI-PV: 980084
SGI-Modid: xfs-linux-melb:xfs-kern:30833a
Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
Signed-off-by: default avatarNiv Sardi <xaiki@sgi.com>
Signed-off-by: default avatarLachlan McIlroy <lachlan@sgi.com>
parent b911ca04
...@@ -697,7 +697,7 @@ xfs_log_unmount_write(xfs_mount_t *mp) ...@@ -697,7 +697,7 @@ xfs_log_unmount_write(xfs_mount_t *mp)
atomic_inc(&iclog->ic_refcnt); atomic_inc(&iclog->ic_refcnt);
spin_unlock(&log->l_icloglock); spin_unlock(&log->l_icloglock);
xlog_state_want_sync(log, iclog); xlog_state_want_sync(log, iclog);
(void) xlog_state_release_iclog(log, iclog); error = xlog_state_release_iclog(log, iclog);
spin_lock(&log->l_icloglock); spin_lock(&log->l_icloglock);
if (!(iclog->ic_state == XLOG_STATE_ACTIVE || if (!(iclog->ic_state == XLOG_STATE_ACTIVE ||
...@@ -736,7 +736,7 @@ xfs_log_unmount_write(xfs_mount_t *mp) ...@@ -736,7 +736,7 @@ xfs_log_unmount_write(xfs_mount_t *mp)
spin_unlock(&log->l_icloglock); spin_unlock(&log->l_icloglock);
xlog_state_want_sync(log, iclog); xlog_state_want_sync(log, iclog);
(void) xlog_state_release_iclog(log, iclog); error = xlog_state_release_iclog(log, iclog);
spin_lock(&log->l_icloglock); spin_lock(&log->l_icloglock);
...@@ -751,7 +751,7 @@ xfs_log_unmount_write(xfs_mount_t *mp) ...@@ -751,7 +751,7 @@ xfs_log_unmount_write(xfs_mount_t *mp)
} }
} }
return 0; return error;
} /* xfs_log_unmount_write */ } /* xfs_log_unmount_write */
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment