tree 661cecb56cc3ef7e89fe458459cd8dc9aaa09853
parent 466c3fb618b8520b75be37fcb115e9610663b945
author Nicolai Stange <nicstange@gmail.com> 1462502584 -0400
committer Theodore Ts'o <tytso@mit.edu> 1462502584 -0400

ext4: remove unmeetable inconsisteny check from ext4_find_extent()

ext4_find_extent(), stripped down to the parts relevant to this patch,
reads as

  ppos = 0;
  i = depth;
  while (i) {
    --i;
    ++ppos;
    if (unlikely(ppos > depth)) {
      ...
      ret = -EFSCORRUPTED;
      goto err;
    }
  }

Due to the loop's bounds, the condition ppos > depth can never be met.

Remove this dead code.

Signed-off-by: Nicolai Stange <nicstange@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
