aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/ocfs2.h
diff options
context:
space:
mode:
authorSunil Mushran <sunil.mushran@oracle.com>2009-06-19 19:53:17 -0400
committerJoel Becker <joel.becker@oracle.com>2009-06-22 17:24:51 -0400
commit692684e19e317a374c18e70a44d6413e51f71c11 (patch)
treec47da5b21e66f80458fff3da4cda72b8e0644c0f /fs/ocfs2/ocfs2.h
parentc3d38840abaa45c1c5a5fabbb8ffc9a0d1a764d1 (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.h6
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
157enum ocfs2_orphan_scan_state {
158 ORPHAN_SCAN_ACTIVE,
159 ORPHAN_SCAN_INACTIVE
160};
161
157struct ocfs2_orphan_scan { 162struct 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
167struct ocfs2_dlm_debug { 173struct ocfs2_dlm_debug {