All of lore.kernel.org
 help / color / mirror / Atom feed
From: chris.mason@oracle.com
To: unlisted-recipients:; (no To-header on input)
Subject: (unknown)
Date: Thu, 21 Dec 2006 14:48:48 -0700	[thread overview]
Message-ID: <200612212148.kBLJgZN6014325@rgmgw2.us.oracle.com> (raw)

>From chris.mason@oracle.com Thu Dec 21 15:34:58 2006
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [PATCH 1 of 8] Introduce a place holder page for the pagecache
X-Mercurial-Node: 4cac7e560b5342c0e5e2c45b2e036a936adedc2e
Message-Id: <4cac7e560b5342c0e5e2.1166733297@opti.oraclecorp.com>
In-Reply-To: <patchbomb.1166733296@opti.oraclecorp.com>
Date: Thu, 21 Dec 2006 15:34:57 -0400
From: Chris Mason <chris.mason@oracle.com>
To: linux-fsdevel@vger.kernel.org, akpm@osdl.org, zach.brown@oracle.com

mm/filemap.c is changed to wait on these before adding a page into the page
cache, and truncates are changed to wait for all of the place holder pages to
disappear.

Place holder pages can only be examined with the mapping lock held.  They
cannot be locked, and cannot have references increased or decreased on them.

Placeholders can span a range bigger than one page.  The placeholder is
inserted into the radix slot for the end of the range, and the flags field in
the page struct is used to record the start of the range.

A bit is added for the radix root (PAGECACHE_TAG_EXTENTS), and when
mm/filemap.c finds that bit set, searches for an index in the pagecache
look forward to find any placeholders that index may intersect.

Signed-off-by: Chris Mason <chris.mason@oracle.com>

diff -r 511f067627ac -r 4cac7e560b53 drivers/mtd/devices/block2mtd.c
--- a/drivers/mtd/devices/block2mtd.c	Thu Dec 21 00:20:01 2006 -0800
+++ b/drivers/mtd/devices/block2mtd.c	Thu Dec 21 15:31:30 2006 -0500
@@ -66,7 +66,7 @@ static void cache_readahead(struct addre
 			INFO("Overrun end of disk in cache readahead\n");
 			break;
 		}
-		page = radix_tree_lookup(&mapping->page_tree, pagei);
+		page = radix_tree_lookup_extent(&mapping->page_tree, pagei);
 		if (page && (!i))
 			break;
 		if (page)
diff -r 511f067627ac -r 4cac7e560b53 include/linux/fs.h
--- a/include/linux/fs.h	Thu Dec 21 00:20:01 2006 -0800
+++ b/include/linux/fs.h	Thu Dec 21 15:31:30 2006 -0500
@@ -489,6 +489,11 @@ struct block_device {
  */
 #define PAGECACHE_TAG_DIRTY	0
 #define PAGECACHE_TAG_WRITEBACK	1
+
+/*
+ * This tag is only valid on the root of the radix tree
+ */
+#define PAGE_CACHE_TAG_EXTENTS 2
 
 int mapping_tagged(struct address_space *mapping, int tag);
 
diff -r 511f067627ac -r 4cac7e560b53 include/linux/page-flags.h
--- a/include/linux/page-flags.h	Thu Dec 21 00:20:01 2006 -0800
+++ b/include/linux/page-flags.h	Thu Dec 21 15:31:30 2006 -0500
@@ -267,4 +267,6 @@ static inline void set_page_writeback(st
 	test_set_page_writeback(page);
 }
 
+void set_page_placeholder(struct page *page, pgoff_t start, pgoff_t end);
+
 #endif	/* PAGE_FLAGS_H */
diff -r 511f067627ac -r 4cac7e560b53 include/linux/pagemap.h
--- a/include/linux/pagemap.h	Thu Dec 21 00:20:01 2006 -0800
+++ b/include/linux/pagemap.h	Thu Dec 21 15:31:30 2006 -0500
@@ -76,6 +76,11 @@ extern struct page * find_get_page(struc
 				unsigned long index);
 extern struct page * find_lock_page(struct address_space *mapping,
 				unsigned long index);
+int find_or_insert_placeholders(struct address_space *mapping,
+                                  struct page **pages, unsigned long start,
+                                  unsigned long end, unsigned long nr,
+                                  gfp_t gfp_mask,
+                                  int wait);
 extern __deprecated_for_modules struct page * find_trylock_page(
 			struct address_space *mapping, unsigned long index);
 extern struct page * find_or_create_page(struct address_space *mapping,
@@ -86,6 +91,15 @@ unsigned find_get_pages_contig(struct ad
 			       unsigned int nr_pages, struct page **pages);
 unsigned find_get_pages_tag(struct address_space *mapping, pgoff_t *index,
 			int tag, unsigned int nr_pages, struct page **pages);
+void remove_placeholder_pages(struct address_space *mapping,
+                             struct page **pages,
+                             unsigned long offset,
+                             unsigned long end,
+                             unsigned long nr);
+void wake_up_placeholder_page(struct page *page);
+void wait_on_placeholder_pages_range(struct address_space *mapping, pgoff_t start,
+			       pgoff_t end);
+
 
 /*
  * Returns locked page at given index in given cache, creating it if needed.
@@ -116,6 +130,8 @@ int add_to_page_cache_lru(struct page *p
 				unsigned long index, gfp_t gfp_mask);
 extern void remove_from_page_cache(struct page *page);
 extern void __remove_from_page_cache(struct page *page);
+struct page *radix_tree_lookup_extent(struct radix_tree_root *root,
+					     unsigned long index);
 
 /*
  * Return byte-offset into filesystem object for page.
diff -r 511f067627ac -r 4cac7e560b53 include/linux/radix-tree.h
--- a/include/linux/radix-tree.h	Thu Dec 21 00:20:01 2006 -0800
+++ b/include/linux/radix-tree.h	Thu Dec 21 15:31:30 2006 -0500
@@ -53,6 +53,7 @@ static inline int radix_tree_is_direct_p
 /*** radix-tree API starts here ***/
 
 #define RADIX_TREE_MAX_TAGS 2
+#define RADIX_TREE_MAX_ROOT_TAGS 3
 
 /* root tags are stored in gfp_mask, shifted by __GFP_BITS_SHIFT */
 struct radix_tree_root {
@@ -168,6 +169,7 @@ radix_tree_gang_lookup_tag(struct radix_
 		unsigned long first_index, unsigned int max_items,
 		unsigned int tag);
 int radix_tree_tagged(struct radix_tree_root *root, unsigned int tag);
+void radix_tree_root_tag_set(struct radix_tree_root *root, unsigned int tag);
 
 static inline void radix_tree_preload_end(void)
 {
diff -r 511f067627ac -r 4cac7e560b53 lib/radix-tree.c
--- a/lib/radix-tree.c	Thu Dec 21 00:20:01 2006 -0800
+++ b/lib/radix-tree.c	Thu Dec 21 15:31:30 2006 -0500
@@ -468,6 +468,12 @@ void *radix_tree_tag_set(struct radix_tr
 	return slot;
 }
 EXPORT_SYMBOL(radix_tree_tag_set);
+
+void radix_tree_root_tag_set(struct radix_tree_root *root, unsigned int tag)
+{
+	root_tag_set(root, tag);
+}
+EXPORT_SYMBOL(radix_tree_root_tag_set);
 
 /**
  *	radix_tree_tag_clear - clear a tag on a radix tree node
diff -r 511f067627ac -r 4cac7e560b53 mm/filemap.c
--- a/mm/filemap.c	Thu Dec 21 00:20:01 2006 -0800
+++ b/mm/filemap.c	Thu Dec 21 15:31:30 2006 -0500
@@ -44,6 +44,14 @@ generic_file_direct_IO(int rw, struct ki
 generic_file_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov,
 	loff_t offset, unsigned long nr_segs);
 
+static wait_queue_head_t *page_waitqueue(struct page *page);
+static void wait_on_placeholder_page(struct address_space *mapping,
+				     struct page *page,
+				     int write_lock);
+
+static struct address_space placeholder_address_space;
+#define PagePlaceHolder(page) ((page)->mapping == &placeholder_address_space)
+
 /*
  * Shared mappings implemented 30.11.1994. It's not fully working yet,
  * though.
@@ -421,6 +429,41 @@ int filemap_write_and_wait_range(struct 
 	return err;
 }
 
+/*
+ * When the radix tree has the extent bit set, a lookup needs to search
+ * forward in the tree to find any extent the index might intersect.
+ * When extents are off, a faster radix_tree_lookup can be done instead.
+ *
+ * This does the appropriate lookup based on the PAGE_CACHE_TAG_EXTENTS
+ * bit on the root node
+ */
+struct page *radix_tree_lookup_extent(struct radix_tree_root *root,
+					     unsigned long index)
+{
+	if (radix_tree_tagged(root, PAGE_CACHE_TAG_EXTENTS)) {
+		struct page *p;
+		unsigned int found;
+		found = radix_tree_gang_lookup(root, (void **)(&p), index, 1);
+		if (found) {
+			if (PagePlaceHolder(p)) {
+				pgoff_t start = p->flags;
+				pgoff_t end = p->index;
+				if (end >= index && start <= index)
+					return p;
+				return NULL;
+			} else {
+				if (p->index == index) {
+					return p;
+				}
+				return NULL;
+			}
+		} else
+			return NULL;
+	}
+	return radix_tree_lookup(root, index);
+}
+
+
 /**
  * add_to_page_cache - add newly allocated pagecache pages
  * @page:	page to add
@@ -437,12 +480,38 @@ int add_to_page_cache(struct page *page,
 int add_to_page_cache(struct page *page, struct address_space *mapping,
 		pgoff_t offset, gfp_t gfp_mask)
 {
-	int error = radix_tree_preload(gfp_mask & ~__GFP_HIGHMEM);
+	int error;
+again:
+	error = radix_tree_preload(gfp_mask & ~__GFP_HIGHMEM);
 
 	if (error == 0) {
+		struct page *tmp;
 		write_lock_irq(&mapping->tree_lock);
+		/*
+		 * If extents are on for this radix tree, we have to do
+		 * the more expensive search for an overlapping extent
+		 * before we try to insert.
+		 */
+		if (radix_tree_tagged(&mapping->page_tree,
+				      PAGE_CACHE_TAG_EXTENTS)) {
+			tmp = radix_tree_lookup_extent(&mapping->page_tree,
+						       offset);
+			if (tmp && PagePlaceHolder(tmp))
+				goto exists;
+		}
 		error = radix_tree_insert(&mapping->page_tree, offset, page);
-		if (!error) {
+		if (error == -EEXIST && (gfp_mask & __GFP_WAIT)) {
+			tmp = radix_tree_lookup_extent(&mapping->page_tree,
+						       offset);
+			if (tmp && PagePlaceHolder(tmp)) {
+exists:
+				radix_tree_preload_end();
+				/* drops the lock */
+				wait_on_placeholder_page(mapping, tmp, 1);
+				goto again;
+			}
+		}
+		if (!error && !PagePlaceHolder(page)) {
 			page_cache_get(page);
 			SetPageLocked(page);
 			page->mapping = mapping;
@@ -516,6 +585,92 @@ void fastcall wait_on_page_bit(struct pa
 }
 EXPORT_SYMBOL(wait_on_page_bit);
 
+/*
+ * Call with either a read lock or a write lock on the mapping tree.
+ *
+ * placeholder pages can't be tested or checked without the tree lock held
+ *
+ * In order to wait for the placeholders without losing a wakeup from someone
+ * removing them, we have to prepare_to_wait before dropping the tree lock.
+ *
+ * The lock is dropped just before waiting for the place holder.  It is not
+ * retaken before returning.
+ */
+static void wait_on_placeholder_page(struct address_space *mapping,
+				     struct page *page,
+				     int write_lock)
+{
+	DEFINE_WAIT(wait);
+	wait_queue_head_t *wqh = page_waitqueue(page);
+	prepare_to_wait(wqh, &wait, TASK_UNINTERRUPTIBLE);
+	if (write_lock)
+		write_unlock_irq(&mapping->tree_lock);
+	else
+		read_unlock_irq(&mapping->tree_lock);
+	io_schedule();
+	finish_wait(wqh, &wait);
+}
+
+void wake_up_placeholder_page(struct page *page)
+{
+	__wake_up_bit(page_waitqueue(page), &page->flags, PG_locked);
+}
+EXPORT_SYMBOL_GPL(wake_up_placeholder_page);
+
+/**
+ * wait_on_placeholder_pages - gang placeholder page waiter
+ * @mapping:	The address_space to search
+ * @start:	The starting page index
+ * @end:	The max page index (inclusive)
+ *
+ * wait_on_placeholder_pages() will search for and wait on a range of pages
+ * in the mapping
+ *
+ * On return, the range has no placeholder pages sitting in it.
+ */
+void wait_on_placeholder_pages_range(struct address_space *mapping,
+			       pgoff_t start, pgoff_t end)
+{
+	unsigned int i;
+	unsigned int ret;
+	struct page *pages[8];
+	pgoff_t cur = start;
+	pgoff_t highest = start;
+
+	/*
+	 * we expect a very small number of place holder pages, so
+	 * this code isn't trying to be very fast.
+	 */
+again:
+	read_lock_irq(&mapping->tree_lock);
+	ret = radix_tree_gang_lookup(&mapping->page_tree,
+				(void **)pages, cur, ARRAY_SIZE(pages));
+	for (i = 0; i < ret; i++) {
+		if (PagePlaceHolder(pages[i])) {
+			if (pages[i]->flags > end)
+				goto done;
+			/* drops the lock */
+			wait_on_placeholder_page(mapping, pages[i], 0);
+			goto again;
+		}
+		if (pages[i]->index > highest)
+			highest = pages[i]->index;
+		if (pages[i]->index > end)
+			goto done;
+	}
+	if (highest < end && ret == ARRAY_SIZE(pages)) {
+		cur = highest;
+		if (need_resched()) {
+			read_unlock_irq(&mapping->tree_lock);
+			cond_resched();
+		}
+		goto again;
+	}
+done:
+	read_unlock_irq(&mapping->tree_lock);
+}
+EXPORT_SYMBOL_GPL(wait_on_placeholder_pages_range);
+
 /**
  * unlock_page - unlock a locked page
  * @page: the page
@@ -532,6 +687,7 @@ EXPORT_SYMBOL(wait_on_page_bit);
  */
 void fastcall unlock_page(struct page *page)
 {
+	BUG_ON(PagePlaceHolder(page));
 	smp_mb__before_clear_bit();
 	if (!TestClearPageLocked(page))
 		BUG();
@@ -568,6 +724,7 @@ void fastcall __lock_page(struct page *p
 {
 	DEFINE_WAIT_BIT(wait, &page->flags, PG_locked);
 
+	BUG_ON(PagePlaceHolder(page));
 	__wait_on_bit_lock(page_waitqueue(page), &wait, sync_page,
 							TASK_UNINTERRUPTIBLE);
 }
@@ -580,6 +737,7 @@ void fastcall __lock_page_nosync(struct 
 void fastcall __lock_page_nosync(struct page *page)
 {
 	DEFINE_WAIT_BIT(wait, &page->flags, PG_locked);
+	BUG_ON(PagePlaceHolder(page));
 	__wait_on_bit_lock(page_waitqueue(page), &wait, __sleep_on_page_lock,
 							TASK_UNINTERRUPTIBLE);
 }
@@ -597,13 +755,281 @@ struct page * find_get_page(struct addre
 	struct page *page;
 
 	read_lock_irq(&mapping->tree_lock);
-	page = radix_tree_lookup(&mapping->page_tree, offset);
-	if (page)
-		page_cache_get(page);
+	page = radix_tree_lookup_extent(&mapping->page_tree, offset);
+	if (page) {
+		if (PagePlaceHolder(page))
+			page = NULL;
+		else
+			page_cache_get(page);
+	}
 	read_unlock_irq(&mapping->tree_lock);
 	return page;
 }
 EXPORT_SYMBOL(find_get_page);
+
+/**
+ * remove_placeholder_pages - remove a range of placeholder or locked pages
+ * @mapping: the page's address_space
+ * @pages: an array of page pointers to use for gang looukps
+ * @placeholder: the placeholder page previously inserted (for verification)
+ * @start: the search starting point
+ * @end: the search end point (offsets >= end are not touched)
+ * @nr: the size of the pages array.
+ *
+ * Any placeholder pages in the range specified are removed.  Any real
+ * pages are unlocked and released.
+ */
+void remove_placeholder_pages(struct address_space *mapping,
+			     struct page **pages,
+			     unsigned long start,
+			     unsigned long end,
+			     unsigned long nr)
+{
+	struct page *page;
+	int ret;
+	int i;
+	unsigned long num;
+
+	write_lock_irq(&mapping->tree_lock);
+	while (start < end) {
+		num = min(nr, end-start);
+		ret = radix_tree_gang_lookup(&mapping->page_tree,
+						(void **)pages, start, num);
+		for (i = 0; i < ret; i++) {
+			page = pages[i];
+			if (PagePlaceHolder(page)) {
+				if (page->index >= end)
+					break;
+				radix_tree_delete(&mapping->page_tree,
+						  page->index);
+				start = page->index + 1;
+				wake_up_placeholder_page(page);
+				kfree(page);
+			} else {
+				if (page->index >= end)
+					break;
+				unlock_page(page);
+				page_cache_release(page);
+				start = page->index + 1;
+			}
+		}
+		if (need_resched()) {
+			write_unlock_irq(&mapping->tree_lock);
+			cond_resched();
+			write_lock_irq(&mapping->tree_lock);
+		}
+	}
+	write_unlock_irq(&mapping->tree_lock);
+}
+EXPORT_SYMBOL_GPL(remove_placeholder_pages);
+
+/*
+ * a helper function to insert a placeholder into multiple slots
+ * in the radix tree.  This could probably use an optimized version
+ * in the radix code.  It may insert fewer than the request number
+ * of placeholders if we need to reschedule or the radix tree needs to
+ * be preloaded again.
+ *
+ * returns zero on error or the number actually inserted.
+ */
+static int insert_placeholder(struct address_space *mapping,
+					 struct page *insert)
+{
+	int err;
+	unsigned int found;
+	struct page *debug_page;
+	/* sanity check, make sure other extents don't exist in this range */
+	found = radix_tree_gang_lookup(&mapping->page_tree,
+				    (void **)(&debug_page),
+				    insert->flags, 1);
+	BUG_ON(found > 0 && debug_page->flags <= (insert->index));
+	err = radix_tree_insert(&mapping->page_tree, insert->index, insert);
+	return err;
+}
+
+
+static struct page *alloc_placeholder(gfp_t gfp_mask)
+{
+	struct page *p;
+	p = kmalloc(sizeof(*p), gfp_mask);
+	if (p) {
+		memset(p, 0, sizeof(*p));
+		p->mapping = &placeholder_address_space;
+	}
+	return p;
+}
+
+/**
+ * find_or_insert_placeholders - locate a group of pagecache pages or insert one
+ * @mapping: the page's address_space
+ * @pages: an array of page pointers to use for gang looukps
+ * @start: the search starting point
+ * @end: the search end point (offsets >= end are not touched)
+ * @nr: the size of the pages array.
+ * @gfp_mask: page allocation mode
+ * @insert: the page to insert if none is found
+ * @iowait: 1 if you want to wait for dirty or writeback pages.
+ *
+ * This locks down a range of offsets in the address space.  Any pages
+ * already present are locked and a placeholder page is inserted into
+ * the radix tree for any offsets without pages.
+ */
+int find_or_insert_placeholders(struct address_space *mapping,
+				  struct page **pages, unsigned long start,
+				  unsigned long end, unsigned long nr,
+				  gfp_t gfp_mask,
+				  int iowait)
+{
+	int err = 0;
+	int i, ret;
+	unsigned long cur = start;
+	struct page *page;
+	int restart;
+	struct page *insert = NULL;
+	/*
+	 * this gets complicated.  Placeholders and page locks need to
+	 * be taken in order.  We use gang lookup to cut down on the cpu
+	 * cost, but we need to keep track of holes in the results and
+	 * insert placeholders as appropriate.
+	 *
+	 * If a locked page or a placeholder is found, we wait for it and
+	 * pick up where we left off.  If a dirty or PG_writeback page is found
+	 * and iowait==1, we have to drop all of our locks, kick/wait for the
+	 * io and resume again.
+	 */
+repeat:
+	if (!insert) {
+		insert = alloc_placeholder(gfp_mask);
+		if (!insert) {
+			err = -ENOMEM;
+			goto fail;
+		}
+	}
+	if (cur != start )
+		cond_resched();
+	err = radix_tree_preload(gfp_mask & ~__GFP_HIGHMEM);
+	if (err)
+		goto fail;
+	write_lock_irq(&mapping->tree_lock);
+
+	/* only set the extent tag if we are inserting placeholders for more
+	 * than one page worth of slots.  This way small random ios don't
+	 * suffer from slower lookups.
+	 */
+	if (cur == start && end - start > 1)
+		radix_tree_root_tag_set(&mapping->page_tree,
+					PAGE_CACHE_TAG_EXTENTS);
+repeat_lock:
+	ret = radix_tree_gang_lookup(&mapping->page_tree,
+					(void **)pages, cur,
+					min(nr, end-cur));
+	for (i = 0 ; i < ret ; i++) {
+		restart = 0;
+		page = pages[i];
+
+		if (PagePlaceHolder(page) && page->flags < end) {
+			radix_tree_preload_end();
+			/* drops the lock */
+			wait_on_placeholder_page(mapping, page, 1);
+			goto repeat;
+		}
+
+		if (page->index > cur) {
+			unsigned long top = min(end, page->index);
+			insert->index = top - 1;
+			insert->flags = cur;
+			err = insert_placeholder(mapping, insert);
+			write_unlock_irq(&mapping->tree_lock);
+			radix_tree_preload_end();
+			insert = NULL;
+			if (err)
+				goto fail;
+			cur = top;
+			if (cur < end)
+				goto repeat;
+			else
+				goto done;
+		}
+		if (page->index >= end) {
+			ret = 0;
+			break;
+		}
+		page_cache_get(page);
+		BUG_ON(page->index != cur);
+		BUG_ON(PagePlaceHolder(page));
+		if (TestSetPageLocked(page)) {
+			unsigned long tmpoff = page->index;
+			page_cache_get(page);
+			write_unlock_irq(&mapping->tree_lock);
+			radix_tree_preload_end();
+			__lock_page(page);
+			/* Has the page been truncated while we slept? */
+			if (unlikely(page->mapping != mapping ||
+				     page->index != tmpoff)) {
+				unlock_page(page);
+				page_cache_release(page);
+				goto repeat;
+			} else {
+				/* we've locked the page, but  we need to
+				 *  check it for dirty/writeback
+				 */
+				restart = 1;
+			}
+		}
+		if (iowait && (PageDirty(page) || PageWriteback(page))) {
+			unlock_page(page);
+			page_cache_release(page);
+			if (!restart) {
+				write_unlock_irq(&mapping->tree_lock);
+				radix_tree_preload_end();
+			}
+			err = filemap_write_and_wait_range(mapping,
+						 cur << PAGE_CACHE_SHIFT,
+						 end << PAGE_CACHE_SHIFT);
+			if (err)
+				goto fail;
+			goto repeat;
+		}
+		cur++;
+		if (restart)
+			goto repeat;
+		if (cur >= end)
+			break;
+	}
+
+	/* we haven't yet filled the range */
+	if (cur < end) {
+		/* if the search filled our array, there is more to do. */
+		if (ret && ret == nr)
+			goto repeat_lock;
+
+		/* otherwise insert placeholders for the remaining offsets */
+		insert->index = end - 1;
+		insert->flags = cur;
+		err = insert_placeholder(mapping, insert);
+		write_unlock_irq(&mapping->tree_lock);
+		radix_tree_preload_end();
+		if (err)
+			goto fail;
+		insert = NULL;
+		cur = end;
+	} else {
+		write_unlock_irq(&mapping->tree_lock);
+		radix_tree_preload_end();
+	}
+done:
+	BUG_ON(cur < end);
+	BUG_ON(cur > end);
+	if (insert)
+		kfree(insert);
+	return err;
+fail:
+	remove_placeholder_pages(mapping, pages, start, cur, nr);
+	if (insert)
+		kfree(insert);
+	return err;
+}
+EXPORT_SYMBOL_GPL(find_or_insert_placeholders);
 
 /**
  * find_trylock_page - find and lock a page
@@ -617,8 +1043,8 @@ struct page *find_trylock_page(struct ad
 	struct page *page;
 
 	read_lock_irq(&mapping->tree_lock);
-	page = radix_tree_lookup(&mapping->page_tree, offset);
-	if (page && TestSetPageLocked(page))
+	page = radix_tree_lookup_extent(&mapping->page_tree, offset);
+	if (page && (PagePlaceHolder(page) || TestSetPageLocked(page)))
 		page = NULL;
 	read_unlock_irq(&mapping->tree_lock);
 	return page;
@@ -642,8 +1068,14 @@ struct page *find_lock_page(struct addre
 
 	read_lock_irq(&mapping->tree_lock);
 repeat:
-	page = radix_tree_lookup(&mapping->page_tree, offset);
+	page = radix_tree_lookup_extent(&mapping->page_tree, offset);
 	if (page) {
+		if (PagePlaceHolder(page)) {
+			/* drops the lock */
+			wait_on_placeholder_page(mapping, page, 0);
+			read_lock_irq(&mapping->tree_lock);
+			goto repeat;
+		}
 		page_cache_get(page);
 		if (TestSetPageLocked(page)) {
 			read_unlock_irq(&mapping->tree_lock);
@@ -727,14 +1159,25 @@ unsigned find_get_pages(struct address_s
 unsigned find_get_pages(struct address_space *mapping, pgoff_t start,
 			    unsigned int nr_pages, struct page **pages)
 {
-	unsigned int i;
+	unsigned int i = 0;
 	unsigned int ret;
 
 	read_lock_irq(&mapping->tree_lock);
 	ret = radix_tree_gang_lookup(&mapping->page_tree,
 				(void **)pages, start, nr_pages);
-	for (i = 0; i < ret; i++)
-		page_cache_get(pages[i]);
+	while(i < ret) {
+		if (PagePlaceHolder(pages[i])) {
+			/* we can't return a place holder, shift it away */
+			if (i + 1 < ret) {
+				memcpy(&pages[i], &pages[i+1],
+		                       (ret - i - 1) * sizeof(struct page *));
+			}
+			ret--;
+			continue;
+		} else
+			page_cache_get(pages[i]);
+		i++;
+	}
 	read_unlock_irq(&mapping->tree_lock);
 	return ret;
 }
@@ -761,6 +1204,8 @@ unsigned find_get_pages_contig(struct ad
 	ret = radix_tree_gang_lookup(&mapping->page_tree,
 				(void **)pages, index, nr_pages);
 	for (i = 0; i < ret; i++) {
+		if (PagePlaceHolder(pages[i]))
+			break;
 		if (pages[i]->mapping == NULL || pages[i]->index != index)
 			break;
 
@@ -785,14 +1230,25 @@ unsigned find_get_pages_tag(struct addre
 unsigned find_get_pages_tag(struct address_space *mapping, pgoff_t *index,
 			int tag, unsigned int nr_pages, struct page **pages)
 {
-	unsigned int i;
+	unsigned int i = 0;
 	unsigned int ret;
 
 	read_lock_irq(&mapping->tree_lock);
 	ret = radix_tree_gang_lookup_tag(&mapping->page_tree,
 				(void **)pages, *index, nr_pages, tag);
-	for (i = 0; i < ret; i++)
-		page_cache_get(pages[i]);
+	while(i < ret) {
+		if (PagePlaceHolder(pages[i])) {
+			/* we can't return a place holder, shift it away */
+			if (i + 1 < ret) {
+				memcpy(&pages[i], &pages[i+1],
+		                       (ret - i - 1) * sizeof(struct page *));
+			}
+			ret--;
+			continue;
+		} else
+			page_cache_get(pages[i]);
+		i++;
+	}
 	if (ret)
 		*index = pages[ret - 1]->index + 1;
 	read_unlock_irq(&mapping->tree_lock);
@@ -2406,18 +2862,15 @@ generic_file_direct_IO(int rw, struct ki
 			unmap_mapping_range(mapping, offset, write_len, 0);
 	}
 
-	retval = filemap_write_and_wait(mapping);
-	if (retval == 0) {
-		retval = mapping->a_ops->direct_IO(rw, iocb, iov,
-						offset, nr_segs);
-		if (rw == WRITE && mapping->nrpages) {
-			pgoff_t end = (offset + write_len - 1)
-						>> PAGE_CACHE_SHIFT;
-			int err = invalidate_inode_pages2_range(mapping,
-					offset >> PAGE_CACHE_SHIFT, end);
-			if (err)
-				retval = err;
-		}
+	retval = mapping->a_ops->direct_IO(rw, iocb, iov,
+					offset, nr_segs);
+	if (rw == WRITE && mapping->nrpages) {
+		pgoff_t end = (offset + write_len - 1)
+					>> PAGE_CACHE_SHIFT;
+		int err = invalidate_inode_pages2_range(mapping,
+				offset >> PAGE_CACHE_SHIFT, end);
+		if (err)
+			retval = err;
 	}
 	return retval;
 }
diff -r 511f067627ac -r 4cac7e560b53 mm/migrate.c
--- a/mm/migrate.c	Thu Dec 21 00:20:01 2006 -0800
+++ b/mm/migrate.c	Thu Dec 21 15:31:30 2006 -0500
@@ -305,8 +305,12 @@ static int migrate_page_move_mapping(str
 
 	write_lock_irq(&mapping->tree_lock);
 
+	/*
+	 * we don't need to worry about placeholders here,
+	 * the slot in the tree is verified
+	 */
 	pslot = radix_tree_lookup_slot(&mapping->page_tree,
- 					page_index(page));
+					page_index(page));
 
 	if (page_count(page) != 2 + !!PagePrivate(page) ||
 			(struct page *)radix_tree_deref_slot(pslot) != page) {
diff -r 511f067627ac -r 4cac7e560b53 mm/readahead.c
--- a/mm/readahead.c	Thu Dec 21 00:20:01 2006 -0800
+++ b/mm/readahead.c	Thu Dec 21 15:31:30 2006 -0500
@@ -288,7 +288,8 @@ __do_page_cache_readahead(struct address
 		if (page_offset > end_index)
 			break;
 
-		page = radix_tree_lookup(&mapping->page_tree, page_offset);
+		page = radix_tree_lookup_extent(&mapping->page_tree,
+						page_offset);
 		if (page)
 			continue;
 
diff -r 511f067627ac -r 4cac7e560b53 mm/truncate.c
--- a/mm/truncate.c	Thu Dec 21 00:20:01 2006 -0800
+++ b/mm/truncate.c	Thu Dec 21 15:31:30 2006 -0500
@@ -209,6 +209,7 @@ void truncate_inode_pages_range(struct a
 		}
 		pagevec_release(&pvec);
 	}
+	wait_on_placeholder_pages_range(mapping, start, end);
 }
 EXPORT_SYMBOL(truncate_inode_pages_range);
 



             reply	other threads:[~2006-12-21 21:49 UTC|newest]

Thread overview: 3355+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-21 21:48 chris.mason [this message]
2017-03-15  3:58 (unknown), beautyink
2017-03-15  5:22 (unknown), office
2017-03-15  7:30 (unknown), h.gerritsen12
2017-03-15 16:10 (unknown), morice.diane
2017-03-19 15:47 (unknown), Mr Friedrich Mayrhofer
2017-03-20  0:26 (unknown), Qing Chang
2017-03-20  2:25 (unknown), Rick Lee
2017-03-20 19:40 (unknown), janepatrick00-VmEwxm1hRrAnxqbYAscKCQ
2017-03-20 19:40 (unknown), janepatrick00-VmEwxm1hRrAnxqbYAscKCQ
2017-03-21  6:58 (unknown) Piotr Sroka
2017-03-22  9:38 (unknown), Lindsey
2017-03-23 17:07 (unknown), Ning Yao
2017-03-28 21:11 (unknown), George Papadrosou
2017-03-30 10:55 (unknown), Sandeepa Prabhu
2017-04-03  6:14 (unknown), Adrian Gillian Bayford
2017-04-03  6:14 (unknown), Adrian Gillian Bayford
2017-04-04 19:31 (unknown), Kristi Nikolla
2017-04-05 16:35 (unknown), bunny43200
2017-04-05 16:53 (unknown), dowen
2017-04-05 17:06 (unknown), kgbok.kezyhumh
2017-04-05 17:30 (unknown), sekretariat.mzagorski-40QDpL200RxmR6Xm/wNWPw
2017-04-05 18:10 (unknown), alters
2017-04-06  6:03 (unknown), bendis.michal
2017-04-06  8:19 (unknown), bendis.michal
2017-04-06 11:45 (unknown), j.lahoda-aRb0bU7PRFPrBKCeMvbIDA
2017-04-06 13:43 (unknown), agiva
2017-04-06 13:49 (unknown), benjamin
2017-04-06 14:05 (unknown), jacqueline.pike
2017-04-06 19:09 (unknown), David Buckley
2017-04-08 19:20 (unknown), jbmplupus-Mmb7MZpHnFY
2017-04-09  0:27 (unknown), simon.a.t.hardy
2017-04-09  2:11 (unknown), jacqueline.pike
2017-04-09  6:12 (unknown), roeper
2017-04-09 14:11 (unknown), carmen.croonquist
2017-04-09 14:27 (unknown), weingart
2017-04-09 15:30 (unknown), jha
2017-04-09 20:48 (unknown), simon.a.t.hardy
2017-04-09 20:49 (unknown), xb1402456186
2017-04-09 21:15 (unknown), ujagu8185-Re5JQEeQqe8AvxtiuMwx3w
2017-04-09 22:03 (unknown), stef.ryckmans
2017-04-09 22:03 (unknown), zem.uchastok
2017-04-09 22:07 (unknown) askeeta
2017-04-10  0:41 (unknown), amin
2017-04-10  3:30 (unknown), hp
2017-04-10  5:46 (unknown), archerrp
2017-04-10  6:51 (unknown), kathleen.gilbert
2017-04-10  8:37 (unknown), kkaplanidou
2017-04-10  9:20 (unknown), nmckenna
2017-04-10 10:18 (unknown), rueggemann
2017-04-10 11:47 (unknown), office
2017-04-11 15:47 (unknown), energi
2017-04-13 15:58 (unknown), Scott Ellentuch
2017-04-14 19:14 (unknown) David Miller
2017-04-15 13:53 (unknown), smallgroups
2017-04-15 14:07 (unknown), energi
2017-04-15 14:16 (unknown), demorton
2017-04-15 15:00 (unknown), jbmplupus-Mmb7MZpHnFY
2017-04-16  3:17 (unknown), resson-epfaOiJH9AY
2017-04-16  3:33 (unknown), ohnesorge-wiek
2017-04-16  6:21 (unknown), shwx002
2017-04-16  8:21 (unknown), jha
2017-04-16  8:52 (unknown), geir.nuland
2017-04-16 15:48 (unknown), redbeardcharters
2017-04-16 16:31 (unknown), a.skucha
2017-04-16 16:37 (unknown), bfoster
2017-04-16 17:41 (unknown) askeeta
2017-04-16 17:44 (unknown), bkjf
2017-04-16 17:49 (unknown), zem.uchastok
2017-04-16 18:30 (unknown), r67
2017-04-16 18:32 (unknown), nathalie.colle
2017-04-16 18:50 (unknown), cbordinaro
2017-04-16 19:08 (unknown), athgregory
2017-04-16 20:59 (unknown), mitch_128
2017-04-16 21:22 (unknown), ujagu8185-Re5JQEeQqe8AvxtiuMwx3w
2017-04-16 22:46 (unknown), tammyehood
2017-04-16 23:02 (unknown), brian
2017-04-16 23:57 (unknown), muirs
2017-04-17  0:43 (unknown), John Ewalt
2017-04-17  2:06 (unknown), rlm85310
2017-04-17  2:26 (unknown), wvhyvcm.abyxg
2017-04-17  3:09 (unknown), bunny43200
2017-04-17  3:38 (unknown), kgbok.kezyhumh
2017-04-17  4:06 (unknown), nkosuta-f+iqBESB6gc
2017-04-17  7:56 (unknown), lucia.germino
2017-04-17  9:12 (unknown), kelley
2017-04-17 12:59 (unknown), openhackbangalore
2017-04-17 14:38 (unknown), energi
2017-04-17 15:20 (unknown), tchidrenplytoo
2017-04-17 18:00 (unknown), j.lahoda-aRb0bU7PRFPrBKCeMvbIDA
2017-04-18  1:56 (unknown), scotte
2017-04-18  2:53 (unknown), h.piontek
2017-04-18 10:57 (unknown) catherine.verge
2017-04-18 16:05 (unknown), rlm85310
2017-04-19  4:29 (unknown), kelley
2017-04-19 16:38 (unknown), amin
2017-04-19 20:46 (unknown), hp
2017-04-20  6:33 (unknown), rueggemann
2017-04-20 12:28 (unknown), h.gerritsen12
2017-04-21  7:38 (unknown), wesley.sydnor
2017-04-21  8:30 (unknown), scotte
2017-04-21  8:36 (unknown), joseph.x.hronec
2017-04-21  9:25 (unknown), delaware.orders
2017-04-21  9:51 (unknown), Kredit
2017-04-21 11:49 (unknown), kathleen.gilbert
2017-04-21 16:59 (unknown) Mr.Jerry Smith
2017-04-21 17:06 (unknown), Mr.Jerry Smith
2017-04-21 17:07 (unknown), Mr.Jerry Smith
2017-04-21 17:15 (unknown), Mr.Jerry Smith
2017-04-21 17:24 (unknown), Mr.Jerry Smith
2017-04-21 17:40 (unknown), Mr.Jerry Smith
2017-04-21 17:44 (unknown), Mr.Jerry Smith
2017-04-21 17:54 (unknown), Mr.Jerry Smith
2017-04-26  3:57 (unknown), prasad padiyar
2017-04-26  7:36 (unknown), glolariu
2017-04-26 11:54 (unknown) Shalini Chellathurai Saroja
2017-04-28  8:20 (unknown), Anatolij Gustschin
2017-04-28  8:36 (unknown), администратор
2017-04-28  8:36 (unknown), администратор
2017-04-28  8:36 (unknown), администратор
2017-04-28  8:36 (unknown), администратор
2017-04-28  9:09 (unknown), администратор
2017-04-29 15:25 (unknown), Dmitry Bazhenov
2017-05-01 18:59 [PATCHv2 1/1] IB/ipoib: add get_settings in ethtool Doug Ledford
     [not found] ` <1493665155.3041.186.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-05-04  5:24   ` (unknown), Zhu Yanjun
2017-05-04 13:20 (unknown), Steve French
2017-05-10  7:23 (unknown), kelley
2017-05-11  1:02 (unknown), info
2017-05-14  3:19 (unknown), unixkeeper
2017-05-15 23:19 (unknown), bcohen
2017-05-15 23:49 (unknown), morice.diane
2017-05-16  3:06 (unknown), armiksanaye
2017-05-16  6:37 (unknown), momofr
2017-05-17  7:10 (unknown), 1.10.0812112155390.21775
2017-05-17 10:59 (unknown), anita.traylor
2017-05-17 13:39 (unknown), J Walker
2017-05-17 18:42 (unknown), stef.ryckmans
2017-05-18 13:40 (unknown), hp
2017-05-18 13:41 (unknown), alters
2017-05-18 14:13 (unknown), agiva
2017-05-18 16:47 (unknown), susan.christian
2017-05-18 19:22 (unknown), lucia.germino
2017-05-19  3:34 (unknown), openhackbangalore
2017-05-19  4:32 (unknown), archerrp
2017-05-19  6:45 (unknown), j.lahoda-aRb0bU7PRFPrBKCeMvbIDA
2017-05-19 11:45 (unknown), counselling-30L6jp03H7UtpYsHHOQ6Llpr/1R2p/CL
2017-05-19 12:56 (unknown), kindergartenchaos2
2017-05-19 13:31 (unknown), office
2017-05-19 14:51 (unknown), citydesk
2017-05-19 15:35 (unknown), susan.christian
2017-05-19 16:59 (unknown), zumbalisa
2017-05-20  0:26 (unknown), brian
2017-05-20  0:40 (unknown), sophie.norman
2017-05-20  1:09 (unknown), board
2017-05-20  8:14 (unknown), ecaterinasuciu09
2017-05-20  9:40 (unknown), mgriffit
2017-05-20 11:03 (unknown), pohut00
2017-05-20 11:47 (unknown), john.dahlberg
2017-05-20 12:27 (unknown), ajae
2017-05-20 14:29 (unknown), cv
2017-05-20 16:22 (unknown), alters
2017-05-20 17:45 (unknown), counselling-30L6jp03H7UtpYsHHOQ6Llpr/1R2p/CL
2017-05-20 18:58 (unknown), office
2017-05-20 20:00 (unknown), citydesk
2017-05-20 21:16 (unknown), h.gerritsen12
2017-05-21  8:42 (unknown), brucet
2017-05-21  8:55 (unknown), agiva
2017-05-21  8:55 (unknown), benjamin
2017-05-21  9:17 (unknown), jacqueline.pike
2017-05-21 11:13 (unknown), mariobronti
2017-05-21 11:38 (unknown), susan.christian
2017-05-21 11:59 (unknown), anita.traylor
2017-05-21 13:56 (unknown), sibolt.mulder-b60u5d1xRcFWk0Htik3J/w
2017-05-21 16:36 (unknown), x1kn8fk
2017-05-21 20:35 (unknown), armiksanaye
2017-05-22  0:57 (unknown), mari.kayhko
2017-05-22 16:10 (unknown), mitch_128
2017-05-22 20:39 (unknown), horizon
2017-05-22 22:32 (unknown), patientcentral
2017-05-23  2:19 (unknown), mdavis
2017-05-23  4:53 (unknown), nfrankiyamu
2017-05-23  7:38 (unknown), scotte
2017-05-23  8:42 (unknown), delaware.orders
2017-05-23  9:36 (unknown), bendis.michal
2017-05-23 16:24 (unknown), agiva
2017-05-23 16:29 (unknown), benjamin
2017-05-23 22:44 (unknown), noord-holland
2017-05-24  0:12 (unknown), bcohen
2017-05-24 16:26 (unknown), natasha.glauser
2017-05-26 16:33 (unknown) Anderson McEnany <
2017-05-26 16:33 (unknown) Anderson McEnany <
2017-05-31 11:36 (unknown), p.mueller-spz-hgw-Mmb7MZpHnFY
2017-05-31 14:53 (unknown), tjcrewvolcoordinator-Re5JQEeQqe8AvxtiuMwx3w
2017-06-01  0:43 (unknown), armouralumni
2017-06-01  1:55 (unknown), cdevries
2017-06-01  2:25 (unknown), kbennett
2017-06-01  2:26 (unknown), Dave Airlie
2017-06-01 20:40 (unknown), nbensoncole81
2017-06-02  6:04 (unknown), mari.kayhko
2017-06-02  8:02 (unknown), jessica.jones-PnMVE5gNl/Vkbu+0n/iG1Q
2017-06-03  5:45 (unknown), nfrankiyamu
2017-06-03  7:17 (unknown), nbensoncole81
2017-06-04 10:30 (unknown), Yuval Mintz
2017-06-04 19:55 (unknown), archerrp
2017-06-05  0:03 (unknown), nmckenna
2017-06-05  1:08 (unknown), rueggemann
2017-06-05  4:30 (unknown), citydesk
2017-06-05  5:43 (unknown), h.gerritsen12
2017-06-05 17:32 (unknown), armouralumni
2017-06-06  7:19 (unknown), From Lori J. Robinson
2017-06-06  7:19 (unknown), From Lori J. Robinson
2017-06-06  7:19 (unknown), From Lori J. Robinson
2017-06-06  7:19 (unknown), From Lori J. Robinson
2017-06-06 20:36 (unknown), dengx
2017-06-06 23:46 (unknown), mdavis
2017-06-07  3:19 (unknown), lucia.germino
2017-06-07  7:42 (unknown), morice.diane
2017-06-07 11:43 (unknown), nhossein4212003
2017-06-07 14:00 (unknown), 1.10.0812112155390.21775
2017-06-07 21:54 (unknown), agar2000
2017-06-07 22:30 (unknown), tammyehood
2017-06-08  3:14 (unknown), kgbok.kezyhumh
2017-06-08  3:14 (unknown), agar2000
2017-06-08  5:00 (unknown), noord-holland
2017-06-08  5:41 (unknown), Oliver Carter
2017-06-08 11:31 (unknown), helga.brickl
2017-06-08 12:51 (unknown), koopk
2017-06-08 13:07 (unknown), unsubscribe.me
2017-06-08 13:35 (unknown) Yuval Shaia
2017-06-08 14:09 (unknown), service
2017-06-08 15:18 (unknown), junplzen
2017-06-08 17:26 (unknown), natasha.glauser
2017-06-08 17:59 (unknown), kirola
2017-06-08 18:00 (unknown), beautyink
2017-06-08 22:14 (unknown), bcohen
2017-06-09  0:34 (unknown), richard
2017-06-09  0:39 (unknown), susan.christian
2017-06-09  1:31 (unknown), durrant
2017-06-09  2:06 (unknown), rueggemann
2017-06-09  3:35 (unknown), office
2017-06-09  4:30 (unknown), citydesk
2017-06-09  8:02 (unknown), kholloway
2017-06-09 10:47 (unknown), tjcrewvolcoordinator-Re5JQEeQqe8AvxtiuMwx3w
2017-06-09 12:45 (unknown), Mrs Alice Walton
2017-06-09 17:38 (unknown), nfrankiyamu
2017-06-09 18:57 (unknown), editor
2017-06-09 19:04 (unknown), armouralumni
2017-06-10  5:29 (unknown), agiva
2017-06-10  5:53 (unknown), jacqueline.pike
2017-06-10  7:07 (unknown), Youichi Kanno
2017-06-10  8:23 (unknown), kindergartenchaos2
2017-06-10 13:33 (unknown), iker-KvP5wT2u2U0
2017-06-10 14:34 (unknown), kbennett
2017-06-10 20:24 (unknown), board
2017-06-10 21:03 (unknown), morice.diane
2017-06-10 21:10 (unknown), mbalhoff
2017-06-11  0:20 (unknown), service
2017-06-11  2:29 (unknown), energi
2017-06-11  3:28 (unknown), redaccion
2017-06-11  4:42 (unknown), 1.10.0812112155390.21775
2017-06-11  7:27 (unknown), roeper
2017-06-11 16:35 (unknown), mitch_128
2017-06-11 18:16 (unknown), tammyehood
2017-06-12  7:28 (unknown), webmaster
2017-06-12 10:50 (unknown), sibolt.mulder-b60u5d1xRcFWk0Htik3J/w
2017-06-12 15:02 (unknown), amin
2017-06-12 16:44 (unknown), nfrankiyamu
2017-06-12 17:13 (unknown), armiksanaye
2017-06-12 19:12 (unknown), nhossein4212003
2017-06-12 21:36 (unknown), nbensoncole81
2017-06-13  4:22 (unknown), mitch_128
2017-06-13  4:35 (unknown), ujagu8185-Re5JQEeQqe8AvxtiuMwx3w
2017-06-13  4:53 (unknown), roeper
2017-06-13  8:14 (unknown), horizon
2017-06-13  9:35 (unknown), wvhyvcm.abyxg
2017-06-13  9:59 (unknown), lizdebeth_
2017-06-13 10:15 (unknown), nenep
2017-06-13 11:59 (unknown), susan.christian
2017-06-13 21:38 (unknown), douille.l
2017-06-14  1:06 (unknown), durrant
2017-06-14 10:27 (unknown), susan.christian
2017-06-14 11:42 (unknown), sophie.norman
2017-06-14 12:26 (unknown), sibolt.mulder-b60u5d1xRcFWk0Htik3J/w
2017-06-14 12:27 (unknown), board
2017-06-14 16:39 (unknown), nfrankiyamu
2017-06-14 19:31 (unknown), kholloway
2017-06-14 20:41 (unknown), angers
2017-06-14 21:25 (unknown), koopk
2017-06-14 22:19 (unknown), muirs
2017-06-15  8:37 (unknown), ecaterinasuciu09
2017-06-15 13:50 (unknown), pohut00
2017-06-15 14:56 (unknown), john.dahlberg
2017-06-15 17:35 (unknown), jeffrey.faulkenberg
2017-06-16 14:46 (unknown), roeper
2017-06-16 22:37 (unknown), kelley
2017-06-17 22:46 (unknown), rhsinfo
2017-06-18  3:09 (unknown), agar2000
2017-06-18 13:58 (unknown), membership
2017-06-18 14:27 (unknown), xa0ajutor
2017-06-19  9:36 (unknown), susan.christian
2017-06-19  9:57 (unknown), anita.traylor
2017-06-19 16:53 (unknown), armouralumni
2017-06-19 18:46 (unknown), chrisbi_anelyst
2017-06-19 19:58 (unknown), tjcrewvolcoordinator-Re5JQEeQqe8AvxtiuMwx3w
2017-06-20  0:47 (unknown), durrant
2017-06-20  6:29 (unknown), xa0ajutor
2017-06-20 16:31 (unknown), nfrankiyamu
2017-06-20 17:50 (unknown), editor
2017-06-20 18:45 (unknown), roeper
2017-06-20 22:49 (unknown), redaccion
2017-06-21  4:40 (unknown), kholloway
2017-06-21  6:16 (unknown), angers
2017-06-21  6:23 (unknown), chrisbi_anelyst
2017-06-21  7:32 (unknown), tjcrewvolcoordinator-Re5JQEeQqe8AvxtiuMwx3w
2017-06-21  7:43 (unknown), koopk
2017-06-21 20:10 (unknown), morice.diane
2017-06-22  2:13 (unknown), ecaterinasuciu09
2017-06-22  5:49 (unknown), noord-holland
2017-06-22 13:22 (unknown), jeffrey.faulkenberg
2017-06-22 20:22 (unknown), junplzen
2017-06-22 20:24 (unknown), koopk
2017-06-23  1:43 (unknown), horizon
2017-06-23  2:49 (unknown), mdavis
2017-06-23  4:50 (unknown), nkosuta-f+iqBESB6gc
2017-06-23  6:09 (unknown), Administrator
2017-06-23 12:26 (unknown), archerrp
2017-06-23 17:22 (unknown), richard
2017-06-23 19:27 (unknown), armouralumni
2017-06-24  0:04 (unknown), hastpass
2017-06-24  0:35 (unknown), citydesk
2017-06-24  2:32 (unknown), h.gerritsen12
2017-06-24  8:07 (unknown), j.lahoda-aRb0bU7PRFPrBKCeMvbIDA
2017-06-24 11:55 (unknown), natasha.glauser
2017-06-24 12:38 (unknown), redaccion
2017-06-24 15:03 (unknown), archerrp
2017-06-24 15:41 (unknown), benjamin
2017-06-24 19:38 (unknown), richard
2017-06-25  2:39 (unknown), bflove1-ntQ8I44N4zM
2017-06-25  3:57 (unknown), nfrankiyamu
2017-06-25  4:47 (unknown), h.gerritsen12
2017-06-25  5:14 (unknown), archerrp
2017-06-25  5:19 (unknown), nbensoncole81
2017-06-25 10:21 (unknown), richard
2017-06-25 13:23 (unknown), rueggemann
2017-06-25 16:49 (unknown), agar2000
2017-06-25 18:13 (unknown), citydesk
2017-06-25 20:10 (unknown), h.gerritsen12
2017-06-26  5:21 (unknown) Leon Romanovsky
2017-06-26  9:15 (unknown), beautyink
2017-06-26 10:22 (unknown), p.mueller-spz-hgw-Mmb7MZpHnFY
2017-06-26 15:03 (unknown), richard
2017-06-26 16:10 (unknown), susan.christian
2017-06-26 17:51 (unknown), rueggemann
2017-06-26 19:07 (unknown), eremias
2017-06-26 22:14 (unknown), citydesk
2017-06-26 22:58 (unknown), Anders Lind
2017-06-26 22:58 (unknown), Anders Lind
2017-06-27  0:08 (unknown), h.gerritsen12
2017-06-27  7:12 (unknown), loisc07
2017-06-27  7:15 (unknown), noord-holland
2017-06-27 11:59 (unknown), natasha.glauser
2017-06-28  3:22 (unknown), Administrator
2017-06-28  3:56 (unknown), системы администратор
2017-06-28  3:56 (unknown), системы администратор
2017-06-28  3:56 (unknown), системы администратор
2017-06-28  3:56 (unknown), системы администратор
2017-06-28  3:57 (unknown), системы администратор
2017-06-28 14:22 (unknown), tchidrenplytoo
2017-06-29 10:39 (unknown), lizdebeth_
2017-06-29 12:20 (unknown), The Post Office
2017-06-29 13:46 (unknown), kholloway
2017-06-29 19:05 (unknown), morice.diane
2017-06-30  1:14 (unknown), paloma.depping
2017-06-30  2:53 (unknown), 1.10.0812112155390.21775
2017-06-30  8:29 (unknown), sibolt.mulder-b60u5d1xRcFWk0Htik3J/w
2017-07-01 11:36 (unknown), p.mueller-spz-hgw-Mmb7MZpHnFY
2017-07-01 21:28 (unknown), redaccion
2017-07-02 10:14 (unknown), armouralumni
2017-07-02 18:44 (unknown), tchidrenplytoo
2017-07-02 20:26 (unknown), tabiadhawatef
2017-07-03  1:28 (unknown), h.piontek
2017-07-03  4:44 (unknown), beautyink
2017-07-03 12:43 (unknown), mitch_128
2017-07-03 13:30 (unknown), roeper
2017-07-03 13:54 (unknown), sm-yT/95SBIOhs
2017-07-03 14:13 (unknown), tammyehood
2017-07-04  4:17 (unknown), rueggemann
2017-07-04  6:01 (unknown), xa0ajutor
2017-07-04  8:52 (unknown), citydesk
2017-07-04 10:50 (unknown), h.gerritsen12
2017-07-04 16:38 (unknown), openhackbangalore
2017-07-04 18:35 (unknown), noord-holland
2017-07-04 19:53 (unknown), tchidrenplytoo
2017-07-04 21:02 (unknown), salome.khum
2017-07-04 22:53 (unknown), j.lahoda-aRb0bU7PRFPrBKCeMvbIDA
2017-07-05  0:06 (unknown), michele
2017-07-05  0:55 (unknown), helga.brickl
2017-07-05  6:42 (unknown), angers
2017-07-05  6:55 (unknown), agiva
2017-07-05  7:00 (unknown), benjamin
2017-07-05  8:06 (unknown), koopk
2017-07-05 15:15 (unknown), armouralumni
2017-07-05 15:57 (unknown), sibolt.mulder-b60u5d1xRcFWk0Htik3J/w
2017-07-05 21:18 (unknown), een
2017-07-06  0:55 (unknown), 이성근
2017-07-06  6:10 (unknown), armouralumni
2017-07-06 14:11 (unknown), een
2017-07-06 17:35 (unknown), simon.a.t.hardy
2017-07-07  0:30 (unknown), amin
2017-07-07  1:37 (unknown), zumbalisa
2017-07-07 17:21 (unknown), pooks005
2017-07-08 11:53 (unknown), Alfred chow
2017-07-08 16:07 (unknown), netgalley
2017-07-08 17:13 (unknown), horizon
2017-07-08 18:22 (unknown), Alfred chow
2017-07-08 18:22 (unknown), Alfred chow
2017-07-09 13:02 (unknown), smallgroups
2017-07-09 18:51 (unknown), pooks005
2017-07-09 20:52 (unknown), iker-KvP5wT2u2U0
2017-07-09 23:19 (unknown), Corporate Lenders
2017-07-09 23:19 (unknown), Corporate Lenders
2017-07-09 23:29 (unknown), brian
2017-07-10  3:39 (unknown), системы администратор
2017-07-10  3:45 (unknown), системы администратор
2017-07-10  3:45 (unknown), системы администратор
2017-07-10  3:45 (unknown), системы администратор
2017-07-10  3:45 (unknown), системы администратор
2017-07-10  3:47 (unknown), системы администратор
2017-07-10  4:42 (unknown), lipa
2017-07-10 10:06 (unknown), alters
2017-07-10 12:43 (unknown), brian
2017-07-10 12:51 (unknown), lucia.germino
2017-07-10 21:37 (unknown), roeper
2017-07-10 21:53 (unknown), agiva
2017-07-10 22:07 (unknown), jacqueline.pike
2017-07-11  0:07 (unknown), protecciondatos.es
2017-07-11 16:39 (unknown), indulge-HCInDj6vYHrk4FeknX8I/ZqQE7yCjDx5
2017-07-12  0:42 (unknown), associatebusiness2009
2017-07-12 11:22 (unknown), sterrenplan.kampen
2017-07-12 19:24 (unknown), patientcentral
2017-07-13  2:27 (unknown), tomsue2000
2017-07-13  3:37 (unknown), befragung
2017-07-13  4:49 (unknown), delaware.orders
2017-07-15 12:30 (unknown), Huaisheng HS1 Ye
2017-07-16  7:25 (unknown), kim.frederiksen
2017-07-17  1:09 (unknown), kathleen.gilbert
2017-07-17  1:20 (unknown), tchidrenplytoo
2017-07-17  2:32 (unknown), salome.khum
2017-07-17 15:31 (unknown), kathleen.gilbert
2017-07-17 15:42 (unknown), tchidrenplytoo
2017-07-17 17:30 (unknown), richard
2017-07-17 21:54 (unknown), citydesk
2017-07-17 23:02 (unknown), h.piontek
2017-07-18  4:09 (unknown), armouralumni
2017-07-18  4:32 (unknown), citydesk
2017-07-18  4:50 (unknown), ying.huang-ral2JQCrhuEAvxtiuMwx3w
2017-07-18  5:45 (unknown), h.gerritsen12
2017-07-18  6:22 (unknown), sorbisches.internat
2017-07-18 11:36 (unknown), shwx002
2017-07-18 12:45 (unknown), mitch_128
2017-07-18 13:52 (unknown), stef.ryckmans
2017-07-18 15:56 (unknown), bfoster
2017-07-18 20:17 (unknown), brian
2017-07-18 20:28 (unknown), lizdebeth_
2017-07-18 20:36 (unknown), bunny43200
2017-07-18 23:49 (unknown), helga.brickl
2017-07-19 11:11 (unknown), rhsinfo
2017-07-20  3:55 (unknown), mfr-6k8blvha/+BqlCpFK1mnLg
2017-07-20 18:43 (unknown), tbinh.minhnd
2017-07-23 23:48 (unknown), miteshriya
2017-07-25 10:27 (unknown), nick_c_huang
2017-07-25 14:56 (unknown), nhossein4212003
2017-07-25 16:36 (unknown), susan.christian
2017-07-25 18:45 (unknown), x1kn8fk
2017-07-25 18:53 (unknown), sibolt.mulder-b60u5d1xRcFWk0Htik3J/w
2017-07-25 20:01 (unknown), hp
2017-07-25 20:41 (unknown), sorbisches.internat
2017-07-25 23:24 (unknown), h.gerritsen12
2017-07-26  2:25 (unknown), tammyehood
2017-07-26  4:42 (unknown), horizon
2017-07-26  6:36 (unknown), nenep
2017-07-26 10:32 (unknown), Solen win2
2017-07-26 11:39 (unknown), chrisbi_anelyst
2017-07-26 12:48 (unknown), momofr
2017-07-26 14:20 (unknown), sterrenplan.kampen
2017-07-26 14:35 (unknown), venkatvenkatsubra
2017-07-26 20:08 (unknown), municlerk
2017-07-26 20:45 (unknown), een
2017-07-27  1:25 (unknown), info
2017-07-27  2:14 (unknown) ceph-devel
2017-07-27  2:16 (unknown) ceph-devel
2017-07-27  5:01 (unknown), hp
2017-07-27 13:00 (unknown), nfrankiyamu
2017-07-28  7:17 (unknown), doctornina
2017-07-28  7:44 (unknown), robert.berry
2017-07-28 16:02 (unknown), gdahl
2017-07-30 23:33 (unknown), daven bango
2017-07-31 10:50 (unknown), susan.christian
2017-07-31 11:33 (unknown), rhsinfo
2017-07-31 11:49 (unknown), kchristopher
2017-07-31 13:15 (unknown), sibolt.mulder-b60u5d1xRcFWk0Htik3J/w
2017-07-31 14:52 (unknown), horizon
2017-07-31 16:54 (unknown), bunny43200
2017-07-31 18:00 (unknown), robert.berry
2017-07-31 20:14 (unknown), x1kn8fk
2017-07-31 21:27 (unknown), natasha.glauser
2017-08-01  1:35 (unknown), xa0ajutor
2017-08-01  1:35 (unknown), amin
2017-08-01  3:31 (unknown), helga.brickl
2017-08-01  4:40 (unknown), durrant
2017-08-01 10:07 (unknown) Chris Ruehl
2017-08-01 12:35 (unknown), jha
2017-08-01 14:53 (unknown), Angela H. Whiteman
2017-08-01 16:33 (unknown), sterrenplan.kampen
2017-08-01 19:35 (unknown), anderslindgaard
2017-08-01 19:35 (unknown), anderslindgaard
2017-08-01 20:18 (unknown), stef.ryckmans
2017-08-01 21:03 (unknown), editor
2017-08-01 21:19 (unknown), tammyehood
2017-08-02  0:36 (unknown), richard
2017-08-02  1:05 (unknown), lizdebeth_
2017-08-02  1:19 (unknown), nenep
2017-08-02  3:45 (unknown), системы администратор
2017-08-02  3:45 (unknown), системы администратор
2017-08-02  3:45 (unknown), системы администратор
2017-08-02  3:45 (unknown), системы администратор
2017-08-02  3:45 (unknown), helga.brickl
2017-08-02  3:47 (unknown), системы администратор
2017-08-02  4:12 (unknown), Administrator
2017-08-02 11:47 (unknown), armiksanaye
2017-08-02 12:55 (unknown), tammyehood
2017-08-02 13:58 (unknown), Will
2017-08-02 15:40 (unknown), Erma
2017-08-02 17:07 (unknown), Margery
2017-08-02 17:31 (unknown), Edmond
2017-08-02 18:05 (unknown), Angela-63XfWfWBA5k
2017-08-03  5:21 (unknown), Houston
2017-08-03 14:01 (unknown), Nora Johnson
2017-08-03 19:52 (unknown), natasha.glauser
2017-08-04  5:04 (unknown), durrant
2017-08-04 23:59 (unknown), editor
2017-08-05 11:42 (unknown), Sriram Murthy
2017-08-05 12:35 (unknown), agar2000
2017-08-05 14:08 (unknown), simon.a.t.hardy
2017-08-06 23:55 (unknown), webmaster
2017-08-07  4:49 (unknown), sorbisches.internat
2017-08-07  7:38 (unknown), simon.a.t.hardy
2017-08-07 11:50 (unknown), 1.10.0812112155390.21775
2017-08-07 18:38 (unknown), mitch_128
2017-08-07 18:42 (unknown), susan.christian
2017-08-07 19:03 (unknown), sm-yT/95SBIOhs
2017-08-07 20:25 (unknown), editor
2017-08-07 21:05 (unknown), sibolt.mulder-b60u5d1xRcFWk0Htik3J/w
2017-08-07 23:50 (unknown), wvhyvcm.abyxg
2017-08-08  4:57 (unknown), wesley.sydnor
2017-08-08  5:57 (unknown), befragung
2017-08-08 14:49 (unknown) catherine.verge
2017-08-08 17:09 (unknown), tchidrenplytoo
2017-08-08 19:14 (unknown), eaya
2017-08-08 19:40 (unknown), citydesk
2017-08-08 20:55 (unknown), h.gerritsen12
2017-08-08 21:31 (unknown), michele
2017-08-09  0:04 (unknown), h.piontek
2017-08-09  0:41 (unknown), natasha.glauser
2017-08-09 10:20 (unknown), системы администратор
2017-08-09 10:20 (unknown), системы администратор
2017-08-09 10:20 (unknown), системы администратор
2017-08-09 10:20 (unknown), системы администратор
2017-08-09 10:21 (unknown), системы администратор
2017-08-09 13:53 (unknown), Administrador
2017-08-09 14:34 (unknown), shwx002
2017-08-09 19:36 (unknown), tammyehood
2017-08-09 19:40 (unknown), tchidrenplytoo
2017-08-09 20:25 (unknown), sterrenplan.kampen
2017-08-09 21:55 (unknown), horizon
2017-08-09 22:05 (unknown), helga.brickl
2017-08-09 23:06 (unknown), editor
2017-08-09 23:15 (unknown), wvhyvcm.abyxg
2017-08-09 23:53 (unknown), nenep
2017-08-10  0:03 (unknown), michele
2017-08-10  3:32 (unknown), kholloway
2017-08-10  9:38 (unknown), asn-request-tfHHCSmtYoI
2017-08-10 18:16 (unknown), simon.a.t.hardy
2017-08-10 21:08 (unknown), mitch_128
2017-08-10 21:36 (unknown), shriyashah
2017-08-10 22:02 (unknown), stef.ryckmans
2017-08-11  4:42 (unknown), lizdebeth_
2017-08-11  4:57 (unknown), nenep
2017-08-11  4:59 (unknown), Administrator
2017-08-11  6:08 (unknown), администратор 
2017-08-11  6:14 (unknown), администратор 
2017-08-11  6:14 (unknown), администратор 
2017-08-11  6:14 (unknown), администратор 
2017-08-11  6:14 (unknown), администратор 
2017-08-11  8:54 (unknown), helga.brickl
2017-08-11  9:18 (unknown), jonathan.malihan
2017-08-11 15:50 (unknown), 1.10.0812112155390.21775
2017-08-11 17:28 (unknown), rhsinfo
2017-08-11 20:11 (unknown), tammyehood
2017-08-11 22:09 (unknown), Chris
2017-08-12  1:11 (unknown), lizdebeth_
2017-08-12  1:27 (unknown), nenep
2017-08-12 12:05 (unknown), agar2000
2017-08-13 15:17 (unknown), bunny43200
2017-08-14 14:57 (unknown), linwoodrvsales
2017-08-14 15:35 (unknown), agar2000
2017-08-14 16:53 (unknown), durrant
2017-08-14 17:38 (unknown), amin
2017-08-14 19:30 (unknown), sterrenplan.kampen
2017-08-15  1:55 (unknown), richard
2017-08-15  2:57 (unknown), nfrankiyamu
2017-08-15  3:38 (unknown), rueggemann
2017-08-15  4:40 (unknown), mitch_128
2017-08-15  6:08 (unknown), eumann
2017-08-15  6:50 (unknown), demorton
2017-08-15  8:46 (unknown), ccc
2017-08-15 11:16 (unknown), wvhyvcm.abyxg
2017-08-15 14:23 (unknown), helga.brickl
2017-08-15 14:45 (unknown), een
2017-08-15 17:30 (unknown), simon.a.t.hardy
2017-08-15 17:31 (unknown), nnarroyo623
2017-08-16  2:03 (unknown), xa0ajutor
2017-08-16  5:46 (unknown), kim.frederiksen
2017-08-17 21:36 (unknown), Adam Richter
2017-08-18 17:42 (unknown) Rajneesh Bhardwaj
2017-08-20  2:58 (unknown), Solen win2
2017-08-22 13:31 (unknown), vinnakota chaitanya
2017-08-23  7:23 (unknown), Xuehan Xu
2017-08-25  0:32 (unknown), agiva
2017-08-26  5:43 (unknown), carol.dallstream-WaM/PvcBqAo
2017-08-26 14:48 (unknown), nfrankiyamu
2017-08-27 10:55 (unknown), agar2000
2017-08-28  6:48 (unknown), patientcentral
2017-08-28 13:22 (unknown), dengx
2017-08-28 17:29 (unknown), befragung
2017-08-29  3:02 (unknown) catherine.verge
2017-08-29  5:40 (unknown), morice.diane
2017-08-30  0:38 (unknown), ifalqi
2017-08-30  1:37 (unknown), municlerk
2017-08-30 18:32 [PATCH] default implementation for of_find_all_nodes(...) Artur Lorincz
     [not found] ` <1504117946-3958-1-git-send-email-larturus2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-09-24 15:50   ` (unknown), Artur Lorincz
2017-10-06 19:31   ` (unknown), Artur Lorincz
2017-10-08 16:28   ` (unknown), Artur Lorincz
2017-08-30 19:49 (unknown), susan.christian
2017-08-30 20:26 (unknown), anita.traylor
2017-08-31  0:58 (unknown), info
2017-08-31  1:39 (unknown) m.wierczynska
2017-08-31  4:52 (unknown), archerrp
2017-08-31  8:20 (unknown), jessica.jones-PnMVE5gNl/Vkbu+0n/iG1Q
2017-08-31  9:54 (unknown), info
2017-08-31 12:23 (unknown), mark.robinson
2017-08-31 15:40 (unknown), sterrenplan.kampen
2017-08-31 18:41 (unknown), helga.brickl
2017-09-01  1:48 (unknown), agar2000
2017-09-01  1:48 (unknown), doctornina
2017-09-01  2:30 (unknown), robert.berry
2017-09-01  4:05 (unknown), andrewf
2017-09-01  4:59 (unknown), adriix.addy
2017-09-01  6:21 (unknown), zita.latex
2017-09-01  8:16 (unknown), financialaid
2017-09-01 11:40 (unknown), witt.kohl
2017-09-01 15:00 (unknown), ujagu8185-Re5JQEeQqe8AvxtiuMwx3w
2017-09-01 15:30 (unknown), stef.ryckmans
2017-09-01 19:52 (unknown), sunaina
2017-09-01 20:58 (unknown), wvhyvcm.abyxg
2017-09-01 21:32 (unknown), nenep
2017-09-01 21:57 (unknown), umpvav-YDxpq3io04c
2017-09-01 22:51 (unknown), zumbalisa
2017-09-01 22:55 (unknown), redaccion
2017-09-02  0:58 (unknown), smallgroups
2017-09-02  1:59 (unknown), danielle.picarda2
2017-09-02  2:35 (unknown), jbmplupus-Mmb7MZpHnFY
2017-09-02  2:39 (unknown), een
2017-09-02  2:47 (unknown), nbensoncole81
2017-09-02  6:40 (unknown), simon.a.t.hardy
2017-09-02 23:56 (unknown), netgalley
2017-09-03 21:26 (unknown), cl_luzcc
2017-09-03 21:51 (unknown), xb028930336
2017-09-03 22:54 (unknown), sherrilyn
2017-09-04  2:13 (unknown), x1kn8fk
2017-09-04  2:33 (unknown), marketing
2017-09-04  5:14 (unknown), nelcastellodicarta
2017-09-04 12:17 (unknown), noord-holland
2017-09-04 23:46 (unknown), sterrenplan.kampen
2017-09-05  1:51 (unknown), halinajan-4Uo9UdwAbX8
2017-09-05  2:43 (unknown), xb028930336
2017-09-05 11:11 (unknown), inn
2017-09-05 12:51 (unknown), ifalqi
2017-09-05 14:02 (unknown), ecaterinasuciu09
2017-09-05 16:31 (unknown), mgriffit
2017-09-05 18:07 (unknown), bfoster
2017-09-05 18:38 (unknown), john.dahlberg
2017-09-05 23:34 (unknown), kkaplanidou
2017-09-06  3:57 (unknown), informationrequest
2017-09-07  4:02 (unknown), dengx
2017-09-07  7:05 (unknown), tabiadhawatef
2017-09-10  6:22 (unknown), Youichi Kanno
2017-09-11 19:35 (unknown) Helge Deller
2017-09-11 20:10 (unknown), roeper
2017-09-12 18:53 (unknown), pooks005
2017-09-12 19:16 (unknown), cl_luzcc
2017-09-12 19:45 (unknown), edo.hlaca
2017-09-12 22:07 (unknown), marketing
2017-09-13  4:21 (unknown), natasha.glauser
2017-09-13  8:56 (unknown), kindergartenchaos2
2017-09-15 17:01 (unknown), noreply
2017-09-15 17:29 (unknown), noreply
2017-09-15 17:30 (unknown), noreply
2017-09-19  7:47 (unknown), agar2000
2017-09-20  1:01 (unknown), ninfo
2017-09-21  7:47 (unknown), MAILER-DAEMON
2017-09-22  1:22 (unknown), unsubscribe.me
2017-09-22  1:55 (unknown), dengx
2017-09-22  3:39 (unknown), service
2017-09-22  8:41 (unknown), Adrian Gillian Bayford
2017-09-22 19:34 (unknown), John Michael
2017-09-27 17:41 (unknown), Michael Lyle
2017-09-27 19:12 (unknown), rlm85310
2017-09-27 19:30 (unknown), nbensoncole81
2017-09-28  0:21 (unknown), natasha.glauser
2017-09-28 15:08 (unknown), amin
2017-09-28 22:59 (unknown), rlm85310
2017-09-29  2:48 (unknown), Tina Aaron
2017-09-29  3:06 (unknown), jha
2017-09-29  7:26 (unknown), kelley
2017-09-29  7:44 (unknown), amin
2017-09-29 11:28 (unknown), cl_luzcc
2017-09-29 11:49 (unknown), roeper
2017-09-29 13:49 (unknown), marketing
2017-09-29 14:47 (unknown), nelcastellodicarta
2017-09-29 15:21 (unknown), natasha.glauser
2017-09-29 15:42 (unknown), noord-holland
2017-09-29 18:01 (unknown), clasico082
2017-09-29 21:29 (unknown), info
2017-09-30 14:07 (unknown), redaccion
2017-10-02 15:35 (unknown), nfrankiyamu
2017-10-02 17:38 (unknown), nbensoncole81
2017-10-02 18:00 (unknown), Solen win2
2017-10-02 18:06 (unknown), dengx
2017-10-02 20:31 (unknown), kchristopher
2017-10-03  0:03 (unknown), noord-holland
2017-10-03  0:14 (unknown), roeper
2017-10-03  0:55 (unknown), jbmplupus-Mmb7MZpHnFY
2017-10-03  7:38 (unknown), angers
2017-10-03  8:16 (unknown), morice.diane
2017-10-03  8:40 (unknown), koopk
2017-10-03 10:37 (unknown), edo.hlaca
2017-10-03 12:43 (unknown), marketing
2017-10-03 13:59 (unknown), nelcastellodicarta
2017-10-04  5:56 (unknown), morice.diane
2017-10-04 11:44 (unknown), susan.christian
2017-10-04 15:33 (unknown), membership
2017-10-04 16:11 (unknown), 1.10.0812112155390.21775
2017-10-05  6:53 (unknown), helga.brickl
2017-10-05  7:10 (unknown), mgriffit
2017-10-05 10:20 (unknown), jeffrey.faulkenberg
2017-10-05 14:24 (unknown), informationrequest
2017-10-05 15:34 (unknown), kindergartenchaos2
2017-10-06  1:43 (unknown), sophie.norman
2017-10-06  1:59 (unknown), edo.hlaca
2017-10-06  2:19 (unknown), sherrilyn
2017-10-06  5:16 (unknown), nelcastellodicarta
2017-10-06  8:31 (unknown), smallgroups
2017-10-06 11:55 (unknown), info
2017-10-07  0:31 (unknown), carmen.croonquist
2017-10-07  3:40 (unknown), agar2000
2017-10-07  4:45 (unknown), morice.diane
2017-10-08  1:26 (unknown), redaccion
2017-10-08  7:32 (unknown), cl_luzcc
2017-10-08  7:59 (unknown), edo.hlaca
2017-10-08  9:00 (unknown), pekka.enne
2017-10-08  9:52 (unknown), marketing
2017-10-08 11:08 (unknown), nelcastellodicarta
2017-10-08 14:15 (unknown), clasico082
2017-10-08 19:00 (unknown), matthias.foerster
2017-10-08 22:32 (unknown), natasha.glauser
2017-10-08 23:01 (unknown), susan.christian
2017-10-09  3:44 (unknown), roeper
2017-10-09  6:17 (unknown), durrant
2017-10-09  7:37 (unknown), Michael Lyle
2017-10-09 13:19 (unknown), carmen.croonquist
2017-10-09 15:06 (unknown), jha
2017-10-10 23:27 (unknown), editor
2017-10-11  4:11 (unknown), morice.diane
2017-10-11  7:34 (unknown), cl_luzcc
2017-10-11  8:20 (unknown), sherrilyn
2017-10-11  9:19 (unknown), pekka.enne
2017-10-11 11:49 (unknown), nelcastellodicarta
2017-10-11 19:29 (unknown), info
2017-10-11 19:55 (unknown), kindergartenchaos2
2017-10-11 22:32 (unknown), fwkz4811-DoVvmRvd3PAA2dtGD8cC2w
2017-10-12  3:08 (unknown), iker-KvP5wT2u2U0
2017-10-12  5:55 (unknown), xa0et.sirio
2017-10-12  8:17 (unknown), armouralumni
2017-10-12 11:46 (unknown), sophie.norman
2017-10-12 13:15 (unknown), mbalhoff
2017-10-12 13:53 (unknown), Andrew Clement
2017-10-12 14:09 (unknown), redaccion
2017-10-13  6:16 (unknown), nfrankiyamu
2017-10-13 17:15 (unknown), susan.christian
2017-10-14  6:44 (unknown), Ella Golan
2017-10-15  3:28 (unknown), redaccion
2017-10-15 11:15 (unknown), cl_luzcc
2017-10-15 11:49 (unknown), edo.hlaca
2017-10-15 12:04 (unknown), sherrilyn
2017-10-15 12:17 (unknown), Solen win2
2017-10-15 13:01 (unknown), pekka.enne
2017-10-15 13:57 (unknown), marketing
2017-10-15 15:13 (unknown), nelcastellodicarta
2017-10-15 18:29 (unknown), clasico082
2017-10-15 22:07 (unknown), info
2017-10-16  1:23 (unknown), fwkz4811-DoVvmRvd3PAA2dtGD8cC2w
2017-10-16 11:30 (unknown), kindergartenchaos2
2017-10-16 19:44 (unknown), iker-KvP5wT2u2U0
2017-10-17  0:33 (unknown), membership
2017-10-17  7:00 (unknown), lswedroe
2017-10-17 12:14 (unknown), dengx
2017-10-17 20:28 (unknown), kelley
2017-10-19 20:10 (unknown), pooks005
2017-10-19 22:54 (unknown), armouralumni
2017-10-20  3:19 (unknown), dengx
2017-10-20  8:42 (unknown), membership
2017-10-23 13:52 (unknown), Intl Agency
2017-10-25 12:10 (unknown), EG
2017-10-29  9:46 (unknown), Solen win
2017-11-01 23:35 (unknown), Roy Cockrum Foundation
2017-11-05  3:40 (unknown), Solen win
2017-11-06 19:51 (unknown), Qing Chang
2017-11-12 15:09 (unknown), Friedrich Mayrhofer
2017-11-12 15:09 (unknown), Friedrich Mayrhofer
2017-11-12 15:09 (unknown), Friedrich Mayrhofer
2017-11-12 15:10 (unknown), Mitesh Shah
2017-11-13  3:13 (unknown), Bounced mail
2017-11-15  9:18 (unknown) nanda_kishore_chinna
2017-11-15 14:44 (unknown), Qing Chang
2017-11-16 10:18 (unknown), Michal Hocko
2017-11-19 20:07 (unknown), Mitesh Shah
2017-11-20  2:36 (unknown), Robert Wang
2017-12-01  2:56 (unknown), Post Office
2017-12-01 14:22 (unknown), Rein Appeldoorn
2017-12-07 12:53 (unknown), Sistemas administrador
2017-12-12 16:06 (unknown), Solen win
2017-12-14 16:26 (unknown), Solen win
2017-12-17 17:28 (unknown), Solen win
2017-12-23 15:32 (unknown), 柯弼舜
2017-12-24  2:58 (unknown), 柯弼舜
2017-12-24  9:07 (unknown), Solen win
2017-12-30  2:10 (unknown), Arpit Patel
2017-12-30  4:37 (unknown), Adam Richter
2018-01-02 22:11 (unknown), Mr Sheng Li Hung
2018-01-09 21:23 (unknown), Emile Kenold
2018-01-10 10:27 (unknown), TimGuo
2018-01-11  3:22 (unknown), Active lender@
2018-01-16  2:16 (unknown) Jack.Ma
2018-01-16  2:23 (unknown) Jack.Ma
2018-01-23 13:36 (unknown), Mr Sheng Li Hung
2018-01-23 13:54 (unknown), Mr Sheng Li Hung
2018-01-25  7:23 (unknown), tirumalareddy marri
2018-01-27 13:25 (unknown), Jones
2018-01-27 13:48 (unknown), Jones
2018-01-27 13:48 (unknown), Jones
2018-01-28 17:01 (unknown), whoisthis TG
2018-01-28 17:06 (unknown), whoisthis TG
2018-01-29 14:17 (unknown), Jones
2018-01-29 16:30 (unknown), Jones
2018-01-29 16:30 (unknown), Jones
2018-01-29 16:55 (unknown), Jones
2018-01-29 17:17 (unknown), Jones
2018-01-29 17:17 (unknown), Jones
2018-01-29 17:17 (unknown), Jones
2018-01-29 17:17 (unknown), Jones
2018-01-29 17:17 (unknown), Jones
2018-01-29 17:17 (unknown), Jones
2018-02-02 12:15 (unknown), Robert Vasek
     [not found] <CALfDnQ8aCTywvhqOBkFv3qQOoME9wvTrKbQq8i8PCPOx2iBp=A@mail.gmail.com>
     [not found] ` <CALfDnQ-NihbhS=8C+ZfiKepj5x+Zd5uS2zH82-VrwV40A55s0w@mail.gmail.com>
2018-02-07 10:50   ` (unknown), Solen win
2018-02-08 14:40 (unknown), Automatic Email Delivery Software
2018-02-11  7:19 (unknown), Alfred Cheuk Chow
2018-02-11 16:07 (unknown), glolariu
2018-02-12  1:39 (unknown), Alfred Cheuk Chow
2018-02-12  1:39 (unknown), Alfred Cheuk Chow
2018-02-12  1:39 (unknown), Alfred Cheuk Chow
2018-02-12  1:39 (unknown), Alfred Cheuk Chow
2018-02-13 11:58 (unknown), Solen win
2018-02-13 12:43 (unknown), mavis lilian wanczyk
2018-02-13 22:56 (unknown), Alfred Cheuk Chow
2018-02-13 22:57 (unknown), Alfred Cheuk Chow
2018-02-13 22:57 (unknown), Alfred Cheuk Chow
2018-02-13 22:57 (unknown), Alfred Cheuk Chow
2018-02-13 22:57 (unknown), Alfred Cheuk Chow
2018-02-13 22:59 (unknown), Mitesh Shah
2018-02-17  1:45 (unknown), Ryan Ellis
2018-02-17  8:41 (unknown), Solen win
2018-02-17 15:29 (unknown), Ahmed Soliman
2018-02-23 15:54 (unknown), Adam Richter
     [not found] <[PATCH xf86-video-amdgpu 0/3] Add non-desktop and leasing support>
2018-03-03  4:49 ` (unknown), Keith Packard
2018-03-05 17:06 (unknown) Meghana Madhyastha
2018-03-07  7:48 (unknown), Solen win
2018-03-23  3:05 (unknown), Mail Delivery Subsystem
2018-04-04 13:43 (unknown),  системы администратор
2018-04-06  1:18 (unknown), venkatvenkatsubra
2018-04-16  1:22 (unknown), Andrew Worsley
2018-04-20  8:02 (unknown) Christoph Hellwig
2018-04-20  8:02 ` (unknown), Christoph Hellwig
2018-05-04 15:21 (unknown), Mark Henry
2018-05-05 22:07 (unknown), Shane Missler
2018-05-14  6:33 (unknown), системы администратор
2018-05-14 17:30 (unknown), Jessica
2018-05-18 12:04 (unknown) DaeRyong Jeong
2018-05-25  3:26 (unknown), Bounced mail
2018-05-29  7:26 (unknown), администратор
2018-05-31 17:11 (unknown), Adam Richter via Containers
2018-06-13 15:48 (unknown), Ubaithullah Masood
2018-06-16  8:15 (unknown) Mrs Mavis Wanczyk
2018-06-23 21:08 (unknown), David Lechner
2018-07-05 10:36 (unknown), rosdi ablatiff
2018-07-06  1:26 (unknown), Dave Airlie
2018-07-28 10:14 (unknown), Andrew Martinez
2018-07-28 10:46 (unknown), Andrew Martinez
2018-07-29  9:58 (unknown) Sumitomo Rubber
2018-08-09  9:23 (unknown), системы администратор
2018-08-22  9:07 (unknown), системы администратор
2018-08-24  4:59 (unknown), Dave Airlie
2018-08-27 14:50 (unknown), Christoph Hellwig
2018-09-16 13:39 (unknown), iluminati
2018-09-19 19:57 (unknown), Saif Hasan
2018-10-09 15:55 (unknown), Oliver Carter
2018-10-19 14:40 (unknown), David Howells
2018-10-19 17:46 ` (unknown) David Miller
2018-10-19 20:51 ` (unknown) David Howells
2018-10-19 20:58   ` (unknown) David Miller
2018-10-21 16:25 (unknown), Michael Tirado
2018-10-31  0:38 (unknown), Ubaithullah Masood
2018-11-11  8:05 (unknown), Oliver Carter
2018-11-18  9:11 (unknown), Mrs. Maureen Hinckley
2018-11-18 20:40 (unknown), Major Dennis Hornbeck
2018-11-27  0:07 (unknown), Offer
2019-01-02 12:25 (unknown), Frank Wunderlich
2019-01-15  2:55 (unknown), Jens Axboe
2019-02-28  3:36 (unknown) Post Office
2019-03-01  3:34 (unknown) Automatic Email Delivery Software
2019-03-04  3:42 (unknown) Automatic Email Delivery Software
2019-03-19 14:41 (unknown) Maxim Levitsky
2019-03-21  1:51 (unknown) zhuchangchun
2019-03-29  0:36 (unknown) 邀请函
2019-04-04  5:56 (unknown) Mail Delivery Subsystem
2019-04-05  2:38 (unknown) Changbin Du
2019-04-10 11:14 Norbert Lange
2019-04-10 13:37 ` (unknown) Jan Kiszka
2019-04-10 14:36 ` (unknown) Jan Kiszka
     [not found]   ` <VI1PR05MB5917B5956F2E9365F10D6539F62E0@VI1PR05MB5917.eurprd05.prod.outlook.com>
2019-04-10 14:47     ` (unknown) Jan Kiszka
2019-04-10 15:02       ` (unknown) Lange Norbert
2019-04-10 16:46         ` (unknown) Jan Kiszka
2019-04-10 11:17 Norbert Lange
2019-04-10 14:15 ` (unknown) Jan Kiszka
2019-05-16  3:48 (unknown) Mail Delivery Subsystem
2019-05-26 11:51 (unknown) Thomas Meyer
2019-06-07  0:54 (unknown) Dave Airlie
2019-08-23  2:12 (unknown) Rob Herring
2019-09-12  8:09 (unknown) Gene Chen
2019-12-12 15:50 (unknown) 周琰杰 (Zhou Yanjie)
     [not found] <1187667350.235001.1580574902701.ref@mail.yahoo.com>
2020-02-01 16:35 ` (unknown) Mrs. Maureen Hinckley
2020-02-05  8:23 (unknown) Frau Huan Jlaying
2020-02-11 22:34 (unknown) Rajat Jain
2020-02-15  3:25 (unknown) mprim37 alcorta
2020-02-24  8:18 kernel panic: audit: backlog limit exceeded syzbot
2020-02-24 22:38 ` Paul Moore
2020-02-24 22:43   ` Eric Paris
2020-02-24 22:46     ` Paul Moore
     [not found]       ` <CAHC9VhQnbdJprbdTa_XcgUJaiwhzbnGMWJqHczU54UMk0AFCtw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-02-27 15:39         ` (unknown) Dmitry Vyukov via B.A.T.M.A.N
2020-03-04  9:42 (unknown) Julie Leach
2020-03-04 23:30 (unknown) Maria Alessandra Filippi
2020-03-05  0:26 (unknown) Maria Alessandra Filippi
2020-03-05  2:33 (unknown) Maria Alessandra Filippi
2020-03-05 10:46 (unknown) Juanito S. Galang
2020-03-05 10:46 (unknown) Juanito S. Galang
2020-03-05 10:46 (unknown) Juanito S. Galang
2020-03-05 10:46 (unknown) Juanito S. Galang
2020-03-05 10:46 (unknown) Juanito S. Galang
2020-03-05 10:46 (unknown) Juanito S. Galang
2020-03-05 10:47 (unknown) Juanito S. Galang
2020-03-09  7:34 (unknown) Michael J. Weirsky
2020-03-09  7:34 (unknown) Michael J. Weirsky
2020-03-09  7:34 (unknown) Michael J. Weirsky
2020-03-09  7:34 (unknown) Michael J. Weirsky
2020-03-09  7:37 (unknown) Michael J. Weirsky
2020-03-09  8:43 (unknown) Michael J. Weirsky
2020-03-17  0:11 (unknown) David Ibe
2020-03-17  0:11 (unknown) David Ibe
2020-03-27  8:36 (unknown) chenanqing
2020-03-27  9:20 (unknown) chenanqing
2020-04-23 23:06 (unknown) Azim Hashim Premji
2020-04-23 23:06 (unknown) Azim Hashim Premji
2020-05-08 22:58 (unknown) Barbara D Wilkins
2020-05-08 23:41 (unknown) Barbara D Wilkins
2020-05-08 23:51 (unknown) Barbara D Wilkins
2020-06-04 19:57 (unknown) David Shine
     [not found] <1327230475.528260.1591750200327.ref@mail.yahoo.com>
2020-06-10  0:50 ` (unknown) Celine Marchand
2020-06-27 21:52 (unknown) helen
2020-06-27 21:54 (unknown) helen
2020-06-27 21:58 (unknown) lookman joe
2020-06-27 21:58 (unknown) lookman joe
2020-06-27 21:58 (unknown) lookman joe
2020-06-30 17:56 (unknown) Vasiliy Kupriakov
2020-07-02 19:43 (unknown) Barr Anthony Calder
2020-07-22  4:45 (unknown) Darlehen Bedienung
2020-07-22  5:32 (unknown) Darlehen Bedienung
2020-07-22  5:32 (unknown) Darlehen Bedienung
2020-07-22  5:32 (unknown) Darlehen Bedienung

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=200612212148.kBLJgZN6014325@rgmgw2.us.oracle.com \
    --to=chris.mason@oracle.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.