On Thu, Jun 22, 2017 at 4:23 PM, Khazhismel Kumykov <khazhy@xxxxxxxxxx> wrote: > - /* read error, skip block & hope for the best */ > EXT4_ERROR_INODE(dir, "reading directory lblock %lu", > (unsigned long) block); > brelse(bh); > - goto next; > + ret = ERR_PTR(-EIO); > + goto cleanup_and_exit; EXT4_ERROR_INODE() triggers ext4_handle_error() which performs error handling. I think it should be removed here because we are returning the error to the caller and there is nothing more drastic about this error than other error return paths in the same function.