mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-11-23 10:04:01 +08:00
Don't offer to update or clone the resize inode when e2fsck deals with
multiply claimed blocks.
This commit is contained in:
parent
1f3ad14a5a
commit
5e91614349
6
TODO
6
TODO
@ -276,3 +276,9 @@ cleanliness. (I will probably have to do this myself -- Ted)
|
||||
extent maps first/in parallel.
|
||||
|
||||
Difficulty: High Priority: Medium
|
||||
|
||||
----------------------------------
|
||||
|
||||
Need to deal with the case where the resize inode overlaps with the
|
||||
bad blocks inode.
|
||||
|
||||
|
@ -1,5 +1,8 @@
|
||||
2005-04-14 Theodore Ts'o <tytso@mit.edu>
|
||||
|
||||
* pass1b.c (pass1d): Don't offer to clone or delete the resize
|
||||
inode; it's not allowed!
|
||||
|
||||
* e2fsck.c, e2fsck.h, journal.c, pass1.c, pass1b.c, pass2.c,
|
||||
pass3.c, pass4.c, super.c, unix.c: Use a centrally stored
|
||||
current time for "now" which can be overridden using the
|
||||
|
@ -432,7 +432,7 @@ static void pass1d(e2fsck_t ctx, char *block_buf)
|
||||
shared_len = 0;
|
||||
file_ok = 1;
|
||||
ino = (ext2_ino_t)VOIDPTR_TO_INT(dnode_getkey(n));
|
||||
if (ino == EXT2_BAD_INO)
|
||||
if (ino == EXT2_BAD_INO || ino == EXT2_RESIZE_INO)
|
||||
continue;
|
||||
|
||||
/*
|
||||
|
@ -1,3 +1,7 @@
|
||||
2005-04-14 Theodore Ts'o <tytso@mit.edu>
|
||||
|
||||
* f_dup_resize: New test case
|
||||
|
||||
2005-04-09 Theodore Ts'o <tytso@mit.edu>
|
||||
|
||||
* test_script.in: Make the test script driver exit with a non-zero
|
||||
|
33
tests/f_dup_resize/expect.1
Normal file
33
tests/f_dup_resize/expect.1
Normal file
@ -0,0 +1,33 @@
|
||||
Resize inode not valid. Recreate? yes
|
||||
|
||||
Pass 1: Checking inodes, blocks, and sizes
|
||||
Duplicate blocks found... invoking duplicate block passes.
|
||||
Pass 1B: Rescan for duplicate/bad blocks
|
||||
Duplicate/bad block(s) in inode 7: 4 5 6 7
|
||||
Duplicate/bad block(s) in inode 12: 4 5 6 7
|
||||
Pass 1C: Scan directories for inodes with dup blocks.
|
||||
Pass 1D: Reconciling duplicate blocks
|
||||
(There are 1 inodes containing duplicate/bad blocks.)
|
||||
|
||||
File /debugfs (inode #12, mod time Mon Apr 11 00:00:00 2005)
|
||||
has 4 duplicate block(s), shared with 1 file(s):
|
||||
<The group descriptor inode> (inode #7, mod time Mon Apr 11 06:13:20 2005)
|
||||
Clone duplicate/bad blocks? yes
|
||||
|
||||
Pass 2: Checking directory structure
|
||||
Pass 3: Checking directory connectivity
|
||||
Pass 4: Checking reference counts
|
||||
Pass 5: Checking group summary information
|
||||
Block bitmap differences: +(8195--8198)
|
||||
Fix? yes
|
||||
|
||||
Free blocks count wrong for group #0 (7910, counted=7911).
|
||||
Fix? yes
|
||||
|
||||
Free blocks count wrong (9754, counted=9755).
|
||||
Fix? yes
|
||||
|
||||
|
||||
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
||||
test_filesys: 12/2560 files (8.3% non-contiguous), 485/10240 blocks
|
||||
Exit status is 1
|
7
tests/f_dup_resize/expect.2
Normal file
7
tests/f_dup_resize/expect.2
Normal file
@ -0,0 +1,7 @@
|
||||
Pass 1: Checking inodes, blocks, and sizes
|
||||
Pass 2: Checking directory structure
|
||||
Pass 3: Checking directory connectivity
|
||||
Pass 4: Checking reference counts
|
||||
Pass 5: Checking group summary information
|
||||
test_filesys: 12/2560 files (16.7% non-contiguous), 485/10240 blocks
|
||||
Exit status is 0
|
1
tests/f_dup_resize/name
Normal file
1
tests/f_dup_resize/name
Normal file
@ -0,0 +1 @@
|
||||
blocks claimed by the resize inode and another inode
|
18
tests/f_dup_resize/script
Normal file
18
tests/f_dup_resize/script
Normal file
@ -0,0 +1,18 @@
|
||||
SKIP_GUNZIP="true"
|
||||
|
||||
touch $TMPFILE
|
||||
mke2fs -F -O resize_inode $TMPFILE 10240 > /dev/null 2>&1
|
||||
debugfs -w $TMPFILE << "EOF" > /dev/null 2>&1
|
||||
freeb 4 4
|
||||
freeb 8195 4
|
||||
write /sbin/debugfs debugfs
|
||||
set_inode_field debugfs mtime 200504110000
|
||||
q
|
||||
EOF
|
||||
|
||||
E2FSCK_TIME=1113200000
|
||||
export E2FSCK_TIME
|
||||
|
||||
. $cmd_dir/run_e2fsck
|
||||
|
||||
unset E2FSCK_TIME
|
Loading…
Reference in New Issue
Block a user