Re: [PATCH] mm: fix page_mkclean_one

From: Linus Torvalds
Date: Wed Dec 27 2006 - 23:56:04 EST




On Wed, 27 Dec 2006, Gordon Farquharson wrote:
>
> It is at all suprising that the second offset within a page can be
> less than the first offset within a page ? e.g.
>
> Chunk 260 corrupted (1-1455) (2769-127)

No, that just means that it went over to the next page (so you actually
had two consecutive pages that weren't written out).

That said, your output is very different from mine in another way. You
don't have zeroes in your pages, rather the thing seems to have data from
the next block (ie the chunk that should have 20 is reported as having 21
etc). You also have your offsets shifted up by one (ie offset 0 looks ok
for you, and then you have a strange pattern of corruption at bytes
1...1455 instead of 0..1459.

You also seem to have an example of the _earlier_ writes being corrupted,
rather than the later ones. For example (but it's also a page-crosser, so
maybe that's part of it):

Chunk 274 corrupted (1-1455) (2729-87)
Expected 18, got 19
Written as (154)11(85)

says that block chunk 274 is the corrupt one, but it was written fairly
early as #11, and the blocks around it (chunks 273 and 275) were actually
written later.

For all I know, my test-program is buggy wrt the ordering printouts,
though. Did you perhaps change the logic in any way?

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/