From: dheart Date: Fri, 27 Mar 2026 03:31:30 +0000 (+0800) Subject: BlueFS: _flush_and_sync_log_jump_D should validate that log.writer->pos <= jump_to... X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9dfbc4c9c5059581da948a919a9f520aa8ae7df8;p=ceph.git BlueFS: _flush_and_sync_log_jump_D should validate that log.writer->pos <= jump_to to avoid potential log overwrites. Signed-off-by: dheart --- diff --git a/src/os/bluestore/BlueFS.cc b/src/os/bluestore/BlueFS.cc index 9ee05b177b12..1986f67fa292 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -3796,6 +3796,7 @@ int BlueFS::_flush_and_sync_log_jump_D(uint64_t jump_to) dout(10) << __func__ << " jumping log offset from 0x" << std::hex << log.writer->pos << " -> 0x" << jump_to << std::dec << dendl; + ceph_assert(log.writer->pos <= jump_to); log.writer->pos = jump_to; vselector->sub_usage(log.writer->file->vselector_hint, log.writer->file->fnode.size); log.writer->file->fnode.size = jump_to;