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/ocfs2.h | |
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/ocfs2.h')
-rw-r--r-- | fs/ocfs2/ocfs2.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/ocfs2/ocfs2.h b/fs/ocfs2/ocfs2.h index 18c1d9ec1c93..60e89503ce5a 100644 --- a/fs/ocfs2/ocfs2.h +++ b/fs/ocfs2/ocfs2.h | |||
@@ -154,6 +154,11 @@ struct ocfs2_lock_res { | |||
154 | #endif | 154 | #endif |
155 | }; | 155 | }; |
156 | 156 | ||
157 | enum ocfs2_orphan_scan_state { | ||
158 | ORPHAN_SCAN_ACTIVE, | ||
159 | ORPHAN_SCAN_INACTIVE | ||
160 | }; | ||
161 | |||
157 | struct ocfs2_orphan_scan { | 162 | struct ocfs2_orphan_scan { |
158 | struct mutex os_lock; | 163 | struct mutex os_lock; |
159 | struct ocfs2_super *os_osb; | 164 | struct ocfs2_super *os_osb; |
@@ -162,6 +167,7 @@ struct ocfs2_orphan_scan { | |||
162 | struct timespec os_scantime; /* time this node ran the scan */ | 167 | struct timespec os_scantime; /* time this node ran the scan */ |
163 | u32 os_count; /* tracks node specific scans */ | 168 | u32 os_count; /* tracks node specific scans */ |
164 | u32 os_seqno; /* tracks cluster wide scans */ | 169 | u32 os_seqno; /* tracks cluster wide scans */ |
170 | atomic_t os_state; /* ACTIVE or INACTIVE */ | ||
165 | }; | 171 | }; |
166 | 172 | ||
167 | struct ocfs2_dlm_debug { | 173 | struct ocfs2_dlm_debug { |