diff options
author | David Chinner <dgc@sgi.com> | 2008-04-09 22:24:38 -0400 |
---|---|---|
committer | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-04-17 22:02:30 -0400 |
commit | 1bb7d6b5a82f1d9487fd44415484a368f7c87bed (patch) | |
tree | 7893e95a0f4b4aaba61dc1fffd09f6fb9ed19822 /fs | |
parent | b911ca0472c3762d2bafc4d21e432a9056844064 (diff) |
[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>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/xfs/xfs_log.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index e29ea0a6d767..afaee301b0ee 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c | |||
@@ -697,7 +697,7 @@ xfs_log_unmount_write(xfs_mount_t *mp) | |||
697 | atomic_inc(&iclog->ic_refcnt); | 697 | atomic_inc(&iclog->ic_refcnt); |
698 | spin_unlock(&log->l_icloglock); | 698 | spin_unlock(&log->l_icloglock); |
699 | xlog_state_want_sync(log, iclog); | 699 | xlog_state_want_sync(log, iclog); |
700 | (void) xlog_state_release_iclog(log, iclog); | 700 | error = xlog_state_release_iclog(log, iclog); |
701 | 701 | ||
702 | spin_lock(&log->l_icloglock); | 702 | spin_lock(&log->l_icloglock); |
703 | if (!(iclog->ic_state == XLOG_STATE_ACTIVE || | 703 | if (!(iclog->ic_state == XLOG_STATE_ACTIVE || |
@@ -736,7 +736,7 @@ xfs_log_unmount_write(xfs_mount_t *mp) | |||
736 | spin_unlock(&log->l_icloglock); | 736 | spin_unlock(&log->l_icloglock); |
737 | 737 | ||
738 | xlog_state_want_sync(log, iclog); | 738 | xlog_state_want_sync(log, iclog); |
739 | (void) xlog_state_release_iclog(log, iclog); | 739 | error = xlog_state_release_iclog(log, iclog); |
740 | 740 | ||
741 | spin_lock(&log->l_icloglock); | 741 | spin_lock(&log->l_icloglock); |
742 | 742 | ||
@@ -751,7 +751,7 @@ xfs_log_unmount_write(xfs_mount_t *mp) | |||
751 | } | 751 | } |
752 | } | 752 | } |
753 | 753 | ||
754 | return 0; | 754 | return error; |
755 | } /* xfs_log_unmount_write */ | 755 | } /* xfs_log_unmount_write */ |
756 | 756 | ||
757 | /* | 757 | /* |