]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
librbd/cache/pwl/ssd: solve competition between read and retire
authorFeng Hualong <hualong.feng@intel.com>
Fri, 30 Jul 2021 12:24:05 +0000 (20:24 +0800)
committerDeepika Upadhyay <dupadhya@redhat.com>
Fri, 5 Nov 2021 09:22:02 +0000 (14:52 +0530)
commitb388a34470d27f7cc7965b467f554741c52cc766
tree070a04b0490bf7fdac7d8bc3967c02f2cbc73c40
parent89182b581a377c86ec8d1903d9d1350c27ffe517
librbd/cache/pwl/ssd: solve competition between read and retire

SSD read is not like rwl's. SSD need aio read. Therefore,
we cannot guarantee that the data will not be retire
during the period from sending the read request to the SSD
and receiving the data to the memory, which may cause
the corresponding data on the SSD to be overwritten.

Fixes: https://tracker.ceph.com/issues/52236
Signed-off-by: Feng Hualong <hualong.feng@intel.com>
(cherry picked from commit dfdb452aa996af40f7b0ec684670ccf9a9b2d4c1)
src/librbd/cache/pwl/AbstractWriteLog.cc
src/librbd/cache/pwl/AbstractWriteLog.h
src/librbd/cache/pwl/LogEntry.cc
src/librbd/cache/pwl/LogEntry.h
src/librbd/cache/pwl/rwl/LogEntry.cc
src/librbd/cache/pwl/rwl/LogEntry.h
src/librbd/cache/pwl/rwl/WriteLog.cc
src/librbd/cache/pwl/rwl/WriteLog.h
src/librbd/cache/pwl/ssd/LogEntry.h
src/librbd/cache/pwl/ssd/WriteLog.cc
src/librbd/cache/pwl/ssd/WriteLog.h