Merge pull request #522 from mmkayPL/metadata-updater-error-handling

Metadata updater error handling
This commit is contained in:
Robert Baldyga 2021-06-21 19:59:18 +02:00 committed by GitHub
commit dcc54452cf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 4 deletions

View File

@ -296,7 +296,7 @@ static void metadata_io_io_end(struct metadata_io_request *m_req, int error)
metadata_io_req_complete(m_req); metadata_io_req_complete(m_req);
} }
static void matadata_io_page_lock_acquired(struct ocf_request *req) static void metadata_io_page_lock_acquired(struct ocf_request *req)
{ {
ocf_engine_push_req_front(req, true); ocf_engine_push_req_front(req, true);
} }
@ -319,9 +319,9 @@ static void metadata_io_req_submit(struct metadata_io_request *m_req)
if (a_req->mio_conc) { if (a_req->mio_conc) {
lock = ocf_mio_async_lock(a_req->mio_conc, m_req, lock = ocf_mio_async_lock(a_req->mio_conc, m_req,
matadata_io_page_lock_acquired); metadata_io_page_lock_acquired);
if (lock != OCF_LOCK_ACQUIRED) { if (lock < 0) {
a_req->error = lock; a_req->error = lock;
metadata_io_req_finalize(m_req); metadata_io_req_finalize(m_req);
return; return;
@ -329,7 +329,7 @@ static void metadata_io_req_submit(struct metadata_io_request *m_req)
} }
if (!a_req->mio_conc || lock == OCF_LOCK_ACQUIRED) if (!a_req->mio_conc || lock == OCF_LOCK_ACQUIRED)
matadata_io_page_lock_acquired(&m_req->req); metadata_io_page_lock_acquired(&m_req->req);
} }
void metadata_io_req_end(struct metadata_io_request *m_req) void metadata_io_req_end(struct metadata_io_request *m_req)

View File

@ -719,6 +719,7 @@ int ocf_alock_lock_rd(struct ocf_alock *alock,
} else { } else {
env_atomic_set(&req->lock_remaining, 0); env_atomic_set(&req->lock_remaining, 0);
env_atomic_dec(&alock->waiting); env_atomic_dec(&alock->waiting);
lock = status;
} }
env_mutex_unlock(&alock->lock); env_mutex_unlock(&alock->lock);
} }
@ -754,6 +755,7 @@ int ocf_alock_lock_wr(struct ocf_alock *alock,
} else { } else {
env_atomic_set(&req->lock_remaining, 0); env_atomic_set(&req->lock_remaining, 0);
env_atomic_dec(&alock->waiting); env_atomic_dec(&alock->waiting);
lock = status;
} }
env_mutex_unlock(&alock->lock); env_mutex_unlock(&alock->lock);
} }