|
@@ -3190,7 +3190,13 @@ int ext4_ext_get_blocks(handle_t *handle, struct inode *inode,
|
|
* this situation is possible, though, _during_ tree modification;
|
|
* this situation is possible, though, _during_ tree modification;
|
|
* this is why assert can't be put in ext4_ext_find_extent()
|
|
* this is why assert can't be put in ext4_ext_find_extent()
|
|
*/
|
|
*/
|
|
- BUG_ON(path[depth].p_ext == NULL && depth != 0);
|
|
|
|
|
|
+ if (path[depth].p_ext == NULL && depth != 0) {
|
|
|
|
+ ext4_error(inode->i_sb, __func__, "bad extent address "
|
|
|
|
+ "inode: %lu, iblock: %d, depth: %d",
|
|
|
|
+ inode->i_ino, iblock, depth);
|
|
|
|
+ err = -EIO;
|
|
|
|
+ goto out2;
|
|
|
|
+ }
|
|
eh = path[depth].p_hdr;
|
|
eh = path[depth].p_hdr;
|
|
|
|
|
|
ex = path[depth].p_ext;
|
|
ex = path[depth].p_ext;
|