]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore/BlueFS: fix device_migrate_to_* to handle varying alloc sizes 29537/head
authorSage Weil <sage@redhat.com>
Thu, 8 Aug 2019 18:30:59 +0000 (13:30 -0500)
committerSage Weil <sage@redhat.com>
Fri, 9 Aug 2019 15:10:12 +0000 (10:10 -0500)
commit94269741959a4280225b6330dfb015f1799fd1f2
treeaa48a29aaa9afde7ac10ca01fe972751c62fde35
parente8b5a458c306dfe166b09239fc9f57c04fa47ead
os/bluestore/BlueFS: fix device_migrate_to_* to handle varying alloc sizes

The previous implementation moved extents individually.  This caused
problems when moving an extent with a small alloc_size that wasn't
a multiple of the target device's alloc_size.

Instead, identify files with extents that need to be moved, and then read
the file in its entirety and rewrite it in its entirety.

Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueFS.cc