[Ocfs2-tools-devel] [PATCH 4/4] fsck.ocfs2: Prompt for incorrect ECC for system inodes

Goldwyn Rodrigues rgoldwyn at gmail.com
Mon Jul 15 10:48:30 PDT 2013


Signed-off-by: Goldwyn Rodrigues <rgoldwyn at suse.com>
---
 fsck.ocfs2/pass2.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/fsck.ocfs2/pass2.c b/fsck.ocfs2/pass2.c
index 96c4eaf..6ce832c 100644
--- a/fsck.ocfs2/pass2.c
+++ b/fsck.ocfs2/pass2.c
@@ -722,9 +722,17 @@ static unsigned
pass2_dir_block_iterate(o2fsck_dirblock_entry *dbe,

  ret = ocfs2_read_inode(dd->ost->ost_fs, dbe->e_ino,
        dd->inoblock_buf);
- if (ret) {
+ if (ret == OCFS2_ET_BAD_CRC32) {
+ if (prompt(dd->ost, PY, PR_BAD_CRC32,
+ "Directory inode %"PRIu64" "
+ "has bad CRC32. Recalculate CRC32 "
+ "and write inode block?", dbe->e_ino)) {
+ ocfs2_write_inode(dd->ost->ost_fs, dbe->e_ino,
+ dd->inoblock_buf);
+ }
+ } else if (ret) {
  com_err(whoami, ret, "while reading dir inode %"PRIu64,
- dbe->e_ino);
+ dbe->e_ino);
  ret_flags |= OCFS2_DIRENT_ABORT;
  goto out;
  }
--
1.8.1.4



More information about the Ocfs2-tools-devel mailing list