From: Kefu Chai Date: Fri, 19 Aug 2016 06:50:38 +0000 (+0800) Subject: os/filestore/FileJournal: bail out if transaction is too large X-Git-Tag: v11.0.1~423^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F10753%2Fhead;p=ceph.git os/filestore/FileJournal: bail out if transaction is too large if a transaction is too large to fit in the FileJournal's ring buffer, we will wait. but if its size is larger than the max_size, it's likely due to a bug or an invalid setting. in that case, we'd better fail earlier. Fixes: http://tracker.ceph.com/issues/16982 Signed-off-by: Kefu Chai --- diff --git a/src/os/filestore/FileJournal.cc b/src/os/filestore/FileJournal.cc index 394a5cc399fa..4375a9731dab 100644 --- a/src/os/filestore/FileJournal.cc +++ b/src/os/filestore/FileJournal.cc @@ -1667,6 +1667,7 @@ void FileJournal::submit_entry(uint64_t seq, bufferlist& e, uint32_t orig_len, << " len " << e.length() << " (" << oncommit << ")" << dendl; assert(e.length() > 0); + assert(e.length() < header.max_size); if (osd_op) osd_op->mark_event("commit_queued_for_journal_write");