]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
seastore : add protected write to NVMeDevice class
authorJinyong Ha <jy200.ha@samsung.com>
Fri, 8 Oct 2021 05:48:55 +0000 (14:48 +0900)
committermyoungwon oh <ohmyoungwon@gmail.com>
Fri, 12 Nov 2021 04:28:21 +0000 (13:28 +0900)
commit2b5470bb7c150fc65945c038e2f7a27c069d37e2
tree78d314596d5332dc321f58fa34b24d567977cc27
parenta3aed9540a8cf2674e52aec731393d79ea4d0a70
seastore : add protected write to NVMeDevice class

Integrate protected_write()/read() to normal write()/read()
interfaces. Normal write()/read() interfaces utilize protection feature
if the feature is available.

To support data protection, SSD needs to change LBA format from 512
bytes to 520 bytes which contains additional 8 bytes metadata.
Additional metadata can be utilized as user-specific usage or used by
SSD for data protection. It means that all IOs should be aligned with
520 bytes without protection or 512 bytes with protection. Current Linux
and Ceph does not support 520 bytes LBA. So the only method can be
chosen is 512 bytes with protection. It is why explicit
protected_write()/read() interfaces are integrated to normal
write()/read() interfaces.

Signed-off-by: Jinyong Ha <jy200.ha@samsung.com>
src/crimson/os/seastore/random_block_manager/nvmedevice.cc
src/crimson/os/seastore/random_block_manager/nvmedevice.h