diff options
author | Sunil Mushran <sunil.mushran@oracle.com> | 2009-06-19 19:53:17 -0400 |
---|---|---|
committer | Joel Becker <joel.becker@oracle.com> | 2009-06-22 17:24:51 -0400 |
commit | 692684e19e317a374c18e70a44d6413e51f71c11 (patch) | |
tree | c47da5b21e66f80458fff3da4cda72b8e0644c0f /fs/ocfs2/super.c | |
parent | c3d38840abaa45c1c5a5fabbb8ffc9a0d1a764d1 (diff) |
ocfs2: Stop orphan scan as early as possible during umount
Currently if the orphan scan fires a tick before the user issues the umount,
the umount will wait for the queued orphan scan tasks to complete.
This patch makes the umount stop the orphan scan as early as possible so as
to reduce the probability of the queued tasks slowing down the umount.
Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Diffstat (limited to 'fs/ocfs2/super.c')
-rw-r--r-- | fs/ocfs2/super.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c index d64739b593e9..3e8a68b103ab 100644 --- a/fs/ocfs2/super.c +++ b/fs/ocfs2/super.c | |||
@@ -1814,14 +1814,15 @@ static void ocfs2_dismount_volume(struct super_block *sb, int mnt_err) | |||
1814 | 1814 | ||
1815 | debugfs_remove(osb->osb_ctxt); | 1815 | debugfs_remove(osb->osb_ctxt); |
1816 | 1816 | ||
1817 | /* Orphan scan should be stopped as early as possible */ | ||
1818 | ocfs2_orphan_scan_stop(osb); | ||
1819 | |||
1817 | ocfs2_disable_quotas(osb); | 1820 | ocfs2_disable_quotas(osb); |
1818 | 1821 | ||
1819 | ocfs2_shutdown_local_alloc(osb); | 1822 | ocfs2_shutdown_local_alloc(osb); |
1820 | 1823 | ||
1821 | ocfs2_truncate_log_shutdown(osb); | 1824 | ocfs2_truncate_log_shutdown(osb); |
1822 | 1825 | ||
1823 | ocfs2_orphan_scan_stop(osb); | ||
1824 | |||
1825 | /* This will disable recovery and flush any recovery work. */ | 1826 | /* This will disable recovery and flush any recovery work. */ |
1826 | ocfs2_recovery_exit(osb); | 1827 | ocfs2_recovery_exit(osb); |
1827 | 1828 | ||