mirror of
https://github.com/ceph/ceph
synced 2024-12-28 06:23:08 +00:00
os/bluestore/BlueFS: use uint64_t for len
change the type of parameter `len` of `BlueFS::_read_random()` from `size_t` to `uint64_t`. i think the type of `size_t` comes from `rocksdb::RandomAccessFile::Read(uint64_t offset, size_t n, rocksdb::Slice* result, char* scratch)`. and when we implement this method, we continued using `n`'s type. but, we are using it with `std::min()`, for instance, where the template parameter type deduction fails if the lhs and rhs parameters' types are different. so probaly the better solution is to use `uint64_t` directly to avoid the the cast and specializing the template. Signed-off-by: Kefu Chai <kchai@redhat.com>
This commit is contained in:
parent
a4276e9a3b
commit
10a953afc8
@ -1354,7 +1354,7 @@ void BlueFS::_drop_link(FileRef file)
|
||||
int BlueFS::_read_random(
|
||||
FileReader *h, ///< [in] read from here
|
||||
uint64_t off, ///< [in] offset
|
||||
size_t len, ///< [in] this many bytes
|
||||
uint64_t len, ///< [in] this many bytes
|
||||
char *out) ///< [out] optional: or copy it here
|
||||
{
|
||||
auto* buf = &h->buf;
|
||||
@ -1384,7 +1384,7 @@ int BlueFS::_read_random(
|
||||
s_lock.unlock();
|
||||
uint64_t x_off = 0;
|
||||
auto p = h->file->fnode.seek(off, &x_off);
|
||||
uint64_t l = std::min(p->length - x_off, static_cast<uint64_t>(len));
|
||||
uint64_t l = std::min(p->length - x_off, len);
|
||||
dout(20) << __func__ << " read random 0x"
|
||||
<< std::hex << x_off << "~" << l << std::dec
|
||||
<< " of " << *p << dendl;
|
||||
|
@ -375,7 +375,7 @@ private:
|
||||
int _read_random(
|
||||
FileReader *h, ///< [in] read from here
|
||||
uint64_t offset, ///< [in] offset
|
||||
size_t len, ///< [in] this many bytes
|
||||
uint64_t len, ///< [in] this many bytes
|
||||
char *out); ///< [out] optional: or copy it here
|
||||
|
||||
void _invalidate_cache(FileRef f, uint64_t offset, uint64_t length);
|
||||
|
Loading…
Reference in New Issue
Block a user