From: mark15213 Date: Wed, 4 Aug 2021 13:02:32 +0000 (+0800) Subject: libcephsqlite: fix unconditional success bug in CheckReservedLock X-Git-Tag: v17.1.0~1127^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e8162b1e2a048b5007db3653ff1299ea49e458f2;p=ceph.git libcephsqlite: fix unconditional success bug in CheckReservedLock we don't want to set result to zero at the end. Otherwise, the if above would be useless and the function cannot be used to check the reserved lock. Fixes: https://tracker.ceph.com/issues/52001 Signed-off-by: Shuai Wang --- diff --git a/src/libcephsqlite.cc b/src/libcephsqlite.cc index 25782ff93974..9765a933f350 100644 --- a/src/libcephsqlite.cc +++ b/src/libcephsqlite.cc @@ -255,6 +255,7 @@ static int CheckReservedLock(sqlite3_file *file, int *result) auto f = (cephsqlite_file*)file; auto start = ceph::coarse_mono_clock::now(); df(5) << dendl; + *result = 0; auto& lock = f->lock; if (lock > SQLITE_LOCK_SHARED) { @@ -265,7 +266,6 @@ static int CheckReservedLock(sqlite3_file *file, int *result) f->io.rs->print_lockers(*_dout); *_dout << dendl; - *result = 0; auto end = ceph::coarse_mono_clock::now(); getdata(f->vfs).logger->tinc(P_OPF_CHECKRESERVEDLOCK, end-start); return SQLITE_OK;