From f72ad486ac653c2f1bf8a62c99971e1d6ae98b26 Mon Sep 17 00:00:00 2001 From: myoungwon oh Date: Tue, 25 May 2021 16:55:34 +0900 Subject: [PATCH] seastore/rbm: fix wrong statement Signed-off-by: Myoungwon Oh --- src/crimson/os/seastore/randomblock_manager.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/crimson/os/seastore/randomblock_manager.cc b/src/crimson/os/seastore/randomblock_manager.cc index 9897aa79eec..46e140bcd3b 100644 --- a/src/crimson/os/seastore/randomblock_manager.cc +++ b/src/crimson/os/seastore/randomblock_manager.cc @@ -481,7 +481,8 @@ RandomBlockManager::write( bufferptr &bptr) { ceph_assert(device); - if (addr > super.end - super.start) { + if (addr > super.end || addr < super.start || + bptr.length() > super.end - super.start) { return crimson::ct_error::erange::make(); } return device->write( @@ -492,16 +493,16 @@ RandomBlockManager::write( RandomBlockManager::read_ertr::future<> RandomBlockManager::read( blk_paddr_t addr, - bufferptr &buffer) + bufferptr &bptr) { ceph_assert(device); - if (addr > super.end - super.start || - buffer.length() > super.end - super.start) { + if (addr > super.end || addr < super.start || + bptr.length() > super.end - super.start) { return crimson::ct_error::erange::make(); } return device->read( addr, - buffer); + bptr); } RandomBlockManager::close_ertr::future<> -- 2.39.5