]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
xfs: fix accidental reversion of aa6a6227435cb
authorDarrick J. Wong <darrick.wong@oracle.com>
Thu, 12 Apr 2018 05:13:34 +0000 (22:13 -0700)
committerJack Vogel <jack.vogel@oracle.com>
Thu, 12 Apr 2018 18:47:38 +0000 (11:47 -0700)
In commit id 7ea004358b97c ("xfs: don't leave EFIs on AIL on mount
failure") I accidentally reverted aa6a6227435cb06c ("xfs: toggle
readonly state around xfs_log_mount_finish"), which caused a regression
in generic/417.  Put back the code that enables iunlink processing on a
ro mount.

Orabug: 27845869

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Jack Vogel <jack.vogel@oracle.com>
fs/xfs/xfs_log.c

index 40ebfb43f439ef425d5a4d9d9f2e59fc6224fea5..da655552cdd3aedc078dc734a79c63b2afa60352 100644 (file)
@@ -748,16 +748,23 @@ xfs_log_mount_finish(
        struct xfs_mount        *mp)
  {
        int     error = 0;
+       bool    readonly = (mp->m_flags & XFS_MOUNT_RDONLY);
 
        if (mp->m_flags & XFS_MOUNT_NORECOVERY) {
                ASSERT(mp->m_flags & XFS_MOUNT_RDONLY);
                return 0;
+       } else if (readonly) {
+               /* Allow unlinked processing to proceed */
+               mp->m_flags &= ~XFS_MOUNT_RDONLY;
        }
 
        error = xlog_recover_finish(mp->m_log);
        if (!error)
                xfs_log_work_queue(mp);
 
+       if (readonly)
+               mp->m_flags |= XFS_MOUNT_RDONLY;
+
        return error;
 }