alloc = cephsan_pagefrag_alloc(&ctx->pf, needed_size);
int loop_count = 0;
while (!alloc) {
- if (loop_count++ >= 8)
+ if (loop_count++ >= 32) {
+ pr_err("ceph_san_log: pagefrag stats - head: %u, tail: %u, size: %u, free: %d\n",
+ ctx->pf.head, ctx->pf.tail,
+ CEPHSAN_PAGEFRAG_SIZE,
+ (ctx->pf.tail > ctx->pf.head) ?
+ ctx->pf.tail - ctx->pf.head :
+ CEPHSAN_PAGEFRAG_SIZE - (ctx->pf.head - ctx->pf.tail));
+
panic("ceph_san_log: failed to allocate entry after 8 retries");
+ }
entry = cephsan_pagefrag_get_ptr_from_tail(&ctx->pf);
BUG_ON(entry->debug_poison != CEPH_SAN_LOG_ENTRY_POISON);
BUG_ON(entry->len == 0);