Bug #34541
closeddeep scrub cannot find the bitrot if the object is cached
0%
Description
quote from https://github.com/ceph/ceph/pull/23629
Say a object who has data caches, but in a while later, caches' underlying
physical device has silent disk erros accidentally, then caches and physical
data are not same. In such case, deep-scrub operation still tries to read
caches firstly and won't do crc checksum, then deep-scrub won't find such
data corruptions timely.Here introduce a new flag 'CEPH_OSD_OP_FLAG_BYPASS_CACHE' which tells
deep-scrub to bypass object caches. Note that we only bypass cache who is in
STATE_CLEAN state. For STATE_WRITING caches, currently they are not written
to physical device, so deep-scrub operation can not read physical device and
can read these dirty caches safely. Once they are in STATE_CLEAN state(or not
added to bluestore cache), next round deep-scurb can check them correctly.
Updated by Kefu Chai over 5 years ago
- Status changed from New to Pending Backport
Updated by Nathan Cutler over 5 years ago
- Copied to Backport #35067: luminous: deep scrub cannot find the bitrot if the object is cached added
Updated by Nathan Cutler over 5 years ago
- Copied to Backport #35068: mimic: deep scrub cannot find the bitrot if the object is cached added
Updated by Nathan Cutler over 5 years ago
- Status changed from Pending Backport to Resolved