diff options
author | Srinivas Eeda <srinivas.eeda@oracle.com> | 2009-03-06 17:21:46 -0500 |
---|---|---|
committer | Mark Fasheh <mfasheh@suse.com> | 2009-04-03 14:39:26 -0400 |
commit | 9140db04ef185f934acf2b1b15b3dd5e6a6bfc22 (patch) | |
tree | 354dbc0351195ae2b6ea5f7dfbf68a99307c3d69 /fs/ocfs2/ocfs2.h | |
parent | 1fca3a05ef2823830925dfb66711d6d920265a8d (diff) |
ocfs2: recover orphans in offline slots during recovery and mount
During recovery, a node recovers orphans in it's slot and the dead node(s). But
if the dead nodes were holding orphans in offline slots, they will be left
unrecovered.
If the dead node is the last one to die and is holding orphans in other slots
and is the first one to mount, then it only recovers it's own slot, which
leaves orphans in offline slots.
This patch queues complete_recovery to clean orphans for all offline slots
during mount and node recovery.
Signed-off-by: Srinivas Eeda <srinivas.eeda@oracle.com>
Acked-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Diffstat (limited to 'fs/ocfs2/ocfs2.h')
-rw-r--r-- | fs/ocfs2/ocfs2.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/ocfs2/ocfs2.h b/fs/ocfs2/ocfs2.h index 558bd2709e01..1386281950db 100644 --- a/fs/ocfs2/ocfs2.h +++ b/fs/ocfs2/ocfs2.h | |||
@@ -209,6 +209,7 @@ enum ocfs2_mount_options | |||
209 | struct ocfs2_journal; | 209 | struct ocfs2_journal; |
210 | struct ocfs2_slot_info; | 210 | struct ocfs2_slot_info; |
211 | struct ocfs2_recovery_map; | 211 | struct ocfs2_recovery_map; |
212 | struct ocfs2_replay_map; | ||
212 | struct ocfs2_quota_recovery; | 213 | struct ocfs2_quota_recovery; |
213 | struct ocfs2_dentry_lock; | 214 | struct ocfs2_dentry_lock; |
214 | struct ocfs2_super | 215 | struct ocfs2_super |
@@ -264,6 +265,7 @@ struct ocfs2_super | |||
264 | atomic_t vol_state; | 265 | atomic_t vol_state; |
265 | struct mutex recovery_lock; | 266 | struct mutex recovery_lock; |
266 | struct ocfs2_recovery_map *recovery_map; | 267 | struct ocfs2_recovery_map *recovery_map; |
268 | struct ocfs2_replay_map *replay_map; | ||
267 | struct task_struct *recovery_thread_task; | 269 | struct task_struct *recovery_thread_task; |
268 | int disable_recovery; | 270 | int disable_recovery; |
269 | wait_queue_head_t checkpoint_event; | 271 | wait_queue_head_t checkpoint_event; |