summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2001-06-22 20:35:38 -0400
committerTheodore Ts'o <tytso@mit.edu>2001-06-22 20:35:38 -0400
commit42475e281d22dbefd7f0b399f6056f642fa0ab92 (patch)
tree95a3ab9f43ef00348e41ce74157c64ef9481b713
parent20a57e98df16645999ae32ee13272c193172c586 (diff)
downloade2fsprogs-42475e281d22dbefd7f0b399f6056f642fa0ab92.tar.gz
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.
-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;