diff -urN fsarchiver-0.6.2/ChangeLog fsarchiver-0.6.2-b/ChangeLog
--- fsarchiver-0.6.2/ChangeLog 2009-12-08 19:36:02.000000000 +0000
+++ fsarchiver-0.6.2-b/ChangeLog 2009-12-09 15:41:19.000000000 +0000
@@ -1,5 +1,7 @@
fsarchiver: Filesystem Archiver for Linux [http://www.fsarchiver.org]
=====================================================================
+* 0.6.3 (not released yet):
+ - Don't fail when e2fsck returns 1 in extfs_mkfs() since it means the filesystem has been fixed
* 0.6.2 (2009-12-08):
- Dynamic memory allocation for ntfs specific extended-attributes in create.c
- Fix related the the ntfs attributes when lgetxattr returns a negative size
diff -urN fsarchiver-0.6.2/src/fs_ext2.c fsarchiver-0.6.2-b/src/fs_ext2.c
--- fsarchiver-0.6.2/src/fs_ext2.c 2009-12-06 10:30:42.000000000 +0000
+++ fsarchiver-0.6.2-b/src/fs_ext2.c 2009-12-09 15:39:28.000000000 +0000
@@ -141,6 +141,7 @@
int compat_type;
u64 temp64;
int ret=0;
+ int res;
int i;
// init
@@ -282,8 +283,8 @@
// http://article.gmane.org/gmane.comp.file-systems.ext4/11181
if (extfstype==EXTFSTYPE_EXT4 && e2fstoolsver<PROGVER(1,41,4))
{
- if (exec_command(command, sizeof(command), NULL, 0, NULL, 0, "e2fsck -fy %s", partition)!=0)
- { errprintf("command [%s] failed\n", command);
+ if ( ((res=exec_command(command, sizeof(command), NULL, 0, NULL, 0, "e2fsck -fy %s", partition))!=0) && (res!=1) )
+ { errprintf("command [%s] failed with return status=%d\n", command, res);
ret=-1;
goto extfs_mkfs_cleanup;
}