From: Theodore Ts'o Date: Wed, 27 Feb 2013 19:54:37 +0000 (-0500) Subject: ext4: fix extent status tree regression for file systems > 512GB X-Git-Tag: v3.9-rc1~53^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8e919d13048cd5acaadb2b15b48acbfb8832d3c2;p=pandora-kernel.git ext4: fix extent status tree regression for file systems > 512GB This fixes a regression introduced by commit f7fec032aa782. The problem was that the extents status flags caused us to mask out block numbers smaller than 2**28 blocks. Since we didn't test with file systems smaller than 512GB, we didn't notice this during the development cycle. A typical failure looks like this: EXT4-fs error (device sdb1): htree_dirblock_to_tree:919: inode #172235804: block 152052301: comm ls: bad entry in directory: rec_len is smaller than minimal - offset=0(0), inode=0, rec_len=0, name_len=0 ... where 'debugfs -R "stat <172235804>" /dev/sdb1' reports that the inode has block number 688923213. When viewed in hex, block number 152052301 (from the syslog) is 0x910224D, while block number 688923213 is 0x2910224D. Note the missing "0x20000000" in the block number. Reported-by: Markus Trippelsdorf Verified-by: Markus Trippelsdorf Reported-by: Dave Jones Verified-by: Dave Jones Cc: Zheng Liu Signed-off-by: "Theodore Ts'o" --- Reading git-diff-tree failed