]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore: handle spurious read errors 23273/head
authorPaul Emmerich <paul.emmerich@croit.io>
Thu, 26 Jul 2018 19:24:38 +0000 (21:24 +0200)
committerPaul Emmerich <paul.emmerich@croit.io>
Mon, 10 Sep 2018 22:54:45 +0000 (22:54 +0000)
commitcffcbc73aaaa874829d5fc9091af3042b887f9a7
tree3390755de96558d4992e29d2c94b3350d15176aa
parent10f1c4c9ded19a8d6aef95b3cc3ca049ad90383d
os/bluestore: handle spurious read errors

Some kernels (4.9+) sometime fail to return data when reading
from a block device under memory pressure. This patch retries
the read if the checksum verification fails, tests show that
the first retried read succeeds in ~99.5% of the cases, so
3 attempts are made by default before giving up on the data.

Works-around: http://tracker.ceph.com/issues/22464
Signed-off-by: Paul Emmerich <paul.emmerich@croit.io>
src/common/legacy_config_opts.h
src/common/options.cc
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h
src/test/objectstore/store_test.cc