Bug 994615

Summary: e2fsck incorrectly detects uninit extents past EOF as invalid
Product: Red Hat Enterprise Linux 6 Reporter: Eric Sandeen <esandeen>
Component: e2fsprogsAssignee: Eric Sandeen <esandeen>
Status: CLOSED ERRATA QA Contact: Eryu Guan <eguan>
Severity: high Docs Contact:
Priority: high    
Version: 6.5CC: dmonakhov, eguan, jharriga, sct
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: e2fsprogs-1.41.12-17.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1002488 (view as bug list) Environment:
Last Closed: 2013-11-21 22:44:02 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1002488    

Description Eric Sandeen 2013-08-07 15:49:33 UTC
After the fix for bug #922847:

  e2fsprogs-1.41.12-e2fsck-overlapping-extents.patch
  e2fsck: detect invalid extents at the end of an extent-block

e2fsck began incorrectly flagging uninitialized extents past EOF as invalid:

Testcase:

# for I in `seq 0 2 8`; do fallocate -o ${I}m -l 1m test/testfile ; done
# fallocate -n -o 12m -l 1m test/testfile
# umount test
# e2fsck -fy /dev/sdb1
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Inode 12, end of extent exceeds allowed value
	(logical block 3072, physical block 34304, len 256)
Clear? yes

Inode 12, i_blocks is 12296, should be 10248.  Fix? 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:  -(34304--34559)
Fix? yes

Free blocks count wrong for group #1 (31059, counted=31315).
Fix? yes

Free blocks count wrong (669199, counted=669455).
Fix? yes


/dev/sdb1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sdb1: 12/174944 files (0.0% non-contiguous), 29681/699136 blocks


Eric Whitney has a patch on the list to resolve this issue.

Comment 1 Eric Sandeen 2013-08-07 15:52:29 UTC
Unfortunately the same regression was pushed to z-stream, so this needs to follow it there as well.

Comment 4 Eric Sandeen 2013-08-12 22:44:39 UTC
Building in e2fsprogs-1.41.12-17.el6

Comment 6 Eryu Guan 2013-08-29 09:58:08 UTC
Reproduced with e2fsprogs-1.41.12-15.el6 which contains the fix for bug 922847.

=== fsck.log ===
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Inode 12, end of extent exceeds allowed value
        (logical block 12288, physical block 20481, len 1024)
Clear? no

Inode 12, i_blocks is 12292, should be 10244.  Fix? no

Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:  -(20481--21504)
Fix? no


/dev/loop0: ********** WARNING: Filesystem still has errors **********

/dev/loop0: 12/32768 files (8.3% non-contiguous), 15933/131072 blocks

Verified with e2fsprogs-1.41.12-18.el6

Set to VERIFIED

Comment 7 Eric Sandeen 2013-11-18 18:01:21 UTC
*** Bug 985466 has been marked as a duplicate of this bug. ***

Comment 8 errata-xmlrpc 2013-11-21 22:44:02 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-1689.html