[Ocfs2-tools-devel] [PATCH 05/11] Ocfs2-tools: Adjust corrupt handlers for fswreck's dir.c
Tristan Ye
tristan.ye at oracle.com
Mon Jun 8 03:50:19 PDT 2009
Signed-off-by: Tristan Ye <tristan.ye at oracle.com>
---
fswreck/dir.c | 36 ++++++++++++++----------------------
fswreck/include/dir.h | 12 +++++++-----
2 files changed, 21 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..e6f009d 100644
--- a/fswreck/include/dir.h
+++ b/fswreck/include/dir.h
@@ -25,11 +25,13 @@
#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);
+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