[Ocfs2-tools-devel] [PATCH 05/10] Ocfs2-tools: Adjust corrupt handlers for fswreck's dir.c

Tristan Ye tristan.ye at oracle.com
Fri Jun 5 00:45:38 PDT 2009


Signed-off-by: Tristan Ye <tristan.ye at oracle.com>
---
 fswreck/dir.c         |   36 ++++++++++++++----------------------
 fswreck/include/dir.h |   14 +++++++++-----
 2 files changed, 23 insertions(+), 27 deletions(-)

diff --git a/fswreck/dir.c b/fswreck/dir.c
index 8ff7286..112f394 100644
--- a/fswreck/dir.c
+++ b/fswreck/dir.c
@@ -301,37 +301,28 @@ static void damage_dir_content(ocfs2_filesys *fs, uint64_t dir,
 	return;
 }
 
-void mess_up_dir_dot(ocfs2_filesys *fs, uint64_t blkno)
+void mess_up_dir_dot(ocfs2_filesys *fs, enum fsck_type type, uint64_t blkno)
 {
-	int i;
 	uint64_t tmp_blkno;
-	enum fsck_type types[] ={ DIRENT_DOTTY_DUP, DIRENT_NOT_DOTTY,
-				  DIRENT_DOT_INODE, DIRENT_DOT_EXCESS };
 
-	for (i = 0; i < ARRAY_ELEMENTS(types); i++) {
-		create_directory(fs, blkno, &tmp_blkno);
-		damage_dir_content(fs, tmp_blkno, types[i]);
-	}
+	create_directory(fs, blkno, &tmp_blkno);
+	damage_dir_content(fs, tmp_blkno, type);
+
 	return;
 }
 
-void mess_up_dir_ent(ocfs2_filesys *fs, uint64_t blkno)
+void mess_up_dir_ent(ocfs2_filesys *fs, enum fsck_type type, uint64_t blkno)
 {
-	int i;
 	uint64_t tmp_blkno;
-	enum fsck_type types[] = { DIRENT_ZERO, DIRENT_NAME_CHARS,
-				   DIRENT_INODE_RANGE, DIRENT_INODE_FREE,
-				   DIRENT_TYPE,	DIRENT_DUPLICATE,
-				   DIRENT_LENGTH };
-
-	for (i = 0; i < ARRAY_ELEMENTS(types); i++) {
-		create_directory(fs, blkno, &tmp_blkno);
-		damage_dir_content(fs, tmp_blkno, types[i]);
-	}
+
+	create_directory(fs, blkno, &tmp_blkno);
+	damage_dir_content(fs, tmp_blkno, type);
+
 	return;
 }
 
-void mess_up_dir_parent_dup(ocfs2_filesys *fs, uint64_t blkno)
+void mess_up_dir_parent_dup(ocfs2_filesys *fs, enum fsck_type type,
+			    uint64_t blkno)
 {
 	errcode_t ret;
 	uint64_t parent1, parent2, tmp_blkno;
@@ -368,7 +359,7 @@ void mess_up_dir_parent_dup(ocfs2_filesys *fs, uint64_t blkno)
 	return;
 }
 
-void mess_up_dir_inode(ocfs2_filesys *fs, uint64_t blkno)
+void mess_up_dir_inode(ocfs2_filesys *fs, enum fsck_type type, uint64_t blkno)
 {
 	errcode_t ret;
 	char *buf = NULL;
@@ -409,7 +400,8 @@ void mess_up_dir_inode(ocfs2_filesys *fs, uint64_t blkno)
 	return;
 }
 
-void mess_up_dir_not_connected(ocfs2_filesys *fs, uint64_t blkno)
+void mess_up_dir_not_connected(ocfs2_filesys *fs, enum fsck_type type,
+			       uint64_t blkno)
 {
 	errcode_t ret;
 	uint64_t tmp_blkno;
diff --git a/fswreck/include/dir.h b/fswreck/include/dir.h
index c534f1b..f541960 100644
--- a/fswreck/include/dir.h
+++ b/fswreck/include/dir.h
@@ -25,11 +25,15 @@
 #ifndef __DIR_H
 #define __DIR_H
 
-void mess_up_dir_inode(ocfs2_filesys *fs, uint64_t blkno);
-void mess_up_dir_dot(ocfs2_filesys *fs, uint64_t blkno);
-void mess_up_dir_ent(ocfs2_filesys *fs, uint64_t blkno);
-void mess_up_dir_parent_dup(ocfs2_filesys *fs, uint64_t blkno);
-void mess_up_dir_not_connected(ocfs2_filesys *fs, uint64_t blkno);
+#include "fsck_type.h"
+
+void mess_up_dir_inode(ocfs2_filesys *fs, enum fsck_type type, uint64_t blkno);
+void mess_up_dir_dot(ocfs2_filesys *fs, enum fsck_type type, uint64_t blkno);
+void mess_up_dir_ent(ocfs2_filesys *fs, enum fsck_type type, uint64_t blkno);
+void mess_up_dir_parent_dup(ocfs2_filesys *fs, enum fsck_type type,
+			    uint64_t blkno);
+void mess_up_dir_not_connected(ocfs2_filesys *fs, enum fsck_type type,
+			       uint64_t blkno);
 
 void create_directory(ocfs2_filesys *fs, uint64_t parentblk, uint64_t *blkno);
 
-- 
1.5.5




More information about the Ocfs2-tools-devel mailing list