linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-kernel@vger.kernel.org, Linus Torvalds <torvalds@osdl.org>,
	Andrew Morton <akpm@osdl.org>
Subject: Re: [patch] fix data corruption bug in __block_write_full_page()
Date: Tue, 2 Jan 2007 13:06:34 +0100	[thread overview]
Message-ID: <20070102120634.GA1760@elte.hu> (raw)
In-Reply-To: <20070102112054.GC22657@infradead.org>


[Cc:-ed lkml]

* Christoph Hellwig <hch@infradead.org> wrote:

> On Fri, Dec 29, 2006 at 01:19:46PM +0100, Ingo Molnar wrote:
> > i've extended the tracer in -rt to trace all relevant pagetable, 
> > pagecache, buffer-cache and IO events and coupled the tracer to your 
> > test.c code. The corruption happens here:
> > 
> >     test-2126  0.... 3756170us+: trace_page (cf20ebd8 b6a2c000 0)
> >  pdflush-2006  0.... 6432909us+: trace_page (cf20ebd8 b6a2c000 4200420)
> >     test-2126  0.... 8135596us+: trace_page (cf20ebd8 b6a2c000 4200420)
> >     test-2126  0D... 9012933us+: do_page_fault (8048900 4 b6a2c000)
> >     test-2126  0.... 9023278us+: trace_page (cf262f24 b6a2c000 0)
> >     test-2126  0.... 9023305us > sys_prctl (000000d8 b6a2c000 000000ac)
> 
> This tracer definitly looks interesting.  Could you send a splitout 
> patch with it to lkml for review?

Find it below - it's ontop of the tracer included in 2.6.20-rc2-rt3. 
it's very ad-hoc, based on Linus' test utility. I can write such a 
tracer in 30 minutes so i usually throw them away. I literally wrote 
dozens of tracer variants for specific bugs in the past few years.

Note: this particular one tracks page contents as well from 
kernel-space, that's how i was able to see where the corruption 
happened. That assumes that there's no highmem on the box. Also, the pte 
value tracking portion is only for i386 - etc. etc. Note: for the bug to 
be visible i didnt need the per-page tracking portion of the tracer - 
the key was to track page contents, and to track how virtual addresses 
map to physical pages, and how their IO happens.

This patch is /not/ for merging: this patch too undescores my years long 
experience that static tracepoints included in the generic kernel are 
just pointless in general - i dont want to see such cruft in the kernel, 
and they amass with time. The union of all ad-hoc tracing hacks i had in 
the past would be thousands of static tracepoints - and that's just 
/me/. If we pick only a handful they wont help us find the most 
difficult bugs and they'll only create additional 'demand' for 'more' - 
leading to an endless fight.

The best method i think is to use the source code itself (Linus used 
printks) - or if any infrastructure is to be used then ad-hoc 
"scriptlets" via SystemTap can find the really difficult bugs - and in 
the long run systemtap suits that purpose best. If systemtap were 
ubiquous we could have sent scriptlets to users who experienced the 
bugs, for them to install them dynamically. Systemtap makes it plain 
obvious that tracepoints are 1) detached from the source code and are 2) 
are temporary and ad-hoc in nature. It doesnt create undue pressure to 
include more and more static tracepoints.

	Ingo

----------->
 fs/buffer.c                       |    1 
 include/asm-i386/pgtable-2level.h |    4 +
 include/linux/mm_types.h          |   22 +++++++++
 kernel/sys.c                      |   15 ++++++
 mm/Makefile                       |    2 
 mm/memory.c                       |    2 
 mm/page-writeback.c               |   33 ++++++++++++--
 mm/page_alloc.c                   |    3 +
 mm/page_trace.c                   |   84 ++++++++++++++++++++++++++++++++++++++
 mm/rmap.c                         |    2 
 10 files changed, 159 insertions(+), 9 deletions(-)

Index: linux/fs/buffer.c
===================================================================
--- linux.orig/fs/buffer.c
+++ linux/fs/buffer.c
@@ -1590,6 +1590,7 @@ static int __block_write_full_page(struc
 	int nr_underway = 0;
 
 	BUG_ON(!PageLocked(page));
+	trace_page(page, blocksize);
 
 	last_block = (i_size_read(inode) - 1) >> inode->i_blkbits;
 
Index: linux/include/asm-i386/pgtable-2level.h
===================================================================
--- linux.orig/include/asm-i386/pgtable-2level.h
+++ linux/include/asm-i386/pgtable-2level.h
@@ -13,7 +13,9 @@
  */
 #ifndef CONFIG_PARAVIRT
 #define set_pte(pteptr, pteval) (*(pteptr) = pteval)
-#define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval)
+struct mm_struct;
+extern void trace_set_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte_val);
+#define set_pte_at(mm,addr,ptep,pteval) trace_set_pte_at(mm,addr,ptep,pteval)
 #define set_pmd(pmdptr, pmdval) (*(pmdptr) = (pmdval))
 #endif
 
Index: linux/include/linux/mm_types.h
===================================================================
--- linux.orig/include/linux/mm_types.h
+++ linux/include/linux/mm_types.h
@@ -5,9 +5,29 @@
 #include <linux/threads.h>
 #include <linux/list.h>
 #include <linux/spinlock.h>
+#include <linux/stacktrace.h>
 
 struct address_space;
 
+struct page;
+struct seq_file;
+
+#define PAGE_TRACE_DEPTH	16
+#define PAGE_TRACE_NR		20
+
+struct page_trace_entry {
+	unsigned long	timestamp;
+	char		comm[17];
+	int		pid;
+	int		nr_entries;
+	unsigned long	info;
+	unsigned long	content;
+	unsigned long	entries[PAGE_TRACE_DEPTH];
+};
+
+extern void trace_page(struct page *page, unsigned long info);
+extern void print_page_trace(struct seq_file *m, struct page *page);
+
 /*
  * Each physical page in the system has a struct page associated with
  * it to keep track of whatever it is we are using the page for at the
@@ -62,6 +82,8 @@ struct page {
 	void *virtual;			/* Kernel virtual address (NULL if
 					   not kmapped, ie. highmem) */
 #endif /* WANT_PAGE_VIRTUAL */
+	int trace_idx;
+	struct page_trace_entry trace[PAGE_TRACE_NR];
 };
 
 #endif /* _LINUX_MM_TYPES_H */
Index: linux/kernel/sys.c
===================================================================
--- linux.orig/kernel/sys.c
+++ linux/kernel/sys.c
@@ -2067,6 +2067,21 @@ asmlinkage long sys_prctl(int option, un
 {
 	long error;
 
+	if (option == 999) {
+		unsigned long addr = arg2;
+		struct vm_area_struct *vma = find_vma(current->mm, addr);
+		struct page *page = NULL;
+
+		printk("page trace, got addr %08lx, vma %p\n", addr, vma);
+		if (vma) {
+			page = follow_page(vma, addr, FOLL_GET);
+			if (page) {
+				print_page_trace(NULL, page);
+				put_page(page);
+			}
+		}
+		return 0;
+	}
 #ifdef CONFIG_EVENT_TRACE
 	if (option == PR_SET_TRACING) {
 		if (arg2)
Index: linux/mm/Makefile
===================================================================
--- linux.orig/mm/Makefile
+++ linux/mm/Makefile
@@ -9,7 +9,7 @@ mmu-$(CONFIG_MMU)	:= fremap.o highmem.o 
 
 obj-y			:= bootmem.o filemap.o mempool.o oom_kill.o fadvise.o \
 			   page_alloc.o page-writeback.o pdflush.o \
-			   readahead.o swap.o truncate.o vmscan.o \
+			   readahead.o swap.o truncate.o vmscan.o page_trace.o \
 			   prio_tree.o util.o mmzone.o vmstat.o backing-dev.o \
 			   $(mmu-y)
 
Index: linux/mm/memory.c
===================================================================
--- linux.orig/mm/memory.c
+++ linux/mm/memory.c
@@ -451,6 +451,8 @@ struct page *vm_normal_page(struct vm_ar
 	 * The PAGE_ZERO() pages and various VDSO mappings can
 	 * cause them to exist.
 	 */
+
+	trace_page(pfn_to_page(pfn), addr);
 	return pfn_to_page(pfn);
 }
 
Index: linux/mm/page-writeback.c
===================================================================
--- linux.orig/mm/page-writeback.c
+++ linux/mm/page-writeback.c
@@ -762,8 +762,10 @@ int __set_page_dirty_nobuffers(struct pa
 		struct address_space *mapping = page_mapping(page);
 		struct address_space *mapping2;
 
-		if (!mapping)
+		if (!mapping) {
+			trace_page(page, 1);
 			return 1;
+		}
 
 		write_lock_irq(&mapping->tree_lock);
 		mapping2 = page_mapping(page);
@@ -781,8 +783,10 @@ int __set_page_dirty_nobuffers(struct pa
 			/* !PageAnon && !swapper_space */
 			__mark_inode_dirty(mapping->host, I_DIRTY_PAGES);
 		}
+		trace_page(page, 1);
 		return 1;
 	}
+	trace_page(page, 0);
 	return 0;
 }
 EXPORT_SYMBOL(__set_page_dirty_nobuffers);
@@ -806,6 +810,7 @@ EXPORT_SYMBOL(redirty_page_for_writepage
 int fastcall set_page_dirty(struct page *page)
 {
 	struct address_space *mapping = page_mapping(page);
+	int ret;
 
 	if (likely(mapping)) {
 		int (*spd)(struct page *) = mapping->a_ops->set_page_dirty;
@@ -813,12 +818,17 @@ int fastcall set_page_dirty(struct page 
 		if (!spd)
 			spd = __set_page_dirty_buffers;
 #endif
-		return (*spd)(page);
+		ret = (*spd)(page);
+		trace_page(page, ret);
+		return ret;
 	}
 	if (!PageDirty(page)) {
-		if (!TestSetPageDirty(page))
+		if (!TestSetPageDirty(page)) {
+			trace_page(page, 1);
 			return 1;
+		}
 	}
+	trace_page(page, 0);
 	return 0;
 }
 EXPORT_SYMBOL(set_page_dirty);
@@ -840,6 +850,7 @@ int set_page_dirty_lock(struct page *pag
 	lock_page_nosync(page);
 	ret = set_page_dirty(page);
 	unlock_page(page);
+	trace_page(page, ret);
 	return ret;
 }
 EXPORT_SYMBOL(set_page_dirty_lock);
@@ -915,13 +926,17 @@ int test_clear_page_writeback(struct pag
 
 		write_lock_irqsave(&mapping->tree_lock, flags);
 		ret = TestClearPageWriteback(page);
-		if (ret)
+		trace_page(page, ret);
+		if (ret) {
 			radix_tree_tag_clear(&mapping->page_tree,
 						page_index(page),
 						PAGECACHE_TAG_WRITEBACK);
+			trace_page(page, ret);
+		}
 		write_unlock_irqrestore(&mapping->tree_lock, flags);
 	} else {
 		ret = TestClearPageWriteback(page);
+		trace_page(page, ret);
 	}
 	return ret;
 }
@@ -936,17 +951,23 @@ int test_set_page_writeback(struct page 
 
 		write_lock_irqsave(&mapping->tree_lock, flags);
 		ret = TestSetPageWriteback(page);
-		if (!ret)
+		trace_page(page, ret);
+		if (!ret) {
 			radix_tree_tag_set(&mapping->page_tree,
 						page_index(page),
 						PAGECACHE_TAG_WRITEBACK);
-		if (!PageDirty(page))
+			trace_page(page, ret);
+		}
+		if (!PageDirty(page)) {
 			radix_tree_tag_clear(&mapping->page_tree,
 						page_index(page),
 						PAGECACHE_TAG_DIRTY);
+			trace_page(page, ret);
+		}
 		write_unlock_irqrestore(&mapping->tree_lock, flags);
 	} else {
 		ret = TestSetPageWriteback(page);
+		trace_page(page, ret);
 	}
 	return ret;
 
Index: linux/mm/page_alloc.c
===================================================================
--- linux.orig/mm/page_alloc.c
+++ linux/mm/page_alloc.c
@@ -1420,6 +1420,8 @@ nopage:
 		show_mem();
 	}
 got_pg:
+	if (page)
+		trace_page(page, order);
 	return page;
 }
 
@@ -1468,6 +1470,7 @@ void __pagevec_free(struct pagevec *pvec
 fastcall void __free_pages(struct page *page, unsigned int order)
 {
 	if (put_page_testzero(page)) {
+		trace_page(page, order);
 		if (order == 0)
 			free_hot_page(page);
 		else
Index: linux/mm/page_trace.c
===================================================================
--- /dev/null
+++ linux/mm/page_trace.c
@@ -0,0 +1,84 @@
+
+#include <linux/seq_file.h>
+#include <linux/mm.h>
+#include <linux/sched.h>
+
+void trace_page(struct page *page, unsigned long info)
+{
+	struct page_trace_entry *entry;
+	struct stack_trace trace;
+	unsigned long flags, content;
+	unsigned long *addr;
+
+	addr = (unsigned long *)page_address(page);
+	if (addr)
+		content = *addr;
+	else
+		content = 0x12344321;
+
+	trace_special((unsigned long)page, info, content);
+	trace_special_sym();
+
+	local_irq_save(flags);
+	page->trace_idx = (page->trace_idx + 1) % PAGE_TRACE_NR;
+	entry = page->trace + page->trace_idx;
+	trace.nr_entries = 0;
+	trace.max_entries = PAGE_TRACE_DEPTH;
+	trace.entries = entry->entries;
+	trace.skip = 3;
+	trace.all_contexts = 0;
+	save_stack_trace(&trace, NULL);
+	entry->nr_entries = trace.nr_entries;
+	entry->timestamp = jiffies - INITIAL_JIFFIES;
+	entry->pid = current->pid;
+	entry->info = info;
+	entry->content = content;
+	memcpy(entry->comm, current->comm, TASK_COMM_LEN);
+	local_irq_restore(flags);
+}
+
+static void print_page_trace_entry(struct seq_file *m,
+				   struct page_trace_entry *entry, int idx)
+{
+	struct stack_trace trace;
+	SEQ_printf(m, "#%02d, %06ld.%03ld, %-16s:%d, (#%d): content: %08lx, info: %08lx\n",
+		idx, entry->timestamp / HZ, entry->timestamp % HZ, entry->comm, entry->pid,
+		entry->nr_entries, entry->content, entry->info);
+
+	trace.nr_entries = entry->nr_entries;
+	trace.entries = entry->entries;
+	print_stack_trace(&trace, 2);
+	SEQ_printf(m, "\n");
+}
+
+void print_page_trace(struct seq_file *m, struct page *page)
+{
+	int i, i0;
+
+	SEQ_printf(m, "printing page %p's events:\n", page);
+
+	i0 = i = page->trace_idx;
+	do {
+		i = (i + 1) % PAGE_TRACE_NR;
+		print_page_trace_entry(m, page->trace + i, i);
+	} while (i != i0);
+}
+
+static void trace_pte(pte_t pte, unsigned long addr)
+{
+	unsigned long pfn;
+
+	if (pte_present(pte)) {
+		pfn = pte_pfn(pte);
+		if (pfn_valid(pfn))
+			trace_page(pfn_to_page(pfn), addr);
+	}
+}
+
+void trace_set_pte_at(struct mm_struct *mm, unsigned long addr,
+		      pte_t *ptep, pte_t pteval)
+{
+	trace_pte(*ptep, addr);
+	set_pte(ptep, pteval);
+	trace_pte(pteval, addr);
+}
Index: linux/mm/rmap.c
===================================================================
--- linux.orig/mm/rmap.c
+++ linux/mm/rmap.c
@@ -452,7 +452,7 @@ static int page_mkclean_one(struct page 
 		entry = ptep_clear_flush(vma, address, pte);
 		entry = pte_wrprotect(entry);
 		entry = pte_mkclean(entry);
-		set_pte_at(vma, address, pte, entry);
+		set_pte_at(mm, address, pte, entry);
 		lazy_mmu_prot_update(entry);
 		ret = 1;
 	}

  reply	other threads:[~2007-01-02 12:10 UTC|newest]

Thread overview: 311+ 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
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 [this message]
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

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=20070102120634.GA1760@elte.hu \
    --to=mingo@elte.hu \
    --cc=akpm@osdl.org \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@osdl.org \
    /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).