提交 1bb7d6b5 编写于 作者: D David Chinner 提交者: 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: NDavid Chinner <dgc@sgi.com>
Signed-off-by: NNiv Sardi <xaiki@sgi.com>
Signed-off-by: NLachlan McIlroy <lachlan@sgi.com>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册