aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/ocfs2.h
diff options
context:
space:
mode:
authorMark Fasheh <mark.fasheh@oracle.com>2006-02-22 20:35:08 -0500
committerMark Fasheh <mark.fasheh@oracle.com>2006-03-01 14:32:41 -0500
commitb4df6ed8db0c387d38292e31f00adc4cd297ed5a (patch)
treed7dcaeecfa55b3fd9d6c4844d90e07759182f845 /fs/ocfs2/ocfs2.h
parent895928b8380cc697ac56e9732cedf549c0a4f79c (diff)
[PATCH] ocfs2: fix orphan recovery deadlock
Orphan dir recovery can deadlock with another process in ocfs2_delete_inode() in some corner cases. Fix this by tracking recovery state more closely and allowing it to handle inode wipes which might deadlock. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs/ocfs2/ocfs2.h')
-rw-r--r--fs/ocfs2/ocfs2.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ocfs2/ocfs2.h b/fs/ocfs2/ocfs2.h
index 19360e3d842e..e89de9b6e491 100644
--- a/fs/ocfs2/ocfs2.h
+++ b/fs/ocfs2/ocfs2.h
@@ -287,6 +287,10 @@ struct ocfs2_super
287 struct inode *osb_tl_inode; 287 struct inode *osb_tl_inode;
288 struct buffer_head *osb_tl_bh; 288 struct buffer_head *osb_tl_bh;
289 struct work_struct osb_truncate_log_wq; 289 struct work_struct osb_truncate_log_wq;
290
291 struct ocfs2_node_map osb_recovering_orphan_dirs;
292 unsigned int *osb_orphan_wipes;
293 wait_queue_head_t osb_wipe_event;
290}; 294};
291 295
292#define OCFS2_SB(sb) ((struct ocfs2_super *)(sb)->s_fs_info) 296#define OCFS2_SB(sb) ((struct ocfs2_super *)(sb)->s_fs_info)