]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - fs/xfs/xfs_log.c
Merge tag 'ntb-4.13-bugfixes' of git://github.com/jonmason/ntb
[mirror_ubuntu-artful-kernel.git] / fs / xfs / xfs_log.c
index 0053bcf2b10a1de59c459de8c74a8cd1d0269d3b..4ebd0bafc914ce7b7f1e4d35134c9dedb09a23b5 100644 (file)
@@ -749,9 +749,20 @@ xfs_log_mount_finish(
                return 0;
        }
 
+       /*
+        * During the second phase of log recovery, we need iget and
+        * iput to behave like they do for an active filesystem.
+        * xfs_fs_drop_inode needs to be able to prevent the deletion
+        * of inodes before we're done replaying log items on those
+        * inodes.  Turn it off immediately after recovery finishes
+        * so that we don't leak the quota inodes if subsequent mount
+        * activities fail.
+        */
+       mp->m_super->s_flags |= MS_ACTIVE;
        error = xlog_recover_finish(mp->m_log);
        if (!error)
                xfs_log_work_queue(mp);
+       mp->m_super->s_flags &= ~MS_ACTIVE;
 
        return error;
 }