diff --git a/lustre/lvfs/llog.c b/lustre/lvfs/llog.c index 12da23ba049c9f62f404ed105fdba5c19eb844ce..0b647a76ae0263922e10c007bf3af28bf2decee9 100644 --- a/lustre/lvfs/llog.c +++ b/lustre/lvfs/llog.c @@ -345,6 +345,10 @@ int llog_reverse_process(struct llog_handle *loghandle, llog_cb_t cb, --index; if (index < first_index) GOTO(out, rc = 0); + + if ((void *)rec == buf) + break; + tail = (void *)rec - sizeof(struct llog_rec_tail); rec = ((void *)rec - le32_to_cpu(tail->lrt_len)); }