From 7326e0d7752748d61b0012ccc19bbae3c51cc31e Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Mon, 29 Jul 2019 18:40:07 +0800 Subject: [PATCH] os/bluestore: s/align_down/p2align/ we have two implementations of align_{up,down}(). let's consolidate them. * s/align_up/p2roundup/ * s/align_down/p2align/ * drop common/align.h Signed-off-by: Kefu Chai --- src/common/align.h | 30 ------------------------------ src/os/bluestore/KernelDevice.cc | 6 +++--- src/os/bluestore/NVMEDevice.cc | 6 +++--- 3 files changed, 6 insertions(+), 36 deletions(-) delete mode 100644 src/common/align.h diff --git a/src/common/align.h b/src/common/align.h deleted file mode 100644 index b5c25b9904a56..0000000000000 --- a/src/common/align.h +++ /dev/null @@ -1,30 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab -/* - * Ceph - scalable distributed file system - * - * Copyright (C) 2015 XSky - * - * Author: Haomai Wang - * - * This is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software - * Foundation. See file COPYING. - * - */ - -#ifndef CEPH_COMMON_ALIGN_H -#define CEPH_COMMON_ALIGN_H - -template -inline constexpr T align_up(T v, T align) { - return (v + align - 1) & ~(align - 1); -} - -template -inline constexpr T align_down(T v, T align) { - return v & ~(align - 1); -} - -#endif /* CEPH_COMMON_ALIGN_H */ diff --git a/src/os/bluestore/KernelDevice.cc b/src/os/bluestore/KernelDevice.cc index 47b321a4aac15..d4f10e794166f 100644 --- a/src/os/bluestore/KernelDevice.cc +++ b/src/os/bluestore/KernelDevice.cc @@ -20,6 +20,7 @@ #include #include "KernelDevice.h" +#include "include/intarith.h" #include "include/types.h" #include "include/compat.h" #include "include/stringify.h" @@ -29,7 +30,6 @@ #include "bsm/audit_errno.h" #endif #include "common/debug.h" -#include "common/align.h" #include "common/numa.h" #include "global/global_context.h" @@ -1019,8 +1019,8 @@ int KernelDevice::aio_read( int KernelDevice::direct_read_unaligned(uint64_t off, uint64_t len, char *buf) { - uint64_t aligned_off = align_down(off, block_size); - uint64_t aligned_len = align_up(off+len, block_size) - aligned_off; + uint64_t aligned_off = p2align(off, block_size); + uint64_t aligned_len = p2roundup(off+len, block_size) - aligned_off; bufferptr p = buffer::create_small_page_aligned(aligned_len); int r = 0; diff --git a/src/os/bluestore/NVMEDevice.cc b/src/os/bluestore/NVMEDevice.cc index acd9eb0354659..107bd085bd296 100644 --- a/src/os/bluestore/NVMEDevice.cc +++ b/src/os/bluestore/NVMEDevice.cc @@ -31,10 +31,10 @@ #include +#include "include/intarith.h" #include "include/stringify.h" #include "include/types.h" #include "include/compat.h" -#include "common/align.h" #include "common/errno.h" #include "common/debug.h" #include "common/perf_counters.h" @@ -923,8 +923,8 @@ int NVMEDevice::read_random(uint64_t off, uint64_t len, char *buf, bool buffered ceph_assert(off < size); ceph_assert(off + len <= size); - uint64_t aligned_off = align_down(off, block_size); - uint64_t aligned_len = align_up(off+len, block_size) - aligned_off; + uint64_t aligned_off = p2align(off, block_size); + uint64_t aligned_len = p2roundup(off+len, block_size) - aligned_off; dout(5) << __func__ << " " << off << "~" << len << " aligned " << aligned_off << "~" << aligned_len << dendl; IOContext ioc(g_ceph_context, nullptr); -- 2.39.5