xfs
[Top] [All Lists]

[PATCH v2 1/6] xfs: fix a couple error sequence jumps in xfs_mountfs()

To: xfs@xxxxxxxxxxx
Subject: [PATCH v2 1/6] xfs: fix a couple error sequence jumps in xfs_mountfs()
From: Brian Foster <bfoster@xxxxxxxxxx>
Date: Fri, 27 Jun 2014 08:06:56 -0400
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1403870821-20143-1-git-send-email-bfoster@xxxxxxxxxx>
References: <1403870821-20143-1-git-send-email-bfoster@xxxxxxxxxx>
xfs_mountfs() has a couple failure conditions that do not jump to the
correct labels. Specifically:

- xfs_initialize_perag_data() failure does not deallocate the log even
  though it occurs after log initialization
- xfs_mount_reset_sbqflags() failure returns the error directly rather
  than jump to the error sequence

Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx>
Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
---
 fs/xfs/xfs_mount.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
index d5c44a6..4e9dd4a 100644
--- a/fs/xfs/xfs_mount.c
+++ b/fs/xfs/xfs_mount.c
@@ -855,7 +855,7 @@ xfs_mountfs(
             !mp->m_sb.sb_inprogress) {
                error = xfs_initialize_perag_data(mp, sbp->sb_agcount);
                if (error)
-                       goto out_fail_wait;
+                       goto out_log_dealloc;;
        }
 
        /*
@@ -927,7 +927,7 @@ xfs_mountfs(
                        xfs_notice(mp, "resetting quota flags");
                        error = xfs_mount_reset_sbqflags(mp);
                        if (error)
-                               return error;
+                               goto out_rtunmount;
                }
        }
 
-- 
1.8.3.1

<Prev in Thread] Current Thread [Next in Thread>