Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 195801
b: refs/heads/master
c: 9db127e
h: refs/heads/master
i:
  195799: 4ce1588
v: v3
  • Loading branch information
Alex Elder committed May 19, 2010
1 parent 0ad597d commit 60fa52c
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 12 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8c38366f99f83a7fa441e0c0669fefc18615e005
refs/heads/master: 9db127edb54048707eb84517eb0573e597a2370a
20 changes: 9 additions & 11 deletions trunk/fs/xfs/xfs_log_recover.c
Original file line number Diff line number Diff line change
Expand Up @@ -739,7 +739,7 @@ xlog_find_head(
goto bp_err;
if (new_blk != -1) {
head_blk = new_blk;
goto bad_blk;
goto validate_head;
}

/*
Expand All @@ -757,7 +757,7 @@ xlog_find_head(
head_blk = new_blk;
}

bad_blk:
validate_head:
/*
* Now we need to make sure head_blk is not pointing to a block in
* the middle of a log record.
Expand Down Expand Up @@ -864,12 +864,12 @@ xlog_find_tail(
if (*head_blk == 0) { /* special case */
error = xlog_bread(log, 0, 1, bp, &offset);
if (error)
goto bread_err;
goto done;

if (xlog_get_cycle(offset) == 0) {
*tail_blk = 0;
/* leave all other log inited values alone */
goto exit;
goto done;
}
}

Expand All @@ -880,7 +880,7 @@ xlog_find_tail(
for (i = (int)(*head_blk) - 1; i >= 0; i--) {
error = xlog_bread(log, i, 1, bp, &offset);
if (error)
goto bread_err;
goto done;

if (XLOG_HEADER_MAGIC_NUM == be32_to_cpu(*(__be32 *)offset)) {
found = 1;
Expand All @@ -897,7 +897,7 @@ xlog_find_tail(
for (i = log->l_logBBsize - 1; i >= (int)(*head_blk); i--) {
error = xlog_bread(log, i, 1, bp, &offset);
if (error)
goto bread_err;
goto done;

if (XLOG_HEADER_MAGIC_NUM ==
be32_to_cpu(*(__be32 *)offset)) {
Expand Down Expand Up @@ -972,7 +972,7 @@ xlog_find_tail(
umount_data_blk = (i + hblks) % log->l_logBBsize;
error = xlog_bread(log, umount_data_blk, 1, bp, &offset);
if (error)
goto bread_err;
goto done;

op_head = (xlog_op_header_t *)offset;
if (op_head->oh_flags & XLOG_UNMOUNT_TRANS) {
Expand Down Expand Up @@ -1018,12 +1018,10 @@ xlog_find_tail(
* But... if the -device- itself is readonly, just skip this.
* We can't recover this device anyway, so it won't matter.
*/
if (!xfs_readonly_buftarg(log->l_mp->m_logdev_targp)) {
if (!xfs_readonly_buftarg(log->l_mp->m_logdev_targp))
error = xlog_clear_stale_blocks(log, tail_lsn);
}

bread_err:
exit:
done:
xlog_put_bp(bp);

if (error)
Expand Down

0 comments on commit 60fa52c

Please sign in to comment.