start_blk = head_blk - num_scan_bblks;
new_blk = xlog_find_verify_cycle(log, start_blk, num_scan_bblks,
stop_on_cycle);
- if (new_blk != -1)
+ if (new_blk >= 0)
head_blk = new_blk;
+ else if (new_blk != -1) {
+ error = new_blk;
+ goto bp_err;
+ }
} else { /* need to read 2 parts of log */
/*
* We are going to scan backwards in the log in two parts. First
ASSERT(head_blk <= INT_MAX && (xfs_daddr_t) num_scan_bblks-head_blk >= 0);
new_blk= xlog_find_verify_cycle(log, start_blk,
num_scan_bblks-(int)head_blk, (stop_on_cycle - 1));
- if (new_blk != -1) {
+ if (new_blk >= 0) {
head_blk = new_blk;
goto bad_blk;
+ } else if (new_blk != -1) {
+ error = new_blk;
+ goto bp_err;
}
/*
ASSERT(head_blk <= INT_MAX);
new_blk = xlog_find_verify_cycle(log, start_blk, (int) head_blk,
stop_on_cycle);
- if (new_blk != -1)
+ if (new_blk >= 0)
head_blk = new_blk;
+ else if (new_blk != -1) {
+ error = new_blk;
+ goto bp_err;
+ }
}
bad_blk:
*/
new_blk = xlog_find_verify_cycle(log, start_blk,
(int)num_scan_bblks, 0);
- if (new_blk != -1)
+ if (new_blk >= 0)
last_blk = new_blk;
+ else if (new_blk != -1) {
+ error = new_blk;
+ goto bp_err;
+ }
/*
* Potentially backup over partial log record write. We don't need