linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@osdl.org>
To: David Miller <davem@davemloft.net>
Cc: akpm@osdl.org, guichaz@yahoo.fr, ranma@tdiedrich.de,
	gordonfarquharson@gmail.com, mh+linux-kernel@zugschlus.de,
	nickpiggin@yahoo.com.au, andrei.popa@i-neo.ro,
	linux-kernel@vger.kernel.org, a.p.zijlstra@chello.nl,
	hugh@veritas.com, fw@deneb.enyo.de, tbm@cyrius.com,
	arjan@infradead.org, kenneth.w.chen@intel.com
Subject: Re: 2.6.19 file content corruption on ext3
Date: Thu, 28 Dec 2006 17:38:38 -0800 (PST)	[thread overview]
Message-ID: <Pine.LNX.4.64.0612281730550.4473@woody.osdl.org> (raw)
In-Reply-To: <20061228.145038.71089607.davem@davemloft.net>

[-- Attachment #1: Type: TEXT/PLAIN, Size: 9586 bytes --]


Btw, 
 much cleaned-up page tracing patch here, in case anybody cares (and 
"test.c" attached, although I don't think it changed since last time). 

The test.c output is a bit hard to read at times, since it will give 
offsets in bytes as hex (ie "00a77664" means page frame 00000a77, and byte 
664h within that page), while the kernel output is obvioiusly the page 
indexes (but the page fault _addresses_ can contain information about the 
exact byte in a page, so you can match them up when some kernel event is 
related to a page fault).

So both forms are necessary/logical, but it means that to match things up, 
you often need to ignore the last three hex digits of the address that 
"test.c" outputs.

This one also adds traces for the tags and the writeback activity, but 
since I'm going out for birthday dinner, I won't have time to try to 
actually analyse the trace I have.. Which is why I'm sending it out, in 
the hope that somebody else is working on this corruption issue and is 
interested..

		Linus

----
diff --git a/fs/buffer.c b/fs/buffer.c
index 263f88e..f5e132a 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -722,6 +722,7 @@ int __set_page_dirty_buffers(struct page *page)
 			set_buffer_dirty(bh);
 			bh = bh->b_this_page;
 		} while (bh != head);
+		PAGE_TRACE(page, "dirtied buffers");
 	}
 	spin_unlock(&mapping->private_lock);
 
@@ -734,6 +735,7 @@ int __set_page_dirty_buffers(struct page *page)
 			__inc_zone_page_state(page, NR_FILE_DIRTY);
 			task_io_account_write(PAGE_CACHE_SIZE);
 		}
+		PAGE_TRACE(page, "setting TAG_DIRTY");
 		radix_tree_tag_set(&mapping->page_tree,
 				page_index(page), PAGECACHE_TAG_DIRTY);
 	}
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index 350878a..0cf3dce 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -91,6 +91,14 @@
 #define PG_nosave_free		18	/* Used for system suspend/resume */
 #define PG_buddy		19	/* Page is free, on buddy lists */
 
+#define SetPageInteresting(page) set_bit(PG_arch_1, &(page)->flags)
+#define PageInteresting(page)	test_bit(PG_arch_1, &(page)->flags)
+
+#define PAGE_TRACE(page, msg, arg...) do {	 				\
+	if (PageInteresting(page))	 					\
+		printk(KERN_DEBUG "PG %08lx: %s:%d " msg "\n", 			\
+			(page)->index, __FILE__, __LINE__ ,##arg );		\
+} while (0)
 
 #if (BITS_PER_LONG > 32)
 /*
@@ -183,32 +191,38 @@ static inline void SetPageUptodate(struct page *page)
 #define PageWriteback(page)	test_bit(PG_writeback, &(page)->flags)
 #define SetPageWriteback(page)						\
 	do {								\
-		if (!test_and_set_bit(PG_writeback,			\
-				&(page)->flags))			\
+		if (!test_and_set_bit(PG_writeback, &(page)->flags)) {	\
+			PAGE_TRACE(page, "set writeback");		\
 			inc_zone_page_state(page, NR_WRITEBACK);	\
+		}							\
 	} while (0)
 #define TestSetPageWriteback(page)					\
 	({								\
 		int ret;						\
 		ret = test_and_set_bit(PG_writeback,			\
 					&(page)->flags);		\
-		if (!ret)						\
+		if (!ret) {						\
+			PAGE_TRACE(page, "set writeback");		\
 			inc_zone_page_state(page, NR_WRITEBACK);	\
+		}							\
 		ret;							\
 	})
 #define ClearPageWriteback(page)					\
 	do {								\
-		if (test_and_clear_bit(PG_writeback,			\
-				&(page)->flags))			\
+		if (test_and_clear_bit(PG_writeback, &(page)->flags)) {	\
+			PAGE_TRACE(page, "end writeback");		\
 			dec_zone_page_state(page, NR_WRITEBACK);	\
+		}							\
 	} while (0)
 #define TestClearPageWriteback(page)					\
 	({								\
 		int ret;						\
 		ret = test_and_clear_bit(PG_writeback,			\
 				&(page)->flags);			\
-		if (ret)						\
+		if (ret) {						\
+			PAGE_TRACE(page, "end writeback");		\
 			dec_zone_page_state(page, NR_WRITEBACK);	\
+		}							\
 		ret;							\
 	})
 
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 5c26818..7735b83 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -79,7 +79,7 @@ config DEBUG_KERNEL
 
 config LOG_BUF_SHIFT
 	int "Kernel log buffer size (16 => 64KB, 17 => 128KB)" if DEBUG_KERNEL
-	range 12 21
+	range 12 24
 	default 17 if S390 || LOCKDEP
 	default 16 if X86_NUMAQ || IA64
 	default 15 if SMP
diff --git a/mm/filemap.c b/mm/filemap.c
index 8332c77..4df7d35 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -116,6 +116,7 @@ void __remove_from_page_cache(struct page *page)
 {
 	struct address_space *mapping = page->mapping;
 
+	PAGE_TRACE(page, "Removing page cache");
 	radix_tree_delete(&mapping->page_tree, page->index);
 	page->mapping = NULL;
 	mapping->nrpages--;
@@ -421,6 +422,23 @@ int filemap_write_and_wait_range(struct address_space *mapping,
 	return err;
 }
 
+static noinline int is_interesting(struct address_space *mapping)
+{
+	struct inode *inode = mapping->host;
+	struct dentry *dentry;
+	int retval = 0;
+
+	spin_lock(&dcache_lock);
+	list_for_each_entry(dentry, &inode->i_dentry, d_alias) {
+		if (strcmp(dentry->d_name.name, "mapfile"))
+			continue;
+		retval = 1;
+		break;
+	}
+	spin_unlock(&dcache_lock);
+	return retval;
+}
+
 /**
  * add_to_page_cache - add newly allocated pagecache pages
  * @page:	page to add
@@ -439,6 +457,9 @@ int add_to_page_cache(struct page *page, struct address_space *mapping,
 {
 	int error = radix_tree_preload(gfp_mask & ~__GFP_HIGHMEM);
 
+	if (is_interesting(mapping))
+		SetPageInteresting(page);
+
 	if (error == 0) {
 		write_lock_irq(&mapping->tree_lock);
 		error = radix_tree_insert(&mapping->page_tree, offset, page);
diff --git a/mm/memory.c b/mm/memory.c
index 563792f..20af32f 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -667,6 +667,7 @@ static unsigned long zap_pte_range(struct mmu_gather *tlb,
 			tlb_remove_tlb_entry(tlb, pte, addr);
 			if (unlikely(!page))
 				continue;
+			PAGE_TRACE(page, "unmapped at %08lx", addr);
 			if (unlikely(details) && details->nonlinear_vma
 			    && linear_page_index(details->nonlinear_vma,
 						addr) != page->index)
@@ -1605,6 +1606,7 @@ gotten:
 		 */
 		ptep_clear_flush(vma, address, page_table);
 		set_pte_at(mm, address, page_table, entry);
+		PAGE_TRACE(new_page, "write fault at %08lx", address);
 		update_mmu_cache(vma, address, entry);
 		lru_cache_add_active(new_page);
 		page_add_new_anon_rmap(new_page, vma, address);
@@ -2249,6 +2251,7 @@ retry:
 		entry = mk_pte(new_page, vma->vm_page_prot);
 		if (write_access)
 			entry = maybe_mkwrite(pte_mkdirty(entry), vma);
+		PAGE_TRACE(new_page, "mapping at %08lx (%s)", address, write_access ? "write" : "read");
 		set_pte_at(mm, address, page_table, entry);
 		if (anon) {
 			inc_mm_counter(mm, anon_rss);
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index b3a198c..15f3aaf 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -773,6 +773,7 @@ int __set_page_dirty_nobuffers(struct page *page)
 				__inc_zone_page_state(page, NR_FILE_DIRTY);
 				task_io_account_write(PAGE_CACHE_SIZE);
 			}
+			PAGE_TRACE(page, "setting TAG_DIRTY");
 			radix_tree_tag_set(&mapping->page_tree,
 				page_index(page), PAGECACHE_TAG_DIRTY);
 		}
@@ -813,6 +814,7 @@ int fastcall set_page_dirty(struct page *page)
 		if (!spd)
 			spd = __set_page_dirty_buffers;
 #endif
+		PAGE_TRACE(page, "setting dirty");
 		return (*spd)(page);
 	}
 	if (!PageDirty(page)) {
@@ -867,6 +869,7 @@ int clear_page_dirty_for_io(struct page *page)
 
 	if (TestClearPageDirty(page)) {
 		if (mapping_cap_account_dirty(mapping)) {
+			PAGE_TRACE(page, "clean_for_io");
 			page_mkclean(page);
 			dec_zone_page_state(page, NR_FILE_DIRTY);
 		}
@@ -886,10 +889,12 @@ int test_clear_page_writeback(struct page *page)
 
 		write_lock_irqsave(&mapping->tree_lock, flags);
 		ret = TestClearPageWriteback(page);
-		if (ret)
+		if (ret) {
+			PAGE_TRACE(page, "clearing TAG_WRITEBACK");
 			radix_tree_tag_clear(&mapping->page_tree,
 						page_index(page),
 						PAGECACHE_TAG_WRITEBACK);
+		}
 		write_unlock_irqrestore(&mapping->tree_lock, flags);
 	} else {
 		ret = TestClearPageWriteback(page);
@@ -907,14 +912,18 @@ int test_set_page_writeback(struct page *page)
 
 		write_lock_irqsave(&mapping->tree_lock, flags);
 		ret = TestSetPageWriteback(page);
-		if (!ret)
+		if (!ret) {
+			PAGE_TRACE(page, "setting TAG_WRITEBACK");
 			radix_tree_tag_set(&mapping->page_tree,
 						page_index(page),
 						PAGECACHE_TAG_WRITEBACK);
-		if (!PageDirty(page))
+		}
+		if (!PageDirty(page)) {
+			PAGE_TRACE(page, "clearing TAG_DIRTY");
 			radix_tree_tag_clear(&mapping->page_tree,
 						page_index(page),
 						PAGECACHE_TAG_DIRTY);
+		}
 		write_unlock_irqrestore(&mapping->tree_lock, flags);
 	} else {
 		ret = TestSetPageWriteback(page);
diff --git a/mm/rmap.c b/mm/rmap.c
index 57306fa..e6b4676 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -448,6 +448,7 @@ static int page_mkclean_one(struct page *page, struct vm_area_struct *vma)
 	if (pte_dirty(*pte) || pte_write(*pte)) {
 		pte_t entry;
 
+		PAGE_TRACE(page, "cleaning PTE %08lx", address);
 		flush_cache_page(vma, address, pte_pfn(*pte));
 		entry = ptep_clear_flush(vma, address, pte);
 		entry = pte_wrprotect(entry);
@@ -637,6 +638,7 @@ static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma,
 		goto out_unmap;
 	}
 
+	PAGE_TRACE(page, "unmapping from %08lx", address);
 	/* Nuke the page table entry. */
 	flush_cache_page(vma, address, page_to_pfn(page));
 	pteval = ptep_clear_flush(vma, address, pte);
@@ -767,6 +769,7 @@ static void try_to_unmap_cluster(unsigned long cursor,
 		if (ptep_clear_flush_young(vma, address, pte))
 			continue;
 
+		PAGE_TRACE(page, "unmapping from %08lx", address);
 		/* Nuke the page table entry. */
 		flush_cache_page(vma, address, pte_pfn(*pte));
 		pteval = ptep_clear_flush(vma, address, pte);

[-- Attachment #2: Type: TEXT/PLAIN, Size: 2975 bytes --]

#include <sys/mman.h>
#include <sys/fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <time.h>

#define TARGETSIZE (22 << 20)
#define CHUNKSIZE (1460)
#define NRCHUNKS (TARGETSIZE / CHUNKSIZE)
#define SIZE (NRCHUNKS * CHUNKSIZE)

static void fillmem(void *start, int nr)
{
	memset(start, nr, CHUNKSIZE);
}

#define page_offset(buf, off) (unsigned)((unsigned long)(buf)+(off)-(unsigned long)(mapping))

static int chunkorder[NRCHUNKS];
static char *mapping;

static int order(int nr)
{
	int i;
	if (nr < 0 || nr >= NRCHUNKS)
		return -1;
	for (i = 0; i < NRCHUNKS; i++)
		if (chunkorder[i] == nr)
			return i;
	return -2;
}

static void checkmem(void *buf, int nr)
{
	unsigned int start = ~0u, end = 0;
	unsigned char c = nr, *p = buf, differs = 0;
	int i;
	for (i = 0; i < CHUNKSIZE; i++) {
		unsigned char got = *p++;
		if (got != c) {
			if (i < start)
				start = i;
			if (i > end)
				end = i;
			differs = got;
		}
	}
	if (start < end) {
		printf("Chunk %d corrupted (%u-%u)  (%x-%x)            \n", nr, start, end,
			page_offset(buf, start), page_offset(buf, end));
		printf("Expected %u, got %u\n", c, differs);
		printf("Written as (%d)%d(%d)\n", order(nr-1), order(nr), order(nr+1));
	}
}

static char *remap(int fd, char *mapping)
{
	if (mapping) {
		munmap(mapping, SIZE);
		posix_fadvise(fd, 0, SIZE, POSIX_FADV_DONTNEED);
	}
	return mmap(NULL, SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
}

int main(int argc, char **argv)
{
	int fd, i;

	/*
	 * Make some random ordering of writing the chunks to the
	 * memory map..
	 *
	 * Start with fully ordered..
	 */
	for (i = 0; i < NRCHUNKS; i++)
		chunkorder[i] = i;

	/* ..and then mix it up randomly */
	srandom(time(NULL));
	for (i = 0; i < NRCHUNKS; i++) {
		int index = (unsigned int) random() % NRCHUNKS;
		int nr = chunkorder[index];
		chunkorder[index] = chunkorder[i];
		chunkorder[i] = nr;
	}

	fd = open("mapfile", O_RDWR | O_TRUNC | O_CREAT, 0666);
	if (fd < 0)
		return -1;
	if (ftruncate(fd, SIZE) < 0)
		return -1;
	mapping = remap(fd, NULL);
	if (-1 == (int)(long)mapping)
		return -1;

	for (i = 0; i < NRCHUNKS; i++) {
		int chunk = chunkorder[i];
		printf("Writing chunk %d/%d (%d%%) (%08x)     \r",
			chunk, NRCHUNKS,
			100*i/NRCHUNKS,
			page_offset(mapping, chunk * CHUNKSIZE));
		fillmem(mapping + chunk * CHUNKSIZE, chunk);
	}
	printf("\n");

	/* Unmap, drop, and remap.. */
	mapping = remap(fd, mapping);

	/* .. and check */
	for (i = 0; i < NRCHUNKS; i++) {
		int chunk = i;
		printf("Checking chunk %d/%d (%d%%) (%08x)    \r",
			i, NRCHUNKS,
			100*i/NRCHUNKS,
			page_offset(mapping, i * CHUNKSIZE));
		checkmem(mapping + chunk * CHUNKSIZE, chunk);
	}
	printf("\n");

	/* Clean up for next time */
	sleep(5);
	sync();
	sleep(5);
	munmap(mapping, SIZE);
	close(fd);
	unlink("mapfile");
	
	return 0;
}

  parent reply	other threads:[~2006-12-29  1:39 UTC|newest]

Thread overview: 333+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-17  0:13 2.6.19 file content corruption on ext3 Andrei Popa
2006-12-17 12:06 ` Andrew Morton
2006-12-17 12:19   ` Marc Haber
2006-12-17 12:32   ` Andrei Popa
2006-12-17 13:39   ` Andrei Popa
2006-12-17 23:40     ` Andrew Morton
2006-12-18  1:02       ` Linus Torvalds
2006-12-18  1:22       ` Linus Torvalds
2006-12-18  1:29         ` Linus Torvalds
2006-12-18  1:57           ` Linus Torvalds
2006-12-18  4:51             ` Nick Piggin
2006-12-18  5:43               ` Andrew Morton
2006-12-18  7:22                 ` Nick Piggin
2006-12-18  9:18                   ` Andrew Morton
2006-12-18  9:26                     ` Andrei Popa
2006-12-18  9:42                     ` Nick Piggin
2006-12-19  8:51                 ` Marc Haber
2006-12-19  9:28                   ` Martin Michlmayr
2006-12-28 18:05                   ` Marc Haber
2006-12-28 19:00                     ` Linus Torvalds
2006-12-28 19:05                       ` Petri Kaukasoina
2006-12-28 19:21                         ` Linus Torvalds
2006-12-28 19:39                           ` Dave Jones
2006-12-28 20:10                             ` Arjan van de Ven
2006-12-29  9:23                             ` maximilian attems
2006-12-29 15:02                               ` Dave Jones
2006-12-29 18:52                                 ` maximilian attems
2006-12-29 19:14                                   ` Dave Jones
2006-12-28 21:24                       ` Linus Torvalds
2006-12-28 21:36                         ` Russell King
2006-12-28 22:37                         ` Linus Torvalds
2006-12-28 22:50                           ` David Miller
2006-12-28 23:01                             ` Linus Torvalds
2006-12-29  1:38                             ` Linus Torvalds [this message]
2006-12-29  1:59                               ` Andrew Morton
2006-12-28 23:36                           ` Anton Altaparmakov
2006-12-28 23:54                             ` Linus Torvalds
2006-12-29 17:49                       ` Guillaume Chazarain
2006-12-18  5:50               ` Linus Torvalds
2006-12-18  7:16                 ` Andrew Morton
2006-12-18  7:17                   ` Andrew Morton
2006-12-18  9:30                   ` Nick Piggin
2006-12-18  7:30                 ` Nick Piggin
2006-12-18  9:19                 ` Andrei Popa
2006-12-18  9:38                   ` Andrew Morton
2006-12-18 10:00                     ` Andrei Popa
2006-12-18 10:11                       ` Peter Zijlstra
2006-12-18 10:49                         ` Andrei Popa
2006-12-18 15:24                           ` Gene Heskett
2006-12-18 15:32                             ` Peter Zijlstra
2006-12-18 15:47                               ` Gene Heskett
2006-12-18 16:55       ` Peter Zijlstra
2006-12-18 18:03         ` Linus Torvalds
2006-12-18 18:24           ` Peter Zijlstra
2006-12-18 18:35             ` Linus Torvalds
2006-12-18 19:04               ` Andrei Popa
2006-12-18 19:10                 ` Peter Zijlstra
2006-12-18 19:18                 ` Linus Torvalds
2006-12-18 19:44                   ` Andrei Popa
2006-12-18 20:14                     ` Linus Torvalds
2006-12-18 20:41                       ` Linus Torvalds
2006-12-18 21:11                         ` Andrei Popa
2006-12-18 22:00                           ` Alessandro Suardi
2006-12-18 22:45                             ` Linus Torvalds
2006-12-19  0:13                               ` Andrei Popa
2006-12-19  0:29                                 ` Linus Torvalds
2006-12-18 22:32                           ` Linus Torvalds
2006-12-18 23:48                             ` Andrei Popa
2006-12-19  0:04                               ` Linus Torvalds
2006-12-19  0:29                                 ` Andrei Popa
2006-12-19  0:57                                   ` Linus Torvalds
2006-12-19  1:21                                     ` Andrew Morton
2006-12-19  1:44                                       ` Andrei Popa
2006-12-19  1:54                                         ` Andrew Morton
2006-12-19  2:04                                           ` Andrei Popa
2006-12-19  8:05                                           ` Andrei Popa
2006-12-19  8:24                                             ` Andrew Morton
2006-12-19  8:34                                               ` Pekka Enberg
2006-12-19  9:13                                               ` Marc Haber
2006-12-19  1:50                                     ` Andrei Popa
2006-12-19  1:03                               ` Gene Heskett
2006-12-18 22:34                         ` Gene Heskett
2006-12-22 17:27                           ` Linus Torvalds
2006-12-18 21:43                       ` Andrew Morton
2006-12-18 21:49                       ` Peter Zijlstra
2006-12-19 23:42                       ` Peter Zijlstra
2006-12-20  0:23                         ` Linus Torvalds
2006-12-20  9:01                           ` Peter Zijlstra
2006-12-20  9:12                             ` Peter Zijlstra
2006-12-20  9:39                             ` Arjan van de Ven
2006-12-20 11:26                               ` [PATCH] mm: fix page_mkclean_one (was: 2.6.19 file content corruption on ext3) Peter Zijlstra
2006-12-20 11:39                                 ` Jesper Juhl
2006-12-20 11:42                                   ` Peter Zijlstra
2006-12-20 12:12                                     ` Jesper Juhl
2006-12-20 13:00                                 ` Hugh Dickins
2006-12-20 13:56                                   ` Peter Zijlstra
2006-12-20 17:03                                     ` Martin Michlmayr
2006-12-20 17:35                                       ` Linus Torvalds
2006-12-20 17:53                                         ` Martin Michlmayr
2006-12-20 19:01                                           ` Linus Torvalds
2006-12-20 19:50                                             ` Linus Torvalds
2006-12-20 20:22                                               ` Peter Zijlstra
2006-12-20 21:55                                               ` Dave Kleikamp
2006-12-20 22:25                                                 ` Linus Torvalds
2006-12-20 22:59                                                   ` Dave Kleikamp
2006-12-20 22:15                                               ` Peter Zijlstra
2006-12-20 22:20                                                 ` Peter Zijlstra
2006-12-20 22:49                                                 ` Linus Torvalds
2006-12-20 23:03                                                   ` Peter Zijlstra
2006-12-21  9:16                                                     ` Martin Schwidefsky
2006-12-21  9:20                                                       ` Peter Zijlstra
2006-12-21  9:26                                                         ` Martin Schwidefsky
2006-12-21 20:01                                                         ` Linus Torvalds
2006-12-28  0:00                                                           ` Martin Schwidefsky
2006-12-28  0:42                                                             ` Linus Torvalds
2006-12-28  0:52                                                               ` [PATCH] mm: fix page_mkclean_one David Miller
2006-12-21  2:36                                                 ` [PATCH] mm: fix page_mkclean_one (was: 2.6.19 file content corruption on ext3) Trond Myklebust
2006-12-21  8:10                                                   ` Peter Zijlstra
2006-12-20 23:24                                               ` David Chinner
2006-12-20 23:55                                                 ` Linus Torvalds
2006-12-21  1:20                                                   ` David Chinner
2006-12-20 23:32                                               ` Andrew Morton
2006-12-20 23:55                                                 ` Linus Torvalds
2006-12-21  0:11                                                   ` Andrew Morton
2006-12-21  0:22                                                     ` Linus Torvalds
2006-12-21  0:24                                                       ` Linus Torvalds
2006-12-21 15:48                                                         ` Andrei Popa
2006-12-21 16:58                                                           ` Linus Torvalds
2006-12-21  0:43                                                       ` Linus Torvalds
2006-12-21  1:20                                                         ` Andrew Morton
2006-12-21  2:54                                                   ` Trond Myklebust
2006-12-21 17:19                                                     ` Linus Torvalds
2006-12-21  7:32                                               ` Gordon Farquharson
2006-12-21  7:53                                                 ` Linus Torvalds
2006-12-21  8:38                                                   ` Martin Michlmayr
2006-12-21  8:59                                                     ` Linus Torvalds
2006-12-21  9:17                                                   ` Gordon Farquharson
2006-12-21  9:27                                                     ` Andrew Morton
2006-12-22  4:20                                                       ` Gordon Farquharson
2006-12-22  4:54                                                         ` Linus Torvalds
2006-12-22 10:00                                                           ` Martin Michlmayr
2006-12-22 10:06                                                             ` Martin Michlmayr
2006-12-22 10:10                                                               ` Martin Michlmayr
2006-12-22 11:07                                                                 ` Martin Michlmayr
2006-12-22 15:30                                                                 ` Gordon Farquharson
2006-12-22 17:11                                                                   ` Martin Michlmayr
2006-12-22 10:17                                                             ` Andrew Morton
2006-12-22 11:12                                                               ` Martin Michlmayr
2006-12-22 12:24                                                               ` Andrei Popa
2006-12-22 12:32                                                                 ` Martin Michlmayr
2006-12-22 12:59                                                                   ` Martin Michlmayr
2006-12-22 13:25                                                                     ` Peter Zijlstra
2006-12-22 13:29                                                                       ` Peter Zijlstra
2006-12-22 17:56                                                                       ` Linus Torvalds
2006-12-22 19:20                                                                       ` Martin Michlmayr
2006-12-24  8:10                                                                         ` Gordon Farquharson
2006-12-24  8:43                                                                           ` Linus Torvalds
2006-12-24  8:57                                                                             ` Andrew Morton
2006-12-24  9:26                                                                               ` Linus Torvalds
2006-12-24 12:14                                                                               ` Andrei Popa
2006-12-24 12:26                                                                                 ` Andrei Popa
2006-12-24 12:30                                                                                   ` Andrew Morton
2006-12-24 12:31                                                                                 ` Andrew Morton
2006-12-24 16:45                                                                                   ` Andrei Popa
2006-12-24 17:16                                                                                     ` Linus Torvalds
2006-12-24 18:07                                                                                       ` Andrew Morton
2006-12-24 18:37                                                                                       ` Linus Torvalds
2006-12-24 19:18                                                                                         ` Linus Torvalds
2006-12-24 20:55                                                                                           ` Gordon Farquharson
2006-12-26 10:31                                                                                           ` Nick Piggin
2006-12-26 19:26                                                                                             ` Linus Torvalds
2006-12-27 12:32                                                                                               ` Jari Sundell
2006-12-27 12:44                                                                                               ` valdyn
2006-12-27 13:33                                                                                                 ` Jari Sundell
2007-01-07  2:06                                                                                               ` Tom Lanyon
2007-01-07  5:58                                                                                                 ` Tom Lanyon
2007-01-07  6:05                                                                                                 ` Andrew Morton
2006-12-24 21:21                                                                                         ` Michael S. Tsirkin
2006-12-24 19:27                                                                                       ` Gordon Farquharson
2006-12-24 19:35                                                                                         ` Linus Torvalds
2006-12-24 20:10                                                                                           ` Andrei Popa
2006-12-24 20:24                                                                                             ` Linus Torvalds
2006-12-24 20:30                                                                                               ` Andrei Popa
2006-12-26 17:51                                                                                               ` Al Viro
2006-12-26 17:58                                                                                                 ` Al Viro
2006-12-24 22:01                                                                                           ` Martin Michlmayr
2006-12-24 14:05                                                                               ` Martin Michlmayr
2006-12-26 16:17                                                                             ` Tobias Diedrich
2006-12-27  4:55                                                                               ` [PATCH] mm: fix page_mkclean_one David Miller
2006-12-27  7:00                                                                                 ` Linus Torvalds
2006-12-27  8:39                                                                                   ` Andrei Popa
2006-12-28  0:16                                                                                 ` Linus Torvalds
2006-12-28  0:39                                                                                   ` Linus Torvalds
2006-12-28  0:52                                                                                     ` David Miller
2006-12-28  3:04                                                                                       ` Linus Torvalds
2006-12-28  4:32                                                                                         ` Gordon Farquharson
2006-12-28  4:53                                                                                           ` Linus Torvalds
2006-12-28  5:20                                                                                             ` Gordon Farquharson
2006-12-28  5:41                                                                                               ` David Miller
2006-12-28  5:47                                                                                                 ` Gordon Farquharson
2006-12-28 10:13                                                                                               ` Russell King
2006-12-28 14:15                                                                                                 ` Gordon Farquharson
2006-12-28 15:53                                                                                                   ` Martin Michlmayr
2006-12-28 17:27                                                                                                 ` Linus Torvalds
2006-12-28 18:44                                                                                                   ` Russell King
2006-12-28 19:01                                                                                                     ` Linus Torvalds
     [not found]                                                                                             ` <97a0a9ac0612272115g4cce1f08n3c3c8498a6076bd5@mail.gmail.com>
     [not found]                                                                                               ` <Pine.LNX.4.64.0612272120180.4473@woody.osdl.org>
2006-12-28  5:38                                                                                                 ` Gordon Farquharson
2006-12-28  9:30                                                                                                   ` Martin Michlmayr
2006-12-28 10:16                                                                                                   ` Martin Michlmayr
2006-12-28 10:49                                                                                                     ` Russell King
2006-12-28 14:56                                                                                                       ` Martin Michlmayr
2006-12-28  5:58                                                                                                 ` Gordon Farquharson
2006-12-28 17:08                                                                                                   ` Linus Torvalds
2006-12-28  5:55                                                                                         ` Chen, Kenneth W
2006-12-28  6:10                                                                                           ` Chen, Kenneth W
2006-12-28  6:27                                                                                             ` David Miller
2006-12-28 17:10                                                                                             ` Linus Torvalds
2006-12-28  9:15                                                                                         ` Zhang, Yanmin
2006-12-28 17:15                                                                                           ` Linus Torvalds
2006-12-28 11:50                                                                                         ` Petri Kaukasoina
2006-12-28 15:09                                                                                         ` Guillaume Chazarain
2006-12-28 19:19                                                                                           ` Guillaume Chazarain
2006-12-28 19:28                                                                                             ` Linus Torvalds
2006-12-28 19:45                                                                                               ` Andrew Morton
2006-12-28 20:14                                                                                                 ` Linus Torvalds
2006-12-28 22:38                                                                                                   ` David Miller
2006-12-29  2:50                                                                                                     ` Segher Boessenkool
2006-12-29  6:48                                                                                                       ` Linus Torvalds
2006-12-29  8:58                                                                                                         ` Ok, explained.. (was Re: [PATCH] mm: fix page_mkclean_one) Linus Torvalds
2006-12-29 10:48                                                                                                           ` Linus Torvalds
2006-12-29 11:16                                                                                                             ` Andrei Popa
2006-12-29 12:09                                                                                                             ` Nick Piggin
2006-12-29 17:25                                                                                                               ` Linus Torvalds
2006-12-29 12:31                                                                                                             ` Ingo Molnar
2006-12-29 13:08                                                                                                             ` Martin Johansson
2006-12-29 14:08                                                                                                             ` Martin Michlmayr
2006-12-29 15:17                                                                                                               ` Stephen Clark
2006-12-29 15:54                                                                                                                 ` Martin Michlmayr
2006-12-29 22:16                                                                                                             ` Andrew Morton
2006-12-29 22:24                                                                                                               ` Andrew Morton
2006-12-29 22:42                                                                                                               ` Linus Torvalds
2006-12-29 23:32                                                                                                                 ` Theodore Tso
2006-12-29 23:59                                                                                                                   ` Linus Torvalds
2006-12-30  0:05                                                                                                                   ` Andrew Morton
2006-12-30  0:50                                                                                                                     ` Linus Torvalds
2006-12-29 23:51                                                                                                                 ` Andrew Morton
2006-12-30  0:11                                                                                                                   ` Linus Torvalds
2006-12-30  0:33                                                                                                                     ` Andrew Morton
2006-12-30  0:58                                                                                                                       ` Linus Torvalds
2006-12-30  1:16                                                                                                                         ` Andrew Morton
2006-12-29 15:27                                                                                                           ` Theodore Tso
2006-12-29 17:51                                                                                                             ` Linus Torvalds
2006-12-29 12:19                                                                                                         ` [patch] fix data corruption bug in __block_write_full_page() Ingo Molnar
2007-01-02 11:20                                                                                                           ` Christoph Hellwig
2007-01-02 12:06                                                                                                             ` Ingo Molnar
2007-01-02 12:16                                                                                                               ` Christoph Hellwig
2006-12-28 22:35                                                                                                 ` [PATCH] mm: fix page_mkclean_one Mike Galbraith
2006-12-22 15:01                                                                   ` [PATCH] mm: fix page_mkclean_one (was: 2.6.19 file content corruption on ext3) Patrick Mau
2006-12-23  8:15                                                                   ` Andrei Popa
2006-12-22 15:08                                                           ` Gordon Farquharson
2006-12-22 10:01                                                         ` Martin Michlmayr
2006-12-22 15:16                                                           ` Gordon Farquharson
2006-12-21 12:30                                                   ` Russell King
2006-12-21 12:36                                                     ` Russell King
2006-12-21 11:21                                               ` Martin Michlmayr
2006-12-20 22:11                                       ` Russell King
2006-12-21  8:18                                         ` Martin Michlmayr
2006-12-21  9:54                                           ` Russell King
2006-12-20 14:55                                 ` Martin Schwidefsky
2006-12-20 14:27                             ` 2.6.19 file content corruption on ext3 Martin Schwidefsky
2006-12-20  9:32                           ` Peter Zijlstra
2006-12-20 14:15                         ` Andrei Popa
2006-12-20 14:23                           ` Peter Zijlstra
2006-12-20 16:30                             ` Andrei Popa
2006-12-20 16:36                               ` Peter Zijlstra
2006-12-19  7:38                   ` Peter Zijlstra
2006-12-19  4:36           ` Nick Piggin
2006-12-19  6:34             ` Linus Torvalds
2006-12-19  6:51               ` Nick Piggin
2006-12-19  7:26                 ` Linus Torvalds
2006-12-19  8:04                   ` Linus Torvalds
2006-12-19  9:00                     ` Peter Zijlstra
2006-12-19  9:05                       ` Peter Zijlstra
     [not found]                     ` <4587B762.2030603@yahoo.com.au>
2006-12-19 10:32                       ` Andrew Morton
2006-12-19 10:42                         ` Nick Piggin
2006-12-19 10:47                         ` Andrew Morton
2006-12-19 10:52                         ` Peter Zijlstra
2006-12-19 10:58                           ` Nick Piggin
2006-12-19 11:51                             ` Peter Zijlstra
2006-12-19 10:55                         ` Nick Piggin
2006-12-19 16:51                       ` Linus Torvalds
2006-12-19 17:43                         ` Linus Torvalds
2006-12-19 18:59                           ` Linus Torvalds
2006-12-19 21:30                             ` Peter Zijlstra
2006-12-19 22:51                               ` Linus Torvalds
2006-12-19 22:58                                 ` Andrew Morton
2006-12-19 23:06                                   ` Peter Zijlstra
2006-12-19 23:07                                     ` Peter Zijlstra
2006-12-20  0:03                                     ` Linus Torvalds
2006-12-20  0:18                                       ` Andrew Morton
2006-12-20 18:02                               ` Stephen Clark
2006-12-20  5:56                             ` Jari Sundell
2006-12-19 21:56                           ` Florian Weimer
2006-12-21 13:03                           ` Peter Zijlstra
2006-12-21 20:40                             ` Andrew Morton
2006-12-19 20:03               ` dean gaudet
2006-12-19  7:22             ` Peter Zijlstra
2006-12-19  7:59               ` Nick Piggin
2006-12-19  8:14                 ` Linus Torvalds
2006-12-19  9:40                   ` Nick Piggin
2006-12-19 16:46                     ` Linus Torvalds
  -- strict thread matches above, loose matches on Subject: below --
2006-12-07 15:57 Marc Haber
2006-12-07 16:50 ` Phillip Susi
2006-12-08  1:38   ` Fernando Luis Vázquez Cao
2006-12-08 16:42     ` Marc Haber
2006-12-09 10:47       ` Jan Kara
2006-12-11 19:07         ` Marc Haber
2006-12-14 12:03           ` Jan Kara
2006-12-15  9:30             ` Marc Haber
2006-12-16  8:29               ` Marc Haber
2006-12-09 23:46       ` Mike Galbraith
2006-12-11  9:31         ` Marc Haber
2006-12-09  9:26   ` Marc Haber
2006-12-16 18:43     ` Martin Michlmayr
2006-12-16 19:18       ` Hugh Dickins
2006-12-16 21:29         ` Peter Zijlstra
2006-12-16 23:08           ` Hugh Dickins
2006-12-17 13:52         ` Jan Kara
2006-12-22 17:05       ` Marc Haber
2006-12-16 18:31 ` Florian Weimer
2006-12-17 11:52   ` Andrew Morton
2006-12-22 13:30 ` Daniel Drake
2006-12-22 17:03   ` Marc Haber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.64.0612281730550.4473@woody.osdl.org \
    --to=torvalds@osdl.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@osdl.org \
    --cc=andrei.popa@i-neo.ro \
    --cc=arjan@infradead.org \
    --cc=davem@davemloft.net \
    --cc=fw@deneb.enyo.de \
    --cc=gordonfarquharson@gmail.com \
    --cc=guichaz@yahoo.fr \
    --cc=hugh@veritas.com \
    --cc=kenneth.w.chen@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mh+linux-kernel@zugschlus.de \
    --cc=nickpiggin@yahoo.com.au \
    --cc=ranma@tdiedrich.de \
    --cc=tbm@cyrius.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).