From de8edb732e3a5ce4471670e43cfe6357ae6a2758 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Wed, 13 Mar 2013 16:04:23 -0700 Subject: [PATCH] FileJournal: queue_pos \in [get_top(), header.max_size) If queue_pos == header.max_size when we create the entry header magic, the entry will be rejected at get_top() on replay. Fixes: #4436 Backport: bobtail Signed-off-by: Samuel Just Reviewed-by: Sage Weil --- src/os/FileJournal.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/os/FileJournal.cc b/src/os/FileJournal.cc index 0056f1f23b447..218347efa4962 100644 --- a/src/os/FileJournal.cc +++ b/src/os/FileJournal.cc @@ -914,7 +914,7 @@ int FileJournal::prepare_single_write(bufferlist& bl, off64_t& queue_pos, uint64 writing_seq = seq; queue_pos += size; - if (queue_pos > header.max_size) + if (queue_pos >= header.max_size) queue_pos = queue_pos + get_top() - header.max_size; return 0; -- 2.39.5