]> git.baikalelectronics.ru Git - uboot.git/commit
fs: btrfs: Fix wrong comparison in logical to physical mapping
authorMarek BehĂșn <marek.behun@nic.cz>
Wed, 4 Jul 2018 18:23:01 +0000 (20:23 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 20 Jul 2018 19:37:44 +0000 (15:37 -0400)
commita73861e77db859484497dd341a52adf32371a2d2
tree0a3506445bea0ed84db77e574a2901d45a5d5d83
parent718397f89f99b0cf0be4601e9e625449f5586990
fs: btrfs: Fix wrong comparison in logical to physical mapping

The comparison
  logical > item->logical + item->length
in btrfs_map_logical_to_physical is wrong and should be instead
  logical >= item->logical + item->length
For example, if
  item->logical = 4096
  item->length = 4096
and we are looking for logical = 8192, it is not part of item (item is
[4096, 8191]). But the comparison is false and we think we have found
the correct item, although we should be searing in the right subtree.

This fixes some bugs I encountered.

Signed-off-by: Marek Behun <marek.behun@nic.cz>
fs/btrfs/chunk-map.c