aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_log.c
diff options
context:
space:
mode:
authorDavid Chinner <dgc@sgi.com>2008-04-09 22:24:38 -0400
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-04-17 22:02:30 -0400
commit1bb7d6b5a82f1d9487fd44415484a368f7c87bed (patch)
tree7893e95a0f4b4aaba61dc1fffd09f6fb9ed19822 /fs/xfs/xfs_log.c
parentb911ca0472c3762d2bafc4d21e432a9056844064 (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/xfs/xfs_log.c')
-rw-r--r--fs/xfs/xfs_log.c6
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/*