]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore: fix aio pwritev lost data problem.
authorkungf <yang.wang@easystack.cn>
Tue, 16 Apr 2019 11:21:41 +0000 (19:21 +0800)
committerSage Weil <sage@redhat.com>
Wed, 10 Jul 2019 15:33:50 +0000 (10:33 -0500)
commit935ea30cfaf970ae449f030366914ff348c5ab75
tree73faf81d68b8a45b6ec0757801ea03cc1e393bf4
parenta347d29e9a9f48a29042be78a4e58bd4ca5dbdfc
os/bluestore: fix aio pwritev lost data problem.

On Linux, write() (and similar system calls) will transfer at most
0x7ffff000 (2,147,479,552) bytes, it will cap data if aio pwritev
more than 0x7ffff000, so we have the split the data to more aio submit.

Signed-off-by: kungf <yang.wang@easystack.cn>
(cherry picked from commit 4d33114a40d5ae0d541c36175977ca22789a3b88)
src/os/bluestore/KernelDevice.cc
src/os/bluestore/KernelDevice.h