]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore: use direct write in BlueStore::_write_bdev_label 48092/head
authorluo rixin <luorixin@huawei.com>
Wed, 14 Sep 2022 11:50:01 +0000 (19:50 +0800)
committerluo rixin <luorixin@huawei.com>
Wed, 14 Sep 2022 12:26:32 +0000 (20:26 +0800)
commitafdb5e4271dcabb8aaa7f5c797c31dcbb2e387f6
tree6459791703cac9537473e86b32d27665fe51de91
parent2bdccfd5eab5a18a4b6a69ef7ee31916a3f1968e
os/bluestore: use direct write in BlueStore::_write_bdev_label

On AArch64 with kernel page size 64K, it occurs occasionally
"OSD::init(): unable to read osd superblock" when deploying osd.
As bluestore use direct write to write the superblock at 0x2000~1000
and BlueStore::_write_bdev_label use buffer write to write label at
0x0~1000, The OS flush the buffer write algined to page size, it will
overwrite the superblock(0x2000~1000). Use driect write to avoid
overwriting the superblock.

Fixes: https://tracker.ceph.com/issues/57537
Signed-off-by: luo rixin <luorixin@huawei.com>
src/os/bluestore/BlueStore.cc