[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: David Chinner <dgc@sgi.com> Signed-off-by: Niv Sardi <xaiki@sgi.com> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
This commit is contained in:
parent
b911ca0472
commit
1bb7d6b5a8
@ -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)
|
|||||||
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)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return error;
|
||||||
} /* xfs_log_unmount_write */
|
} /* xfs_log_unmount_write */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user