]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore: ignore 0x2000~2000 extent oddity from luminous upgrade 17845/head
authorSage Weil <sage@redhat.com>
Wed, 20 Sep 2017 16:38:46 +0000 (12:38 -0400)
committerSage Weil <sage@redhat.com>
Wed, 20 Sep 2017 16:38:46 +0000 (12:38 -0400)
commit4959ad310a96208565b47c035ab5d5dded1b8ff5
treea94c5ce2362c0e2fd366d7ff299d3e7edb9b185b
parent5ba5ad000be0c09ff32dd5a1b9ec4ee62b2cf7be
os/bluestore: ignore 0x2000~2000 extent oddity from luminous upgrade

Luminous does a block_size granularity freelist, and assumes that
0~ROUND_UP_TO(SUPER_RESERVED,block_size) is used.  Current master uses
min_alloc_size granularity and changes that assumption to
0~ROUND_UP_TO(SUPER_RESERVED,min_alloc_size).  That means if master
fsck's a luminous-created bluestore, it will think 0x2000~2000 is used
(current baked-in min_alloc_size-based assumption) but the old freelist
says it is free (old mkfs assumption).  The disparity is harmless since
the extent is below min_alloc_size, so ignore it.

Fixes: http://tracker.ceph.com/issues/21408
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueStore.cc