summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--e2fsck/ChangeLog6
-rw-r--r--e2fsck/super.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/e2fsck/ChangeLog b/e2fsck/ChangeLog
index e2cb66c6..782aec72 100644
--- a/e2fsck/ChangeLog
+++ b/e2fsck/ChangeLog
@@ -1,3 +1,9 @@
+2001-06-19 Theodore Tso <tytso@valinux.com>
+
+ * super.c (release_inode_blocks): Don't try to release the blocks
+ if the orphaned inode is a device file, symlink, or some
+ other kind of special file that doesn't have a block list.
+
2001-06-15 Theodore Tso <tytso@valinux.com>
* Release of E2fsprogs 1.21
diff --git a/e2fsck/super.c b/e2fsck/super.c
index 7a4a64ab..1e67d1c6 100644
--- a/e2fsck/super.c
+++ b/e2fsck/super.c
@@ -172,6 +172,9 @@ static int release_inode_blocks(e2fsck_t ctx, ext2_ino_t ino,
errcode_t retval;
struct process_block_struct pb;
+ if (!ext2fs_inode_has_valid_blocks(inode))
+ return 0;
+
pb.buf = block_buf + 3 * ctx->fs->blocksize;
pb.ctx = ctx;
pb.abort = 0;