Messages in this thread | | | Date | Thu, 02 Apr 2009 15:30:26 +0200 | From | Thiemo Nagel <> | Subject | Re: 2.6.29-git: cannot mount ext4/loop |
| |
Alexander Beregalov wrote: > 2009/4/2 Alexander Beregalov <a.beregalov@gmail.com>: >> 2009/4/2 Alexander Beregalov <a.beregalov@gmail.com>: >>> 2009/4/2 Theodore Tso <tytso@mit.edu>: >>>> On Thu, Apr 02, 2009 at 02:53:51AM +0400, Alexander Beregalov wrote: >>>>> On Thu, Apr 02, 2009 at 01:23:28AM +0400, Alexander Beregalov wrote: >>>>>> Hi Theodore, Jens >>>>>> >>>>>> kernel is 2.6.29-07099-g8b53ef3 >>>>>> >>>>>> Mount failed: >>>>>> >>>>>> EXT4-fs: barriers enabled >>>>>> kjournald2 starting: pid 1867, dev loop0:8, commit interval 5 seconds >>>>>> EXT4-fs error (device loop0): ext4_iget: block reference 2703228928 >= >>>>>> max (524288) in inode #2, offset=0 >>>>>> EXT4-fs: get root inode failed >>>>>> EXT4-fs (device loop0): mount failed
This message indicates that the inode contains a reference to a block outside the filesystem at inode->i_data[0].
When I added the block range checks, initially I was assuming that when EXTENTS_FL is not set, the inode->i_data *always* contains references to further blocks. Ted showed me wrong and added the condition
ISREG() || ISDIR() || ( ISLNK() && !is_fast_symlink() )
before that assumption can be made. But maybe we need some further restraints?
Kind regards,
Thiemo
| |