All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ram Pai <linuxram@us.ibm.com>
To: akpm@osdl.org, Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Cc: Avantika Mathur <mathurav@us.ibm.com>,
	Mike Waychison <mike@waychison.com>
Subject: (unknown)
Date: Mon, 25 Jul 2005 15:44:20 -0700	[thread overview]
Message-ID: <20050725225908.031752000__9294.78676193885$1122332644$gmane$org@localhost> (raw)
In-Reply-To: 20050725224417.501066000@localhost

, miklos@szeredi.hu, Janak Desai <janak@us.ibm.com>, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 3/7] shared subtree
Content-Type: text/x-patch; name=rbind.patch
Content-Disposition: inline; filename=rbind.patch

Adds the ability to bind/rbind a shared/private/slave subtree and set up
propogation wherever needed.

RP

Signed by Ram Pai (linuxram@us.ibm.com)

 fs/namespace.c            |  660 ++++++++++++++++++++++++++++++++++++++++------
 fs/pnode.c                |  235 ++++++++++++++++
 include/linux/dcache.h    |    2 
 include/linux/fs.h        |    5 
 include/linux/namespace.h |    1 
 5 files changed, 826 insertions(+), 77 deletions(-)

Index: 2.6.12.work2/fs/namespace.c
===================================================================
--- 2.6.12.work2.orig/fs/namespace.c
+++ 2.6.12.work2/fs/namespace.c
@@ -42,7 +42,8 @@ static inline int sysfs_init(void)
 
 static struct list_head *mount_hashtable;
 static int hash_mask, hash_bits;
-static kmem_cache_t *mnt_cache; 
+static kmem_cache_t *mnt_cache;
+static struct rw_semaphore namespace_sem;
 
 static inline unsigned long hash(struct vfsmount *mnt, struct dentry *dentry)
 {
@@ -54,7 +55,7 @@ static inline unsigned long hash(struct 
 
 struct vfsmount *alloc_vfsmnt(const char *name)
 {
-	struct vfsmount *mnt = kmem_cache_alloc(mnt_cache, GFP_KERNEL); 
+	struct vfsmount *mnt = kmem_cache_alloc(mnt_cache, GFP_KERNEL);
 	if (mnt) {
 		memset(mnt, 0, sizeof(struct vfsmount));
 		atomic_set(&mnt->mnt_count,1);
@@ -86,7 +87,8 @@ void free_vfsmnt(struct vfsmount *mnt)
  * Now, lookup_mnt increments the ref count before returning
  * the vfsmount struct.
  */
-struct vfsmount *lookup_mnt(struct vfsmount *mnt, struct dentry *dentry)
+struct vfsmount *__lookup_mnt(struct vfsmount *mnt, struct dentry *dentry,
+		struct dentry *root)
 {
 	struct list_head * head = mount_hashtable + hash(mnt, dentry);
 	struct list_head * tmp = head;
@@ -99,7 +101,8 @@ struct vfsmount *lookup_mnt(struct vfsmo
 		if (tmp == head)
 			break;
 		p = list_entry(tmp, struct vfsmount, mnt_hash);
-		if (p->mnt_parent == mnt && p->mnt_mountpoint == dentry) {
+		if (p->mnt_parent == mnt && p->mnt_mountpoint == dentry &&
+				(root == NULL || p->mnt_root == root)) {
 			found = mntget(p);
 			break;
 		}
@@ -108,6 +111,37 @@ struct vfsmount *lookup_mnt(struct vfsmo
 	return found;
 }
 
+struct vfsmount *lookup_mnt(struct vfsmount *mnt, struct dentry *dentry)
+{
+	return __lookup_mnt(mnt, dentry, NULL);
+}
+
+static struct vfsmount *
+clone_mnt(struct vfsmount *old, struct dentry *root)
+{
+	struct super_block *sb = old->mnt_sb;
+	struct vfsmount *mnt = alloc_vfsmnt(old->mnt_devname);
+
+	if (mnt) {
+		mnt->mnt_flags = old->mnt_flags;
+		atomic_inc(&sb->s_active);
+		mnt->mnt_sb = sb;
+		mnt->mnt_root = dget(root);
+		mnt->mnt_mountpoint = mnt->mnt_root;
+		mnt->mnt_parent = mnt;
+		mnt->mnt_namespace = old->mnt_namespace;
+		mnt->mnt_pnode = get_pnode(old->mnt_pnode);
+
+		/* stick the duplicate mount on the same expiry list
+		 * as the original if that was on one */
+		spin_lock(&vfsmount_lock);
+		if (!list_empty(&old->mnt_fslink))
+			list_add(&mnt->mnt_fslink, &old->mnt_fslink);
+		spin_unlock(&vfsmount_lock);
+	}
+	return mnt;
+}
+
 static inline int check_mnt(struct vfsmount *mnt)
 {
 	return mnt->mnt_namespace == current->namespace;
@@ -128,11 +162,71 @@ static void attach_mnt(struct vfsmount *
 {
 	mnt->mnt_parent = mntget(nd->mnt);
 	mnt->mnt_mountpoint = dget(nd->dentry);
-	list_add(&mnt->mnt_hash, mount_hashtable+hash(nd->mnt, nd->dentry));
+	mnt->mnt_namespace = nd->mnt->mnt_namespace;
+	list_add_tail(&mnt->mnt_hash,
+			mount_hashtable+hash(nd->mnt, nd->dentry));
 	list_add_tail(&mnt->mnt_child, &nd->mnt->mnt_mounts);
 	nd->dentry->d_mounted++;
 }
 
+static void attach_prepare_mnt(struct vfsmount *mnt, struct nameidata *nd)
+{
+	mnt->mnt_parent = mntget(nd->mnt);
+	mnt->mnt_mountpoint = dget(nd->dentry);
+	nd->dentry->d_mounted++;
+}
+
+
+void do_attach_commit_mnt(struct vfsmount *mnt)
+{
+	struct vfsmount *parent = mnt->mnt_parent;
+	BUG_ON(parent==mnt);
+	if(list_empty(&mnt->mnt_hash))
+		list_add_tail(&mnt->mnt_hash,
+			mount_hashtable+hash(parent, mnt->mnt_mountpoint));
+	if(list_empty(&mnt->mnt_child))
+		list_add_tail(&mnt->mnt_child, &parent->mnt_mounts);
+	mnt->mnt_namespace = parent->mnt_namespace;
+	list_add_tail(&mnt->mnt_list, &mnt->mnt_namespace->list);
+}
+
+struct vfsmount *do_attach_prepare_mnt(struct vfsmount *mnt,
+		struct dentry *dentry,
+		struct vfsmount *template_mnt,
+		int clone_flag)
+{
+	struct vfsmount *child_mnt;
+	struct nameidata nd;
+
+	if (clone_flag) {
+		if(!(child_mnt = clone_mnt(template_mnt,
+				template_mnt->mnt_root)))
+			return NULL;
+	} else
+		child_mnt = template_mnt;
+
+	nd.mnt = mnt;
+	nd.dentry = dentry;
+
+	attach_prepare_mnt(child_mnt, &nd);
+
+	return child_mnt;
+}
+
+void do_detach_prepare_mnt(struct vfsmount *mnt, int free_flag)
+{
+	mnt->mnt_mountpoint->d_mounted--;
+	mntput(mnt->mnt_parent);
+	dput(mnt->mnt_mountpoint);
+	if (free_flag) {
+		BUG_ON(atomic_read(&mnt->mnt_count) != 1);
+		spin_lock(&vfsmount_lock);
+		list_del_init(&mnt->mnt_fslink);
+		spin_unlock(&vfsmount_lock);
+		mntput(mnt);
+	}
+}
+
 static struct vfsmount *next_mnt(struct vfsmount *p, struct vfsmount *root)
 {
 	struct list_head *next = p->mnt_mounts.next;
@@ -149,29 +243,14 @@ static struct vfsmount *next_mnt(struct 
 	return list_entry(next, struct vfsmount, mnt_child);
 }
 
-static struct vfsmount *
-clone_mnt(struct vfsmount *old, struct dentry *root)
+static struct vfsmount *skip_mnt_tree(struct vfsmount *p)
 {
-	struct super_block *sb = old->mnt_sb;
-	struct vfsmount *mnt = alloc_vfsmnt(old->mnt_devname);
-
-	if (mnt) {
-		mnt->mnt_flags = old->mnt_flags;
-		atomic_inc(&sb->s_active);
-		mnt->mnt_sb = sb;
-		mnt->mnt_root = dget(root);
-		mnt->mnt_mountpoint = mnt->mnt_root;
-		mnt->mnt_parent = mnt;
-		mnt->mnt_namespace = old->mnt_namespace;
-
-		/* stick the duplicate mount on the same expiry list
-		 * as the original if that was on one */
-		spin_lock(&vfsmount_lock);
-		if (!list_empty(&old->mnt_fslink))
-			list_add(&mnt->mnt_fslink, &old->mnt_fslink);
-		spin_unlock(&vfsmount_lock);
+	struct list_head *prev = p->mnt_mounts.prev;
+	while (prev != &p->mnt_mounts) {
+		p = list_entry(prev, struct vfsmount, mnt_child);
+		prev = p->mnt_mounts.prev;
 	}
-	return mnt;
+	return p;
 }
 
 void __mntput(struct vfsmount *mnt)
@@ -191,7 +270,7 @@ static void *m_start(struct seq_file *m,
 	struct list_head *p;
 	loff_t l = *pos;
 
-	down_read(&n->sem);
+	down_read(&namespace_sem);
 	list_for_each(p, &n->list)
 		if (!l--)
 			return list_entry(p, struct vfsmount, mnt_list);
@@ -208,8 +287,7 @@ static void *m_next(struct seq_file *m, 
 
 static void m_stop(struct seq_file *m, void *v)
 {
-	struct namespace *n = m->private;
-	up_read(&n->sem);
+	up_read(&namespace_sem);
 }
 
 static inline void mangle(struct seq_file *m, const char *s)
@@ -433,7 +511,7 @@ static int do_umount(struct vfsmount *mn
 		return retval;
 	}
 
-	down_write(&current->namespace->sem);
+	down_write(&namespace_sem);
 	spin_lock(&vfsmount_lock);
 
 	if (atomic_read(&sb->s_active) == 1) {
@@ -455,7 +533,7 @@ static int do_umount(struct vfsmount *mn
 	spin_unlock(&vfsmount_lock);
 	if (retval)
 		security_sb_umount_busy(mnt);
-	up_write(&current->namespace->sem);
+	up_write(&namespace_sem);
 	return retval;
 }
 
@@ -495,9 +573,9 @@ out:
 #ifdef __ARCH_WANT_SYS_OLDUMOUNT
 
 /*
- *	The 2.0 compatible umount. No flags. 
+ *	The 2.0 compatible umount. No flags.
  */
- 
+
 asmlinkage long sys_oldumount(char __user * name)
 {
 	return sys_umount(name,0);
@@ -541,6 +619,9 @@ static struct vfsmount *copy_tree(struct
 	struct list_head *h;
 	struct nameidata nd;
 
+	if (IS_MNT_UNCLONE(mnt))
+		return NULL;
+
 	res = q = clone_mnt(mnt, dentry);
 	if (!q)
 		goto Enomem;
@@ -549,10 +630,15 @@ static struct vfsmount *copy_tree(struct
 	p = mnt;
 	for (h = mnt->mnt_mounts.next; h != &mnt->mnt_mounts; h = h->next) {
 		r = list_entry(h, struct vfsmount, mnt_child);
+
 		if (!lives_below_in_same_fs(r->mnt_mountpoint, dentry))
 			continue;
 
 		for (s = r; s; s = next_mnt(s, r)) {
+			if (IS_MNT_UNCLONE(s)) {
+				s = skip_mnt_tree(s);
+				continue;
+			}
 			while (p != s->mnt_parent) {
 				p = p->mnt_parent;
 				q = q->mnt_parent;
@@ -579,9 +665,276 @@ static struct vfsmount *copy_tree(struct
 	return NULL;
 }
 
+/*
+ * return 1 if the mount tree contains a shared or slave mount
+ */
+static inline int tree_contains_sharedorslave(struct vfsmount *mnt)
+{
+	struct vfsmount *p;
+	for (p = mnt; p; p = next_mnt(p, mnt)) {
+		if (IS_MNT_SHARED(p) || IS_MNT_SLAVE(p))
+			return 1;
+	}
+	return 0;
+}
+
+/*
+ * commit the operations done in attach_recursive_mnt(). run through pnode list
+ * headed at 'pnodehead', and commit the operation done in
+ * attach_recursive_mnt();
+ */
+
+static void commit_attach_recursive_mnt(struct list_head *pnodehead)
+{
+	struct vfspnode *t_p, *tmp_pnode;
+
+	/*
+	 * Merge or delete or slave each of the temporary pnode
+	 */
+	spin_lock(&vfsmount_lock);
+	list_for_each_entry_safe(tmp_pnode, t_p, pnodehead,
+			pnode_peer_slave) {
+
+		int del_flag = IS_PNODE_DELETE(tmp_pnode);
+		int slave_flag = IS_PNODE_SLAVE(tmp_pnode);
+		struct vfspnode *master_pnode = tmp_pnode->pnode_master;
+
+		list_del_init(&tmp_pnode->pnode_peer_slave);
+		pnode_commit_mount(tmp_pnode, del_flag);
+
+		if (!del_flag && master_pnode) {
+			tmp_pnode->pnode_master = NULL;
+
+			if (slave_flag)
+				pnode_add_slave_pnode(master_pnode, tmp_pnode);
+			else
+				pnode_merge_pnode(tmp_pnode, master_pnode);
+
+			/*
+			 * we don't need the extra reference to
+			 * the master_pnode, which was created either
+			 * (a) pnode_add_slave_pnode: when the mnt
+			 * 	was made as a slave mnt.
+			 * (b) pnode_merge_pnode: during clone_mnt().
+			 */
+			put_pnode(master_pnode);
+		}
+	}
+	spin_unlock(&vfsmount_lock);
+}
+
+/*
+ * abort the operations done in attach_recursive_mnt(). run through the mount
+ * tree, till vfsmount 'last' and undo the changes.  Ensure that all the mounts
+ * in the tree are all back in the mnt_list headed at 'source_mnt'.
+ * NOTE: This function is closely tied to the logic in
+ * 'attach_recursive_mnt()'
+ */
+static void abort_attach_recursive_mnt(struct vfsmount *source_mnt, struct
+		vfsmount *last, struct list_head *head) { struct vfsmount *p =
+	source_mnt, *m; struct vfspnode *src_pnode;
+
+	if (!last)
+		return;
+
+	do {
+		int is_unclone, is_pnode_slave;
+
+		m = p;
+		is_unclone = IS_MNT_UNCLONE(m);
+
+		BUG_ON(!m->mnt_pnode);
+
+		is_pnode_slave = IS_PNODE_SLAVE(m->mnt_pnode);
+		src_pnode = m->mnt_pnode->pnode_master;
+		m->mnt_pnode->pnode_master = NULL;
+		pnode_abort_mount(m->mnt_pnode, m);
+
+		m->mnt_pnode = src_pnode;
+		if (src_pnode) {
+			if(is_pnode_slave)
+				set_mnt_slave(m);
+			else
+				set_mnt_shared(m);
+		} else {
+			if (is_unclone)
+				set_mnt_unclone(m);
+			else
+				set_mnt_private(m);
+		}
+
+
+		list_add_tail(&m->mnt_list, head);
+		p = next_mnt(m, source_mnt);
+
+	} while ( p && m != last );
+	source_mnt->mnt_parent = source_mnt;
+	list_del_init(head);
+}
+
+ /*
+ *  @source_mnt : mount tree to be attached
+ *  @nd		: place the mount tree @source_mnt is attached
+ *
+ *  NOTE: in the table below explains the semantics when a source vfsmount
+ *  of a given type is attached to a destination vfsmount of a give type.
+ *  ---------------------------------------------------------------------
+ *  |				BIND MOUNT OPERATION			|
+ *  |*******************************************************************|
+ *  |  dest --> | shared	|	private	 |  slave   |unclonable	|
+ *  | source	|		|       	 |   	    |    	|
+ *  |   |   	|		|       	 |   	    |    	|
+ *  |   v 	|		|       	 |   	    |    	|
+ *  |*******************************************************************|
+ *  |	     	|		|       	 |   	    |    	|
+ *  |  shared	| shared (++) 	|      shared (+)|shared (+)| shared (+)|
+ *  |		|		|       	 |   	    |    	|
+ *  |		|		|       	 |   	    |    	|
+ *  | private	| shared (+)	|      private	 | private  | private  	|
+ *  |		|		|       	 |   	    |    	|
+ *  |		|		|       	 |   	    |    	|
+ *  | slave	| shared (+)	|      private   | private  | private  	|
+ *  |		|		|       	 |   	    |    	|
+ *  |		|		|       	 |   	    |    	|
+ *  | unclonable|    nomount	|       nomount	 |  nomount | nomount 	|
+ *  |		|		|       	 |   	    |    	|
+ *  |		|		|       	 |   	    |    	|
+ *   ********************************************************************
+ *
+ * (++)  the mount will be propogated to all the vfsmounts in the pnode tree
+ *    	  of the destination vfsmount, and all the non-slave new mounts in
+ *    	  destination vfsmount will be added the source vfsmount's pnode.
+ * (+)  the mount will be propogated to the destination vfsmount
+ *    	  and the new mount will be added to the source vfsmount's pnode.
+ *
+ * if the source mount is a tree, the operations explained above is
+ * applied to each vfsmount in the tree.
+ *
+ * Should be called without spinlocks held, because this function can sleep
+ * in allocations.
+ *
+  */
+static int attach_recursive_mnt(struct vfsmount *source_mnt,
+		struct nameidata *nd)
+{
+	struct vfsmount *mntpt_mnt, *last, *m, *p;
+	struct vfspnode *src_pnode, *dest_pnode, *tmp_pnode;
+	struct dentry *mntpt_dentry;
+	int ret;
+	LIST_HEAD(pnodehead);
+	LIST_HEAD(mnt_list_head);
+
+	/*
+	 * if the source tree has no shared or slave mounts and
+	 * the destination mount is not shared, fastpath.
+	 */
+	mntpt_mnt = nd->mnt;
+	dest_pnode = IS_MNT_SHARED(mntpt_mnt) ? mntpt_mnt->mnt_pnode : NULL;
+	if (!dest_pnode && !tree_contains_sharedorslave(source_mnt)) {
+		spin_lock(&vfsmount_lock);
+		attach_mnt(source_mnt, nd);
+		list_add_tail(&mnt_list_head, &source_mnt->mnt_list);
+		list_splice(&mnt_list_head, mntpt_mnt->mnt_namespace->list.prev);
+		spin_unlock(&vfsmount_lock);
+		goto out;
+	}
+
+	/*
+	 * Create temporary pnodes which shall hold all the new
+	 * mounts. Merge or delete or slave that pnode later in a separate
+	 * operation, depending on the type of source and destination mounts.
+	 */
+	p = NULL;
+	last = NULL;
+	list_add_tail(&mnt_list_head, &source_mnt->mnt_list);
+
+	for (m = source_mnt; m; m = next_mnt(m, source_mnt)) {
+
+		BUG_ON(IS_MNT_UNCLONE(m));
+
+		while (p && p != m->mnt_parent)
+			p = p->mnt_parent;
+
+		if (!p) {
+			mntpt_dentry = nd->dentry;
+			mntpt_mnt = nd->mnt;
+		} else {
+			mntpt_dentry = m->mnt_mountpoint;
+			mntpt_mnt    = p;
+		}
+		p=m;
+
+		dest_pnode = IS_MNT_SHARED(mntpt_mnt) ?
+			mntpt_mnt->mnt_pnode : NULL;
+		src_pnode = (IS_MNT_SHARED(m))?
+				m->mnt_pnode : NULL;
+
+		/*
+		 * get a temporary pnode into which add the new vfs, and keep
+		 * track of these pnodes and their real pnode.
+		 */
+		if (!(tmp_pnode = pnode_alloc())) {
+			ret =  -ENOMEM;
+			goto error;
+		}
+
+		m->mnt_pnode = NULL;
+		list_del_init(&m->mnt_list);
+		list_add_tail(&tmp_pnode->pnode_peer_slave, &pnodehead);
+
+		if (dest_pnode) {
+			if ((ret = pnode_prepare_mount(dest_pnode, tmp_pnode,
+					mntpt_dentry, m, mntpt_mnt))) {
+				tmp_pnode->pnode_master = src_pnode;
+				m->mnt_pnode = tmp_pnode;
+				last = m;
+				goto error;
+			}
+		} else {
+			if (m == m->mnt_parent)
+				do_attach_prepare_mnt(mntpt_mnt,
+					mntpt_dentry, m, 0);
+			pnode_add_member_mnt(tmp_pnode, m);
+			if (!src_pnode) {
+				set_mnt_private(m);
+				/*
+				 * NOTE: set_mnt_private()
+				 * resets m->mnt_pnode.
+				 * Reinitialize it. This is needed to
+				 * decrement the refcount on the
+				 * pnode when the mount 'm' is
+				 * unlinked in pnode_commit_mount().
+				 */
+				m->mnt_pnode = tmp_pnode;
+				SET_PNODE_DELETE(tmp_pnode);
+			}
+		}
+
+		/*
+		 * temporarily track the pnode with which the tmp_pnode
+		 * has to merge with; in the pnode_master field.
+		 */
+		tmp_pnode->pnode_master = src_pnode;
+		last = m;
+	}
+	commit_attach_recursive_mnt(&pnodehead);
+out:
+	mntget(source_mnt);
+	return 0;
+error:
+	/*
+	 * ok we have errored out either because of memory exhaustion
+	 * or something else not in our control. Gracefully return
+	 * leaving no mess behind. Else it will haunt you. :(
+	 */
+	abort_attach_recursive_mnt(source_mnt, last, &mnt_list_head);
+	return 1;
+}
+
 static int graft_tree(struct vfsmount *mnt, struct nameidata *nd)
 {
-	int err;
+	int err, ret;
+
 	if (mnt->mnt_sb->s_flags & MS_NOUSER)
 		return -EINVAL;
 
@@ -599,17 +952,12 @@ static int graft_tree(struct vfsmount *m
 		goto out_unlock;
 
 	err = -ENOENT;
-	spin_lock(&vfsmount_lock);
-	if (IS_ROOT(nd->dentry) || !d_unhashed(nd->dentry)) {
-		struct list_head head;
 
-		attach_mnt(mnt, nd);
-		list_add_tail(&head, &mnt->mnt_list);
-		list_splice(&head, current->namespace->list.prev);
-		mntget(mnt);
-		err = 0;
-	}
+	spin_lock(&vfsmount_lock);
+	ret = (IS_ROOT(nd->dentry) || !d_unhashed(nd->dentry));
 	spin_unlock(&vfsmount_lock);
+	if (ret)
+		err = attach_recursive_mnt(mnt, nd);
 out_unlock:
 	up(&nd->dentry->d_inode->i_sem);
 	if (!err)
@@ -681,6 +1029,147 @@ static int do_make_unclone(struct vfsmou
 	return 0;
 }
 
+ /*
+ * This operation is equivalent of mount --bind dir dir
+ * create a new mount at the dentry, and unmount all child mounts
+ * mounted on top of dentries below 'dentry', and mount them
+ * under the new mount.
+  */
+struct vfsmount *do_make_mounted(struct vfsmount *mnt, struct dentry *dentry)
+{
+	struct vfsmount *child_mnt, *next;
+	struct nameidata nd;
+	struct vfsmount *newmnt = clone_mnt(mnt, dentry);
+	LIST_HEAD(head);
+
+	/*
+	 * note clone_mnt() gets a reference to the pnode.
+	 * we won't use that pnode anyway. So just let it
+	 * go
+	 */
+	put_pnode(newmnt->mnt_pnode);
+	newmnt->mnt_pnode = NULL;
+
+	if (newmnt) {
+		/*
+		 * walk through the mount list of mnt and move
+		 * them under the new mount
+		 */
+		spin_lock(&vfsmount_lock);
+		list_del_init(&newmnt->mnt_fslink);
+
+		list_for_each_entry_safe(child_mnt, next,
+				&mnt->mnt_mounts, mnt_child) {
+
+			if(child_mnt->mnt_mountpoint == dentry)
+				continue;
+
+			if(!is_subdir(child_mnt->mnt_mountpoint, dentry))
+				continue;
+
+			detach_mnt(child_mnt, &nd);
+			nd.mnt = newmnt;
+			attach_mnt(child_mnt, &nd);
+		}
+
+		nd.mnt = mnt;
+		nd.dentry = dentry;
+		attach_mnt(newmnt, &nd);
+		list_add_tail(&newmnt->mnt_list, &newmnt->mnt_namespace->list);
+ 		spin_unlock(&vfsmount_lock);
+ 	}
+	return newmnt;
+}
+
+ /*
+ * Inverse operation of do_make_mounted()
+  */
+int do_make_unmounted(struct vfsmount *mnt)
+{
+	struct vfsmount *parent_mnt, *child_mnt, *next;
+	struct nameidata nd;
+
+	/* validate if mount has a different parent */
+	parent_mnt = mnt->mnt_parent;
+	if (mnt == parent_mnt)
+		return 0;
+	/*
+	 * cannot unmount a mount that is not created
+	 * as a overlay mount.
+	 */
+	if (mnt->mnt_mountpoint != mnt->mnt_root)
+		return -EINVAL;
+
+	/* for each submounts in the parent, put the mounts back */
+	spin_lock(&vfsmount_lock);
+	list_for_each_entry_safe(child_mnt, next, &mnt->mnt_mounts, mnt_child) {
+		detach_mnt(child_mnt, &nd);
+		nd.mnt = parent_mnt;
+		attach_mnt(child_mnt, &nd);
+ 	}
+	detach_mnt(mnt, &nd);
+ 	spin_unlock(&vfsmount_lock);
+	return 0;
+}
+
+/*
+ * @nd: contains the vfsmount and the dentry where the new mount
+ * 	is the be created
+ * @mnt: returns the newly created mount.
+ * Create a new mount at the location specified by 'nd' and
+ * propogate the mount to all other mounts if the mountpoint
+ * is under a shared mount.
+ */
+int make_mounted(struct nameidata *nd, struct vfsmount **mnt)
+{
+	struct vfsmount *parent_mnt;
+	struct dentry *parent_dentry;
+	int err = mount_is_safe(nd);
+	if (err)
+		return err;
+	parent_dentry = nd->dentry;
+	parent_mnt = nd->mnt;
+ 	/*
+	 * check if dentry already has a vfsmount
+	 * if it does not, create and attach
+	 * a new vfsmount at that dentry.
+	 * Also propogate the mount if parent_mnt
+	 * is shared.
+ 	 */
+	if(parent_dentry != parent_mnt->mnt_root) {
+		*mnt = IS_MNT_SHARED(parent_mnt) ?
+			 pnode_make_mounted(parent_mnt->mnt_pnode,
+					 parent_mnt, parent_dentry) :
+			 do_make_mounted(parent_mnt, parent_dentry);
+		if (!*mnt)
+			err = -ENOMEM;
+ 	} else
+		*mnt = parent_mnt;
+	return err;
+}
+
+ /*
+ * Inverse operation of make_mounted()
+  */
+int make_unmounted(struct vfsmount *mnt)
+{
+	if (mnt == mnt->mnt_parent)
+		return 0;
+	/*
+	 * cannot unmount a mount that is not created
+	 * as a overlay mount.
+	 */
+	if (mnt->mnt_mountpoint != mnt->mnt_root)
+		return -EINVAL;
+
+	if (IS_MNT_SHARED(mnt))
+		pnode_make_unmounted(mnt->mnt_pnode);
+ 	else
+		do_make_unmounted(mnt);
+
+	return 0;
+}
+
 /*
  * recursively change the type of the mountpoint.
  */
@@ -724,7 +1213,7 @@ static int do_change_type(struct nameida
 static int do_loopback(struct nameidata *nd, char *old_name, int recurse)
 {
 	struct nameidata old_nd;
-	struct vfsmount *mnt = NULL;
+	struct vfsmount *mnt = NULL, *overlay_mnt=NULL;
 	int err = mount_is_safe(nd);
 	if (err)
 		return err;
@@ -734,14 +1223,31 @@ static int do_loopback(struct nameidata 
 	if (err)
 		return err;
 
-	down_write(&current->namespace->sem);
+	if (IS_MNT_UNCLONE(old_nd.mnt)) {
+		err = -EINVAL;
+		goto path_release;
+	}
+
+	down_write(&namespace_sem);
 	err = -EINVAL;
 	if (check_mnt(nd->mnt) && (!recurse || check_mnt(old_nd.mnt))) {
+
+		/*
+		 * If the dentry is not the root dentry, and if a bind
+		 * from a shared subtree is attempted, create a mount
+		 * at the dentry, and use the new mount as the starting
+		 * point for the bind/rbind operation.
+		 */
+		overlay_mnt = old_nd.mnt;
+		if(IS_MNT_SHARED(old_nd.mnt) &&
+			(err = make_mounted(&old_nd, &overlay_mnt)))
+			goto out;
+
 		err = -ENOMEM;
 		if (recurse)
-			mnt = copy_tree(old_nd.mnt, old_nd.dentry);
+			mnt = copy_tree(overlay_mnt, old_nd.dentry);
 		else
-			mnt = clone_mnt(old_nd.mnt, old_nd.dentry);
+			mnt = clone_mnt(overlay_mnt, old_nd.dentry);
 	}
 
 	if (mnt) {
@@ -752,15 +1258,25 @@ static int do_loopback(struct nameidata 
 
 		err = graft_tree(mnt, nd);
 		if (err) {
-			spin_lock(&vfsmount_lock);
-			umount_tree(mnt);
-			spin_unlock(&vfsmount_lock);
-		} else
-			mntput(mnt);
-	}
+ 			spin_lock(&vfsmount_lock);
+ 			umount_tree(mnt);
+ 			spin_unlock(&vfsmount_lock);
+			/*
+			 * ok we failed! so undo any overlay
+			 * mount that we did earlier.
+			 */
+			if (old_nd.mnt !=  overlay_mnt)
+				make_unmounted(overlay_mnt);
+ 		} else
+ 			mntput(mnt);
+ 	}
+
+ out:
+	up_write(&namespace_sem);
+
+ path_release:
+ 	path_release(&old_nd);
 
-	up_write(&current->namespace->sem);
-	path_release(&old_nd);
 	return err;
 }
 
@@ -808,7 +1324,7 @@ static int do_move_mount(struct nameidat
 	if (err)
 		return err;
 
-	down_write(&current->namespace->sem);
+	down_write(&namespace_sem);
 	while(d_mountpoint(nd->dentry) && follow_down(&nd->mnt, &nd->dentry))
 		;
 	err = -EINVAL;
@@ -852,7 +1368,7 @@ out2:
 out1:
 	up(&nd->dentry->d_inode->i_sem);
 out:
-	up_write(&current->namespace->sem);
+	up_write(&namespace_sem);
 	if (!err)
 		path_release(&parent_nd);
 	path_release(&old_nd);
@@ -891,7 +1407,7 @@ int do_add_mount(struct vfsmount *newmnt
 {
 	int err;
 
-	down_write(&current->namespace->sem);
+	down_write(&namespace_sem);
 	/* Something was mounted here while we slept */
 	while(d_mountpoint(nd->dentry) && follow_down(&nd->mnt, &nd->dentry))
 		;
@@ -920,7 +1436,7 @@ int do_add_mount(struct vfsmount *newmnt
 	}
 
 unlock:
-	up_write(&current->namespace->sem);
+	up_write(&namespace_sem);
 	mntput(newmnt);
 	return err;
 }
@@ -976,7 +1492,7 @@ void mark_mounts_for_expiry(struct list_
 		get_namespace(namespace);
 
 		spin_unlock(&vfsmount_lock);
-		down_write(&namespace->sem);
+		down_write(&namespace_sem);
 		spin_lock(&vfsmount_lock);
 
 		/* check that it is still dead: the count should now be 2 - as
@@ -1020,7 +1536,7 @@ void mark_mounts_for_expiry(struct list_
 			spin_unlock(&vfsmount_lock);
 		}
 
-		up_write(&namespace->sem);
+		up_write(&namespace_sem);
 
 		mntput(mnt);
 		put_namespace(namespace);
@@ -1066,7 +1582,7 @@ int copy_mount_options(const void __user
 	int i;
 	unsigned long page;
 	unsigned long size;
-	
+
 	*where = 0;
 	if (!data)
 		return 0;
@@ -1085,7 +1601,7 @@ int copy_mount_options(const void __user
 
 	i = size - exact_copy_from_user((void *)page, data, size);
 	if (!i) {
-		free_page(page); 
+		free_page(page);
 		return -EFAULT;
 	}
 	if (i != PAGE_SIZE)
@@ -1191,14 +1707,13 @@ int copy_namespace(int flags, struct tas
 		goto out;
 
 	atomic_set(&new_ns->count, 1);
-	init_rwsem(&new_ns->sem);
 	INIT_LIST_HEAD(&new_ns->list);
 
-	down_write(&tsk->namespace->sem);
+	down_write(&namespace_sem);
 	/* First pass: copy the tree topology */
 	new_ns->root = copy_tree(namespace->root, namespace->root->mnt_root);
 	if (!new_ns->root) {
-		up_write(&tsk->namespace->sem);
+		up_write(&namespace_sem);
 		kfree(new_ns);
 		goto out;
 	}
@@ -1232,7 +1747,7 @@ int copy_namespace(int flags, struct tas
 		p = next_mnt(p, namespace->root);
 		q = next_mnt(q, new_ns->root);
 	}
-	up_write(&tsk->namespace->sem);
+	up_write(&namespace_sem);
 
 	tsk->namespace = new_ns;
 
@@ -1414,7 +1929,7 @@ asmlinkage long sys_pivot_root(const cha
 	user_nd.mnt = mntget(current->fs->rootmnt);
 	user_nd.dentry = dget(current->fs->root);
 	read_unlock(&current->fs->lock);
-	down_write(&current->namespace->sem);
+	down_write(&namespace_sem);
 	down(&old_nd.dentry->d_inode->i_sem);
 	error = -EINVAL;
 	if (!check_mnt(user_nd.mnt))
@@ -1460,7 +1975,7 @@ asmlinkage long sys_pivot_root(const cha
 	path_release(&parent_nd);
 out2:
 	up(&old_nd.dentry->d_inode->i_sem);
-	up_write(&current->namespace->sem);
+	up_write(&namespace_sem);
 	path_release(&user_nd);
 	path_release(&old_nd);
 out1:
@@ -1487,7 +2002,6 @@ static void __init init_mount_tree(void)
 		panic("Can't allocate initial namespace");
 	atomic_set(&namespace->count, 1);
 	INIT_LIST_HEAD(&namespace->list);
-	init_rwsem(&namespace->sem);
 	list_add(&mnt->mnt_list, &namespace->list);
 	namespace->root = mnt;
 	mnt->mnt_namespace = namespace;
@@ -1510,6 +2024,8 @@ void __init mnt_init(unsigned long mempa
 	unsigned int nr_hash;
 	int i;
 
+	init_rwsem(&namespace_sem);
+
 	mnt_cache = kmem_cache_create("mnt_cache", sizeof(struct vfsmount),
 			0, SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL, NULL);
 
@@ -1557,7 +2073,7 @@ void __put_namespace(struct namespace *n
 {
 	struct vfsmount *mnt;
 
-	down_write(&namespace->sem);
+	down_write(&namespace_sem);
 	spin_lock(&vfsmount_lock);
 
 	list_for_each_entry(mnt, &namespace->list, mnt_list) {
@@ -1566,6 +2082,6 @@ void __put_namespace(struct namespace *n
 
 	umount_tree(namespace->root);
 	spin_unlock(&vfsmount_lock);
-	up_write(&namespace->sem);
+	up_write(&namespace_sem);
 	kfree(namespace);
 }
Index: 2.6.12.work2/fs/pnode.c
===================================================================
--- 2.6.12.work2.orig/fs/pnode.c
+++ 2.6.12.work2/fs/pnode.c
@@ -26,7 +26,6 @@
 #include <asm/unistd.h>
 #include <stdarg.h>
 
-
 static kmem_cache_t * pnode_cachep;
 
 /* spinlock for pnode related operations */
@@ -90,10 +89,12 @@ static void inline pnode_add_mnt(struct 
 	mnt->mnt_pnode = pnode;
 	if (slave) {
 		set_mnt_slave(mnt);
-		list_add(&mnt->mnt_pnode_mntlist, &pnode->pnode_slavevfs);
+		list_add(&mnt->mnt_pnode_mntlist,
+				&pnode->pnode_slavevfs);
 	} else {
 		set_mnt_shared(mnt);
-		list_add(&mnt->mnt_pnode_mntlist, &pnode->pnode_vfs);
+		list_add(&mnt->mnt_pnode_mntlist,
+				&pnode->pnode_vfs);
 	}
 	get_pnode(pnode);
 	spin_unlock(&vfspnode_lock);
@@ -111,7 +112,6 @@ void pnode_add_slave_mnt(struct vfspnode
 	pnode_add_mnt(pnode, mnt, 1);
 }
 
-
 void pnode_add_slave_pnode(struct vfspnode *pnode,
 		struct vfspnode *slave_pnode)
 {
@@ -439,3 +439,230 @@ error:
 	pnode_end(&context);
 	goto out;
 }
+
+int pnode_mount_func(struct vfspnode *pnode, void *indata,
+		void **outdata, va_list args)
+{
+	struct vfspnode *pnode_slave, *pnode_master;
+	int ret=0;
+
+	pnode_master = indata;
+
+	if (*outdata)
+		pnode_slave = *outdata;
+	else if (!(pnode_slave = pnode_alloc()))
+		return -ENOMEM;
+
+	*outdata = pnode_slave;
+
+	if (pnode_slave && pnode_master)
+		pnode_add_slave_pnode(pnode_master, pnode_slave);
+	return ret;
+}
+
+int vfs_make_mounted_func(struct vfsmount *mnt, enum pnode_vfs_type flag,
+		void *indata, va_list args)
+{
+	struct dentry *target_dentry;
+	int ret=0;
+	struct vfsmount *child_mount;
+	struct vfspnode *pnode;
+
+	target_dentry = va_arg(args, struct dentry *);
+	if (!(child_mount = do_make_mounted(mnt, target_dentry))) {
+		ret = -ENOMEM;
+		goto out;
+	}
+	pnode = (struct vfspnode *)indata;
+	switch (flag) {
+	case PNODE_SLAVE_VFS :
+		pnode_add_slave_mnt(pnode, child_mount);
+		break;
+	case PNODE_MEMBER_VFS :
+		pnode_add_member_mnt(pnode, child_mount);
+		break;
+	}
+
+out:
+	return ret;
+}
+
+/*
+ * @pnode: pnode that contains the vfsmounts, on which the
+ *  		new mount is created at dentry 'dentry'
+ * @dentry: the dentry on which the new mount is created
+ * @mnt:   return the mount created on this vfsmount
+ * walk through all the vfsmounts belonging to this pnode
+ * as well as its slave pnodes and for each vfsmount create
+ * a new vfsmount at 'dentry'.  Return the vfsmount created
+ * at 'dentry' of vfsmount 'mnt'.
+ */
+struct vfsmount *pnode_make_mounted(struct vfspnode *pnode,
+		struct vfsmount *mnt, struct dentry *dentry)
+{
+	struct vfsmount *child_mnt;
+	struct vfspnode *child_pnode;
+
+	if (!(child_pnode = pnode_alloc()))
+		return NULL;
+
+	if (pnode_traverse(pnode, child_pnode, (void *)NULL,
+			pnode_mount_func, NULL, vfs_make_mounted_func,
+			(void *)dentry))
+  		goto error;
+	child_mnt = __lookup_mnt(mnt, dentry, dentry);
+	mntput(child_mnt);
+	return child_mnt;
+
+error:
+	pnode_make_unmounted(child_pnode);
+	return NULL;
+}
+
+int vfs_make_unmounted_func(struct vfsmount *mnt, enum pnode_vfs_type flag,
+		void *indata, va_list args)
+{
+	struct vfspnode *pnode;
+	int ret=0;
+
+	if (do_make_unmounted(mnt)) {
+		ret = 1;
+		goto out;
+	}
+
+	pnode = mnt->mnt_pnode;
+	spin_lock(&vfspnode_lock);
+	list_del_init(&mnt->mnt_pnode_mntlist);
+	put_pnode_locked(pnode);
+	spin_unlock(&vfspnode_lock);
+out:
+	return ret;
+}
+
+int pnode_make_unmounted(struct vfspnode *pnode)
+{
+	return pnode_traverse(pnode, NULL, (void *)NULL,
+			NULL, NULL, vfs_make_unmounted_func);
+}
+
+int vfs_prepare_mount_func(struct vfsmount *mnt, enum pnode_vfs_type flag,
+		void *indata, va_list args)
+{
+	struct vfsmount *source_mnt, *child_mnt, *p_mnt;
+	struct dentry *mountpoint_dentry;
+	struct vfspnode *pnode = (struct vfspnode *)indata;
+
+	source_mnt = va_arg(args, struct vfsmount * );
+	mountpoint_dentry =  va_arg(args, struct dentry *);
+	p_mnt =  va_arg(args, struct vfsmount *);
+
+	if ((p_mnt != mnt) || (source_mnt == source_mnt->mnt_parent)) {
+		child_mnt = do_attach_prepare_mnt(mnt, mountpoint_dentry,
+				source_mnt, (p_mnt != mnt));
+		if (!child_mnt)
+			return -ENOMEM;
+
+		if (child_mnt != source_mnt)
+			put_pnode(source_mnt->mnt_pnode);
+	} else
+		child_mnt = source_mnt;
+
+	switch (flag) {
+	case PNODE_SLAVE_VFS :
+		pnode_add_slave_mnt(pnode, child_mnt);
+		break;
+	case PNODE_MEMBER_VFS :
+		pnode_add_member_mnt(pnode, child_mnt);
+		break;
+	}
+
+	return 0;
+}
+
+int pnode_prepare_mount(struct vfspnode *pnode,
+		struct vfspnode *master_child_pnode,
+		struct dentry *mountpoint_dentry,
+		struct vfsmount *source_mnt,
+		struct vfsmount *mnt)
+{
+	return  pnode_traverse(pnode,
+			master_child_pnode,
+			(void *)NULL,
+			pnode_mount_func,
+			NULL,
+			vfs_prepare_mount_func,
+			source_mnt,
+			mountpoint_dentry,
+			mnt);
+}
+
+int pnode_commit_mount_post_func(struct vfspnode *pnode, void *indata,
+		va_list args)
+{
+	if (va_arg(args, int)) {
+		spin_lock(&vfspnode_lock);
+		BUG_ON(!list_empty(&pnode->pnode_vfs));
+		BUG_ON(!list_empty(&pnode->pnode_slavevfs));
+		BUG_ON(!list_empty(&pnode->pnode_slavepnode));
+		list_del_init(&pnode->pnode_peer_slave);
+		put_pnode_locked(pnode);
+		spin_unlock(&vfspnode_lock);
+	}
+	return 0;
+}
+
+int vfs_commit_mount_func(struct vfsmount *mnt, enum pnode_vfs_type flag,
+		void *indata, va_list args)
+{
+	BUG_ON(mnt == mnt->mnt_parent);
+	do_attach_commit_mnt(mnt);
+	if (va_arg(args, int)) {
+		spin_lock(&vfspnode_lock);
+		list_del_init(&mnt->mnt_pnode_mntlist);
+		put_pnode_locked(mnt->mnt_pnode);
+		spin_unlock(&vfspnode_lock);
+		mnt->mnt_pnode = NULL;
+	}
+	return 0;
+}
+
+/*
+ * @pnode: walk the propogation tree and complete the
+ * 	attachments of the child mounts to the parents
+ * 	correspondingly.
+ * @flag: if set destroy the propogation tree
+ */
+int pnode_commit_mount(struct vfspnode *pnode, int flag)
+{
+	return  pnode_traverse(pnode,
+			NULL, (void *)NULL, NULL, pnode_commit_mount_post_func,
+			vfs_commit_mount_func, flag);
+}
+
+int vfs_abort_mount_func(struct vfsmount *mnt,
+		enum pnode_vfs_type flag, void *indata, va_list args)
+
+{
+	struct vfsmount *exception_mnt = va_arg(args, struct vfsmount *);
+	BUG_ON(!mnt->mnt_pnode);
+	pnode_disassociate_mnt(mnt);
+	do_detach_prepare_mnt(mnt, (exception_mnt != mnt));
+	return 0;
+}
+
+/*
+ * clean the propogation tree under pnode, releasing all
+ * the mounts, except exception_mnt
+ * @pnode: the pnode tree to be cleanup unlinking and
+ * 	releasing all pnodes in the tree as well as
+ * 	unlinking any mounts, except 'exception_mnt'
+ * @exception_mnt: the mnt to be unlinked from pnode
+ * 		bug not released.
+ */
+int pnode_abort_mount(struct vfspnode *pnode,
+		struct vfsmount *exception_mnt)
+{
+	return  pnode_traverse(pnode,
+			NULL, (void *)NULL, NULL, NULL,
+			vfs_abort_mount_func, exception_mnt);
+}
Index: 2.6.12.work2/include/linux/fs.h
===================================================================
--- 2.6.12.work2.orig/include/linux/fs.h
+++ 2.6.12.work2/include/linux/fs.h
@@ -1216,7 +1216,12 @@ extern struct vfsmount *kern_mount(struc
 extern int may_umount_tree(struct vfsmount *);
 extern int may_umount(struct vfsmount *);
 extern long do_mount(char *, char *, char *, unsigned long, void *);
+extern struct vfsmount *do_attach_prepare_mnt(struct vfsmount *,
+		struct dentry *, struct vfsmount *, int);
+extern void do_attach_commit_mnt(struct vfsmount *);
 extern struct vfsmount *do_make_mounted(struct vfsmount *, struct dentry *);
+extern int do_make_unmounted(struct vfsmount *);
+extern void do_detach_prepare_mnt(struct vfsmount *, int);
 
 extern int vfs_statfs(struct super_block *, struct kstatfs *);
 
Index: 2.6.12.work2/include/linux/namespace.h
===================================================================
--- 2.6.12.work2.orig/include/linux/namespace.h
+++ 2.6.12.work2/include/linux/namespace.h
@@ -9,7 +9,6 @@ struct namespace {
 	atomic_t		count;
 	struct vfsmount *	root;
 	struct list_head	list;
-	struct rw_semaphore	sem;
 };
 
 extern void umount_tree(struct vfsmount *);
Index: 2.6.12.work2/include/linux/dcache.h
===================================================================
--- 2.6.12.work2.orig/include/linux/dcache.h
+++ 2.6.12.work2/include/linux/dcache.h
@@ -329,6 +329,8 @@ static inline int d_mountpoint(struct de
 }
 
 extern struct vfsmount *lookup_mnt(struct vfsmount *, struct dentry *);
+extern struct vfsmount *__lookup_mnt(struct vfsmount *,
+		struct dentry *, struct dentry *);
 extern struct dentry *lookup_create(struct nameidata *nd, int is_dir);
 
 extern int sysctl_vfs_cache_pressure;

  parent reply	other threads:[~2005-07-25 22:59 UTC|newest]

Thread overview: 3392+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-25 22:44 Ram Pai
2005-07-25 22:44 ` (unknown) Ram Pai
2005-07-25 22:44 ` Ram Pai
2005-07-27 19:54   ` [PATCH 1/7] shared subtree Miklos Szeredi
2005-07-27 21:39     ` Ram Pai
2005-07-28  7:35       ` mount behavior question Ram Pai
2005-07-28 11:56         ` Miklos Szeredi
2005-07-28 15:02           ` Ram Pai
2005-07-28 15:58             ` Miklos Szeredi
2005-07-28 18:22               ` Ram Pai
2005-07-28 19:30                 ` Miklos Szeredi
2005-07-28 20:09                   ` Ram Pai
2005-07-28 20:44                     ` Miklos Szeredi
2005-07-28 20:59                       ` Ram Pai
2005-07-28 18:27         ` Bryan Henderson
2005-07-28 19:01           ` Miklos Szeredi
2005-07-28 20:35             ` Bryan Henderson
2005-07-28 20:42               ` Ram Pai
2005-07-28 22:27                 ` Bryan Henderson
2005-07-28 22:59                   ` Ram Pai
2005-07-28 20:53               ` Miklos Szeredi
2005-07-28 22:51                 ` Bryan Henderson
2005-07-28  9:57       ` [PATCH 1/7] shared subtree Miklos Szeredi
2005-07-29 19:54         ` Ram Pai
2005-07-30  5:39           ` Miklos Szeredi
2005-07-31  0:45             ` Ram Pai
2005-07-31  7:52               ` Miklos Szeredi
2005-07-31  8:25                 ` Miklos Szeredi
2005-07-25 22:44 ` (unknown) Ram Pai
2005-07-25 22:44 ` Ram Pai
2005-07-25 22:44   ` (unknown) Ram Pai
2005-07-25 22:44 ` Ram Pai [this message]
2005-07-25 22:44 ` Ram Pai
2005-07-27 19:13   ` [PATCH 3/7] shared subtree Miklos Szeredi
2005-07-27 20:30     ` Ram Pai
2005-07-28  8:34       ` Miklos Szeredi
2005-07-25 22:44 ` Ram Pai
2005-07-25 22:44   ` (unknown) Ram Pai
2005-07-25 22:44 ` Ram Pai
2005-07-25 22:44   ` (unknown) Ram Pai
2005-07-25 22:44 ` Ram Pai
2005-07-25 22:44 ` (unknown) Ram Pai
2005-07-25 22:44 ` Ram Pai
2005-07-25 22:44   ` (unknown) Ram Pai
2005-07-26  2:53 ` supposed to be shared subtree patches Ram Pai
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='20050725225908.031752000__9294.78676193885$1122332644$gmane$org@localhost' \
    --to=linuxram@us.ibm.com \
    --cc=akpm@osdl.org \
    --cc=mathurav@us.ibm.com \
    --cc=mike@waychison.com \
    --cc=viro@parcelfarce.linux.theplanet.co.uk \
    /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.