optimize the lock in ObObjectDevice
This commit is contained in:
parent
49809d219c
commit
01644a390c
@ -256,7 +256,6 @@ int ObObjectDevice::release_res(void* ctx, const ObIOFd &fd, ObStorageAccessType
|
|||||||
int ret = OB_SUCCESS;
|
int ret = OB_SUCCESS;
|
||||||
int ret_tmp = OB_SUCCESS;
|
int ret_tmp = OB_SUCCESS;
|
||||||
/*release the ctx*/
|
/*release the ctx*/
|
||||||
common::ObSpinLockGuard guard(lock_);
|
|
||||||
if (OB_ISNULL(ctx)) {
|
if (OB_ISNULL(ctx)) {
|
||||||
ret = OB_INVALID_ARGUMENT;
|
ret = OB_INVALID_ARGUMENT;
|
||||||
OB_LOG(WARN, "ctx is null, invald para!");
|
OB_LOG(WARN, "ctx is null, invald para!");
|
||||||
@ -304,7 +303,6 @@ int ObObjectDevice::open(const char *pathname, const int flags, const mode_t mod
|
|||||||
int ret = OB_SUCCESS;
|
int ret = OB_SUCCESS;
|
||||||
void* ctx = NULL;
|
void* ctx = NULL;
|
||||||
ObStorageAccessType access_type = OB_STORAGE_ACCESS_MAX_TYPE;
|
ObStorageAccessType access_type = OB_STORAGE_ACCESS_MAX_TYPE;
|
||||||
common::ObSpinLockGuard guard(lock_);
|
|
||||||
//validate fd
|
//validate fd
|
||||||
if (fd_mng_.validate_fd(fd, false)) {
|
if (fd_mng_.validate_fd(fd, false)) {
|
||||||
ret = OB_INIT_TWICE;
|
ret = OB_INIT_TWICE;
|
||||||
|
@ -90,9 +90,9 @@ private:
|
|||||||
|
|
||||||
ObStorageUtil util_;
|
ObStorageUtil util_;
|
||||||
/*obj ctx pool: use to create fd ctx(reader/writer)*/
|
/*obj ctx pool: use to create fd ctx(reader/writer)*/
|
||||||
common::ObPooledAllocator<ObStorageReader> reader_ctx_pool_;
|
common::ObPooledAllocator<ObStorageReader, ObMalloc, ObSpinLock> reader_ctx_pool_;
|
||||||
common::ObPooledAllocator<ObStorageAppender> appender_ctx_pool_;
|
common::ObPooledAllocator<ObStorageAppender, ObMalloc, ObSpinLock> appender_ctx_pool_;
|
||||||
common::ObPooledAllocator<ObStorageWriter> overwriter_ctx_pool_;
|
common::ObPooledAllocator<ObStorageWriter, ObMalloc, ObSpinLock> overwriter_ctx_pool_;
|
||||||
void* base_info_;
|
void* base_info_;
|
||||||
bool is_started_;
|
bool is_started_;
|
||||||
char storage_info_[OB_MAX_URI_LENGTH];
|
char storage_info_[OB_MAX_URI_LENGTH];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user