Thanks,
This code was changed in the linux port - to avoid a case where we needed
256K of memory in one chunk. Looks like there was a hole in the new logic
to me. I will incorporate a different fix - since we are also reading
blocks of the end of the log in this case.
Steve
> Hi,
>
> I encountered an accident; mounting a XFS filesystem caused log
> recovery with a message "Starting XFS recovery on filesystem..."
> in spite of it had been unmounted normally.
>
> With my hack :), it seems that mount process searches the `log head'
> from the out of range.
>
> Here is a patch for 20010928 CVS tree.
>
> --- linux/fs/xfs/xfs_log_recover.c.sv Thu Sep 27 11:19:58 2001
> +++ linux/fs/xfs/xfs_log_recover.c Thu Sep 27 11:13:12 2001
> @@ -310,6 +310,8 @@
>
> buf = XFS_BUF_PTR(bp);
> for (j = 0; j < bufblks; j++) {
> + if (i + j >= start_blk + nbblks)
> + break;
> cycle = GET_CYCLE(buf, ARCH_CONVERT);
> if (cycle == stop_on_cycle_no) {
> error = i;
>
> --
> masano
|