File Corruption Bug.. continued

Message ID
State New, archived
Headers show
  • File Corruption Bug.. continued
Related show

Commit Message

Alan Cox June 23, 1999, 2:21 p.m. UTC
I've now been through most of the 2.2.7->2.2.9 diff set discarding stuff
that seems not to be a viable candiate.

The remaining suspects are:
	o	Quota - which has big 2.2.7->2.2.9 changes.
	o	The small scsi changes (dubious)
	o	A small mm change

There are other candiates - notably
	TCP changes
	interrupt changes

The tcp changes ought to have shown up more than this does. The interrupt
changes dont really seem to explain cross platform stuff. And I doubt most
people running these tests were running irda. NFS is a possibility.

So - are most people seeing the problems running quotas ? And would someone
with their brain firmly wrapped around the page cache/vfs verify this change
that was made is absolutely safe

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at


diff -u --new-file --recursive --exclude-from ../../exclude linux.2.2.7/mm/page_alloc.c linux.2.2.9/mm/page_alloc.c
--- linux.2.2.7/mm/page_alloc.c	Wed Jun 23 17:48:03 1999
+++ linux.2.2.9/mm/page_alloc.c	Wed Jun 23 17:43:53 1999
@@ -419,12 +419,12 @@ 
-	/* The page is unshared, and we want write access.  In this
-	   case, it is safe to tear down the swap cache and give the
-	   page over entirely to this process. */
-	if (PageSwapCache(page_map))
-		delete_from_swap_cache(page_map);
+	/*
+	 * The page is unshared and we're going to dirty it - so tear
+	 * down the swap cache and give exclusive access to the page to
+	 * this process.
+	 */
+	delete_from_swap_cache(page_map);
 	set_pte(page_table, pte_mkwrite(pte_mkdirty(mk_pte(page, vma->vm_page_prot))));