All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nathan Scott <nathans@sgi.com>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: Andi Kleen <ak@suse.de>,
	linux-kernel@vger.kernel.org,
	Andreas Gruenbacher <ag@bestbits.at>
Subject: Re: A modest proposal -- We need a patch penguin
Date: Wed, 30 Jan 2002 10:40:04 +1100	[thread overview]
Message-ID: <20020130104004.C81308@wobbly.melbourne.sgi.com> (raw)
In-Reply-To: <p73d6zshidj.fsf@oldwotan.suse.de> <Pine.LNX.4.33.0201291502460.1747-100000@penguin.transmeta.com>
In-Reply-To: <Pine.LNX.4.33.0201291502460.1747-100000@penguin.transmeta.com>; from torvalds@transmeta.com on Tue, Jan 29, 2002 at 03:13:14PM -0800

hi Linus,

On Tue, Jan 29, 2002 at 03:13:14PM -0800, Linus Torvalds wrote:
> 
> On 30 Jan 2002, Andi Kleen wrote:
> > Does that answer your questions?
> > Would you look at a patch again?
> 
> That answers the specific questions about Al and Stephen.

Al had several (additional) issues with the original patch, but I
think we progressively worked through them - Al stopped suggesting
changes at one point anyway, and the level of abuse died away ;),
so I guess he became more satisfied with them.

> It does NOT address whether consensus has been reached in general, and
> whether people are happy. Is that the case?

I believe so - I know that the ext2/ext3 EA/ACL maintainer 
(AndreasG, CCd) is satisfied with the current patches, from
an XFS point of view they satisfy all our needs, and Anton
has chimed in saying this interface will work well for NTFS
EA support (Anton sent me patches and several suggestions as
well, which were included in the patch at the time).

> Also, obviously nobody actually took over maintainership of the patch,
> because equally obviously nobody has been pinging me about it. For some
> reason you seem to want _me_ to go out of my way to search for patches
> that are over a month old that I don't know whether they are valid or not,
> used or not, or even agreed upon or not.
> 
> But yes, it's so much easier to blame me.
> 

Not much point apportioning blame - its as much my fault - I
hadn't heard back from you at all since day 1, so figured you
were just not interested in this stuff, so I stopped sending.

The two patches which seemed to satisfy the most people are
below - they are unchanged from 2.5.0 but should apply to any
2.5.x tree (they are fairly non-intrusive and the system call
table hasn't changed since last time).  A complete userspace
implementation for both EAs and POSIX ACLs exists above these
interfaces.

cheers.

-- 
Nathan


[Patch #1: reserve syscall numbers]

diff -Naur 2.5.0-pristine/arch/i386/kernel/entry.S 2.5.0-reserved/arch/i386/kernel/entry.S
--- 2.5.0-pristine/arch/i386/kernel/entry.S	Sat Nov  3 12:18:49 2001
+++ 2.5.0-reserved/arch/i386/kernel/entry.S	Tue Dec  4 11:57:32 2001
@@ -622,6 +622,18 @@
 	.long SYMBOL_NAME(sys_ni_syscall)	/* Reserved for Security */
 	.long SYMBOL_NAME(sys_gettid)
 	.long SYMBOL_NAME(sys_readahead)	/* 225 */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* reserved for setxattr */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* reserved for lsetxattr */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* reserved for fsetxattr */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* reserved for getxattr */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* 230 reserved for lgetxattr */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* reserved for fgetxattr */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* reserved for listxattr */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* reserved for llistxattr */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* reserved for flistxattr */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* 235 reserved for removexattr */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* reserved for lremovexattr */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* reserved for fremovexattr */
 
 	.rept NR_syscalls-(.-sys_call_table)/4
 		.long SYMBOL_NAME(sys_ni_syscall)
diff -Naur 2.5.0-pristine/include/asm-i386/unistd.h 2.5.0-reserved/include/asm-i386/unistd.h
--- 2.5.0-pristine/include/asm-i386/unistd.h	Thu Oct 18 03:03:03 2001
+++ 2.5.0-reserved/include/asm-i386/unistd.h	Tue Dec  4 11:58:21 2001
@@ -230,6 +230,18 @@
 #define __NR_security		223	/* syscall for security modules */
 #define __NR_gettid		224
 #define __NR_readahead		225
+#define __NR_setxattr		226
+#define __NR_lsetxattr		227
+#define __NR_fsetxattr		228
+#define __NR_getxattr		229
+#define __NR_lgetxattr		230
+#define __NR_fgetxattr		231
+#define __NR_listxattr		232
+#define __NR_llistxattr		233
+#define __NR_flistxattr		234
+#define __NR_removexattr	235
+#define __NR_lremovexattr	236
+#define __NR_fremovexattr	237
 
 /* user-visible error numbers are in the range -1 - -124: see <asm-i386/errno.h> */
 


[Patch #2: VFS implementation]

diff -Naur 2.5.0-pristine/arch/i386/kernel/entry.S 2.5.0-xattr/arch/i386/kernel/entry.S
--- 2.5.0-pristine/arch/i386/kernel/entry.S	Sat Nov  3 12:18:49 2001
+++ 2.5.0-xattr/arch/i386/kernel/entry.S	Thu Dec  6 12:59:47 2001
@@ -622,6 +622,18 @@
 	.long SYMBOL_NAME(sys_ni_syscall)	/* Reserved for Security */
 	.long SYMBOL_NAME(sys_gettid)
 	.long SYMBOL_NAME(sys_readahead)	/* 225 */
+	.long SYMBOL_NAME(sys_setxattr)
+	.long SYMBOL_NAME(sys_lsetxattr)
+	.long SYMBOL_NAME(sys_fsetxattr)
+	.long SYMBOL_NAME(sys_getxattr)
+	.long SYMBOL_NAME(sys_lgetxattr)	/* 230 */
+	.long SYMBOL_NAME(sys_fgetxattr)
+	.long SYMBOL_NAME(sys_listxattr)
+	.long SYMBOL_NAME(sys_llistxattr)
+	.long SYMBOL_NAME(sys_flistxattr)
+	.long SYMBOL_NAME(sys_removexattr)	/* 235 */
+	.long SYMBOL_NAME(sys_lremovexattr)
+	.long SYMBOL_NAME(sys_fremovexattr)
 
 	.rept NR_syscalls-(.-sys_call_table)/4
 		.long SYMBOL_NAME(sys_ni_syscall)
diff -Naur 2.5.0-pristine/fs/Makefile 2.5.0-xattr/fs/Makefile
--- 2.5.0-pristine/fs/Makefile	Tue Nov 13 04:34:16 2001
+++ 2.5.0-xattr/fs/Makefile	Thu Dec  6 12:59:47 2001
@@ -14,7 +14,7 @@
 		super.o block_dev.o char_dev.o stat.o exec.o pipe.o namei.o \
 		fcntl.o ioctl.o readdir.o select.o fifo.o locks.o \
 		dcache.o inode.o attr.o bad_inode.o file.o iobuf.o dnotify.o \
-		filesystems.o namespace.o seq_file.o
+		filesystems.o namespace.o seq_file.o xattr.o
 
 ifeq ($(CONFIG_QUOTA),y)
 obj-y += dquot.o
diff -Naur 2.5.0-pristine/fs/xattr.c 2.5.0-xattr/fs/xattr.c
--- 2.5.0-pristine/fs/xattr.c	Thu Jan  1 10:00:00 1970
+++ 2.5.0-xattr/fs/xattr.c	Thu Dec  6 12:59:58 2001
@@ -0,0 +1,341 @@
+/*
+  File: fs/xattr.c
+
+  Extended attribute handling.
+
+  Copyright (C) 2001 by Andreas Gruenbacher <a.gruenbacher@computer.org>
+  Copyright (C) 2001 SGI - Silicon Graphics, Inc <linux-xfs@oss.sgi.com>
+ */
+#include <linux/fs.h>
+#include <linux/slab.h>
+#include <linux/vmalloc.h>
+#include <linux/smp_lock.h>
+#include <linux/file.h>
+#include <linux/xattr.h>
+#include <asm/uaccess.h>
+
+/*
+ * Extended attribute memory allocation wrappers, originally
+ * based on the Intermezzo PRESTO_ALLOC/PRESTO_FREE macros.
+ * The vmalloc use here is very uncommon - extended attributes
+ * are supposed to be small chunks of metadata, and it is quite
+ * unusual to have very many extended attributes, so lists tend
+ * to be quite short as well.  The 64K upper limit is derived
+ * from the extended attribute size limit used by XFS.
+ * Intentionally allow zero @size for value/list size requests.
+ */
+static void *
+xattr_alloc(size_t size, size_t limit)
+{
+	void *ptr;
+
+	if (size > limit)
+		return ERR_PTR(-E2BIG);
+
+	if (!size)	/* size request, no buffer is needed */
+		return NULL;
+	else if (size <= PAGE_SIZE)
+		ptr = kmalloc((unsigned long) size, GFP_KERNEL);
+	else
+		ptr = vmalloc((unsigned long) size);
+	if (!ptr)
+		return ERR_PTR(-ENOMEM);
+	return ptr;
+}
+
+static void
+xattr_free(void *ptr, size_t size)
+{
+	if (!size)	/* size request, no buffer was needed */
+		return;
+	else if (size <= PAGE_SIZE)
+		kfree(ptr);
+	else
+		vfree(ptr);
+}
+
+/*
+ * Extended attribute SET operations
+ */
+static long
+setxattr(struct dentry *d, char *name, void *value, size_t size, int flags)
+{
+	int error;
+	void *kvalue;
+	char kname[XATTR_NAME_MAX + 1];
+
+	if (flags & ~(XATTR_CREATE|XATTR_REPLACE))
+		return -EINVAL;
+
+	if (copy_from_user(kname, name, XATTR_NAME_MAX))
+		return -EFAULT;
+	kname[XATTR_NAME_MAX] = '\0';
+
+	kvalue = xattr_alloc(size, XATTR_SIZE_MAX);
+	if (IS_ERR(kvalue))
+		return PTR_ERR(kvalue);
+
+	if (size > 0 && copy_from_user(kvalue, value, size)) {
+		xattr_free(kvalue, size);
+		return -EFAULT;
+	}
+
+	error = -EOPNOTSUPP;
+	if (d->d_inode->i_op && d->d_inode->i_op->setxattr) {
+		lock_kernel();
+		error = d->d_inode->i_op->setxattr(d, kname, kvalue, size, flags);
+		unlock_kernel();
+	}
+
+	xattr_free(kvalue, size);
+	return error;
+}
+
+asmlinkage long
+sys_setxattr(char *path, char *name, void *value, size_t size, int flags)
+{
+	struct nameidata nd;
+	int error;
+
+	error = user_path_walk(path, &nd);
+	if (error)
+		return error;
+	error = setxattr(nd.dentry, name, value, size, flags);
+	path_release(&nd);
+	return error;
+}
+
+asmlinkage long
+sys_lsetxattr(char *path, char *name, void *value, size_t size, int flags)
+{
+	struct nameidata nd;
+	int error;
+
+	error = user_path_walk_link(path, &nd);
+	if (error)
+		return error;
+	error = setxattr(nd.dentry, name, value, size, flags);
+	path_release(&nd);
+	return error;
+}
+
+asmlinkage long
+sys_fsetxattr(int fd, char *name, void *value, size_t size, int flags)
+{
+	struct file *f;
+	int error = -EBADF;
+
+	f = fget(fd);
+	if (!f)
+		return error;
+	error = setxattr(f->f_dentry, name, value, size, flags);
+	fput(f);
+	return error;
+}
+
+/*
+ * Extended attribute GET operations
+ */
+static long
+getxattr(struct dentry *d, char *name, void *value, size_t size)
+{
+	int error;
+	void *kvalue;
+	char kname[XATTR_NAME_MAX + 1];
+
+	if (copy_from_user(kname, name, XATTR_NAME_MAX))
+		return -EFAULT;
+	kname[XATTR_NAME_MAX] = '\0';
+
+	kvalue = xattr_alloc(size, XATTR_SIZE_MAX);
+	if (IS_ERR(kvalue))
+		return PTR_ERR(kvalue);
+
+	error = -EOPNOTSUPP;
+	if (d->d_inode->i_op && d->d_inode->i_op->getxattr) {
+		lock_kernel();
+		error = d->d_inode->i_op->getxattr(d, kname, kvalue, size);
+		unlock_kernel();
+	}
+
+	if (kvalue && error > 0)
+		if (copy_to_user(value, kvalue, size))
+			error = -EFAULT;
+	xattr_free(kvalue, size);
+	return error;
+}
+
+asmlinkage long
+sys_getxattr(char *path, char *name, void *value, size_t size)
+{
+	struct nameidata nd;
+	int error;
+
+	error = user_path_walk(path, &nd);
+	if (error)
+		return error;
+	error = getxattr(nd.dentry, name, value, size);
+	path_release(&nd);
+	return error;
+}
+
+asmlinkage long
+sys_lgetxattr(char *path, char *name, void *value, size_t size)
+{
+	struct nameidata nd;
+	int error;
+
+	error = user_path_walk_link(path, &nd);
+	if (error)
+		return error;
+	error = getxattr(nd.dentry, name, value, size);
+	path_release(&nd);
+	return error;
+}
+
+asmlinkage long
+sys_fgetxattr(int fd, char *name, void *value, size_t size)
+{
+	struct file *f;
+	int error = -EBADF;
+
+	f = fget(fd);
+	if (!f)
+		return error;
+	error = getxattr(f->f_dentry, name, value, size);
+	fput(f);
+	return error;
+}
+
+/*
+ * Extended attribute LIST operations
+ */
+static long
+listxattr(struct dentry *d, char *list, size_t size)
+{
+	int error;
+	char *klist;
+
+	klist = (char *)xattr_alloc(size, XATTR_LIST_MAX);
+	if (IS_ERR(klist))
+		return PTR_ERR(klist);
+
+	error = -EOPNOTSUPP;
+	if (d->d_inode->i_op && d->d_inode->i_op->listxattr) {
+		lock_kernel();
+		error = d->d_inode->i_op->listxattr(d, klist, size);
+		unlock_kernel();
+	}
+
+	if (klist && error > 0)
+		if (copy_to_user(list, klist, size))
+			error = -EFAULT;
+	xattr_free(klist, size);
+	return error;
+}
+
+asmlinkage long
+sys_listxattr(char *path, char *list, size_t size)
+{
+	struct nameidata nd;
+	int error;
+
+	error = user_path_walk(path, &nd);
+	if (error)
+		return error;
+	error = listxattr(nd.dentry, list, size);
+	path_release(&nd);
+	return error;
+}
+
+asmlinkage long
+sys_llistxattr(char *path, char *list, size_t size)
+{
+	struct nameidata nd;
+	int error;
+
+	error = user_path_walk_link(path, &nd);
+	if (error)
+		return error;
+	error = listxattr(nd.dentry, list, size);
+	path_release(&nd);
+	return error;
+}
+
+asmlinkage long
+sys_flistxattr(int fd, char *list, size_t size)
+{
+	struct file *f;
+	int error = -EBADF;
+
+	f = fget(fd);
+	if (!f)
+		return error;
+	error = listxattr(f->f_dentry, list, size);
+	fput(f);
+	return error;
+}
+
+/*
+ * Extended attribute REMOVE operations
+ */
+static long
+removexattr(struct dentry *d, char *name)
+{
+	int error;
+	char kname[XATTR_NAME_MAX + 1];
+
+	if (copy_from_user(kname, name, XATTR_NAME_MAX))
+		return -EFAULT;
+	kname[XATTR_NAME_MAX] = '\0';
+
+	error = -EOPNOTSUPP;
+	if (d->d_inode->i_op && d->d_inode->i_op->removexattr) {
+		lock_kernel();
+		error = d->d_inode->i_op->removexattr(d, kname);
+		unlock_kernel();
+	}
+	return error;
+}
+
+asmlinkage long
+sys_removexattr(char *path, char *name)
+{
+	struct nameidata nd;
+	int error;
+
+	error = user_path_walk(path, &nd);
+	if (error)
+		return error;
+	error = removexattr(nd.dentry, name);
+	path_release(&nd);
+	return error;
+}
+
+asmlinkage long
+sys_lremovexattr(char *path, char *name)
+{
+	struct nameidata nd;
+	int error;
+
+	error = user_path_walk_link(path, &nd);
+	if (error)
+		return error;
+	error = removexattr(nd.dentry, name);
+	path_release(&nd);
+	return error;
+}
+
+asmlinkage long
+sys_fremovexattr(int fd, char *name)
+{
+	struct file *f;
+	int error = -EBADF;
+
+	f = fget(fd);
+	if (!f)
+		return error;
+	error = removexattr(f->f_dentry, name);
+	fput(f);
+	return error;
+}
diff -Naur 2.5.0-pristine/include/asm-i386/unistd.h 2.5.0-xattr/include/asm-i386/unistd.h
--- 2.5.0-pristine/include/asm-i386/unistd.h	Thu Oct 18 03:03:03 2001
+++ 2.5.0-xattr/include/asm-i386/unistd.h	Thu Dec  6 12:59:47 2001
@@ -230,6 +230,18 @@
 #define __NR_security		223	/* syscall for security modules */
 #define __NR_gettid		224
 #define __NR_readahead		225
+#define __NR_setxattr		226
+#define __NR_lsetxattr		227
+#define __NR_fsetxattr		228
+#define __NR_getxattr		229
+#define __NR_lgetxattr		230
+#define __NR_fgetxattr		231
+#define __NR_listxattr		232
+#define __NR_llistxattr		233
+#define __NR_flistxattr		234
+#define __NR_removexattr	235
+#define __NR_lremovexattr	236
+#define __NR_fremovexattr	237
 
 /* user-visible error numbers are in the range -1 - -124: see <asm-i386/errno.h> */
 
diff -Naur 2.5.0-pristine/include/linux/fs.h 2.5.0-xattr/include/linux/fs.h
--- 2.5.0-pristine/include/linux/fs.h	Fri Nov 23 06:46:19 2001
+++ 2.5.0-xattr/include/linux/fs.h	Thu Dec  6 12:59:47 2001
@@ -851,6 +851,10 @@
 	int (*revalidate) (struct dentry *);
 	int (*setattr) (struct dentry *, struct iattr *);
 	int (*getattr) (struct dentry *, struct iattr *);
+	int (*setxattr) (struct dentry *, char *, void *, size_t, int);
+	int (*getxattr) (struct dentry *, char *, void *, size_t);
+	int (*listxattr) (struct dentry *, char *, size_t);
+	int (*removexattr) (struct dentry *, char *);
 };
 
 /*
diff -Naur 2.5.0-pristine/include/linux/limits.h 2.5.0-xattr/include/linux/limits.h
--- 2.5.0-pristine/include/linux/limits.h	Thu Jul 29 03:30:10 1999
+++ 2.5.0-xattr/include/linux/limits.h	Thu Dec  6 12:59:47 2001
@@ -13,6 +13,9 @@
 #define NAME_MAX         255	/* # chars in a file name */
 #define PATH_MAX        4095	/* # chars in a path name */
 #define PIPE_BUF        4096	/* # bytes in atomic write to a pipe */
+#define XATTR_NAME_MAX   255	/* # chars in an extended attribute name */
+#define XATTR_SIZE_MAX 65536	/* size of an extended attribute value (64k) */
+#define XATTR_LIST_MAX 65536	/* size of extended attribute namelist (64k) */
 
 #define RTSIG_MAX	  32
 
diff -Naur 2.5.0-pristine/include/linux/xattr.h 2.5.0-xattr/include/linux/xattr.h
--- 2.5.0-pristine/include/linux/xattr.h	Thu Jan  1 10:00:00 1970
+++ 2.5.0-xattr/include/linux/xattr.h	Thu Dec  6 12:59:47 2001
@@ -0,0 +1,15 @@
+/*
+  File: linux/xattr.h
+
+  Extended attributes handling.
+
+  Copyright (C) 2001 by Andreas Gruenbacher <a.gruenbacher@computer.org>
+  Copyright (C) 2001 SGI - Silicon Graphics, Inc <linux-xfs@oss.sgi.com>
+*/
+#ifndef _LINUX_XATTR_H
+#define _LINUX_XATTR_H
+
+#define XATTR_CREATE	0x1	/* set value, fail if attr already exists */
+#define XATTR_REPLACE	0x2	/* set value, fail if attr does not exist */
+
+#endif	/* _LINUX_XATTR_H */



  reply	other threads:[~2002-01-29 23:49 UTC|newest]

Thread overview: 354+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <p73aduwddni.fsf@oldwotan.suse.de.suse.lists.linux.kernel>
     [not found] ` <200201292208.g0TM8ql17622@ns.caldera.de.suse.lists.linux.kernel>
     [not found]   ` <a377bn$1go$1@penguin.transmeta.com.suse.lists.linux.kernel>
2002-01-29 23:01     ` A modest proposal -- We need a patch penguin Andi Kleen
2002-01-29 23:13       ` Linus Torvalds
2002-01-29 23:40         ` Nathan Scott [this message]
2002-01-29 23:59           ` Linus Torvalds
2002-01-30  1:35           ` Stuart Young
2002-02-06  4:08           ` VFS EA interface patch (was: A modest proposal...) Daniel Phillips
2002-02-06 10:35           ` Anton Altaparmakov
2002-02-06 10:52             ` Daniel Phillips
2002-01-30  1:00         ` A modest proposal -- We need a patch penguin Rob Landley
2002-01-30  1:12           ` Jeff Garzik
     [not found] <20020131035810.B3284@havoc.gtf.org>
2002-01-31 12:03 ` Keith Owens
2002-01-31 17:48   ` Jeff Garzik
2002-01-30 18:33 Dana Lacoste
2002-01-30 22:02 ` Linus Torvalds
  -- strict thread matches above, loose matches on Subject: below --
2002-01-30  7:29 John L. Males
2002-01-30  1:23 Ed Tomlinson
2002-01-29 23:14 Jesse Pollard
2002-01-29 22:42 Nickolaos Fotopoulos
     [not found] <Pine.LNX.4.33.0201291324560.3610-100000@localhost.localdomain.suse.lists.linux.kernel>
     [not found] ` <E16VYD8-0003ta-00@the-village.bc.nu.suse.lists.linux.kernel>
2002-01-29 21:56   ` Andi Kleen
2002-01-29 22:08     ` Christoph Hellwig
2002-01-29 22:20       ` Andi Kleen
2002-01-29 22:22       ` Linus Torvalds
2002-01-29 23:03         ` Alan Cox
2002-01-29 22:24     ` Andreas Dilger
2002-01-29 22:31       ` Andi Kleen
2002-01-29 18:57 Greg Boyce
2002-01-29 18:00 Eric S. Raymond
2002-01-29 16:27 Dana Lacoste
2002-01-29  7:43 Alexei Podtelezhnikov
2002-01-29  1:53 John Weber
2002-01-29  5:15 ` Rob Landley
2002-01-29 11:04 ` Rik van Riel
2002-01-29 15:56   ` Denis Vlasenko
2002-01-29 18:14 ` Horst von Brand
2002-01-29 18:33 ` Olaf Dietsche
2002-01-29 22:12   ` James Stevenson
2002-01-30  1:00 ` Stuart Young
2002-01-30  1:18   ` Jeff Garzik
2002-01-30  1:41     ` Daniel Phillips
2002-01-30  1:32   ` Stuart Young
2002-01-29  1:28 A modest proposal -- we " Brad Chapman
2002-01-28 14:10 A modest proposal -- We " Rob Landley
2002-01-29  0:44 ` Matthew D. Pitts
2002-01-29  1:37 ` Francesco Munda
2002-01-29  3:23   ` Linus Torvalds
2002-01-29  4:47     ` Rob Landley
2002-01-29  6:00       ` Linus Torvalds
2002-01-29  6:12         ` Larry McVoy
2002-01-29  6:49           ` Linus Torvalds
2002-01-29 11:45             ` Martin Dalecki
2002-01-29 14:26               ` Ingo Molnar
2002-01-29 17:37               ` Stephan von Krawczynski
2002-01-29 19:23                 ` Rob Landley
2002-01-29 19:33                   ` Alexander Viro
2002-01-29 23:43                 ` Daniel Phillips
2002-01-29 13:19             ` Eric W. Biederman
2002-01-29 13:40               ` Momchil Velikov
2002-01-29 23:51               ` Daniel Phillips
2002-01-30  1:33                 ` Rob Landley
2002-01-30  1:46                   ` Jeff Garzik
2002-01-30  3:45                     ` Rob Landley
2002-01-30 10:39                 ` Roman Zippel
2002-01-30 11:21                   ` Daniel Phillips
2002-01-30 12:39                     ` Roman Zippel
2002-01-29  7:33         ` Rob Landley
2002-01-29  7:52           ` Greg KH
2002-01-29 14:24           ` Jeff Garzik
2002-01-29  7:10       ` Stuart Young
2002-01-29  7:53         ` Nix N. Nix
2002-01-29 19:24         ` Patrick Mochel
2002-01-29  7:38       ` Daniel Phillips
2002-01-29  8:39         ` George Bonser
2002-01-29 11:29         ` Xavier Bestel
2002-01-29 13:54       ` Ingo Molnar
2002-01-29 12:31         ` Daniel Phillips
2002-01-29 14:52           ` Ingo Molnar
2002-01-29 22:04             ` Ville Herva
2002-01-29 22:07             ` Daniel Phillips
2002-01-29 22:24               ` Andrew Morton
2002-01-30  4:37               ` Alexander Viro
2002-01-30  7:20                 ` Daniel Phillips
2002-01-30  7:48                   ` Linus Torvalds
2002-01-30  8:11                     ` Greg KH
2002-01-30  9:22                     ` Rob Landley
2002-01-30 15:16                       ` Hans Reiser
2002-01-30 10:14                     ` Alan Cox
2002-01-30 15:49                       ` Larry McVoy
2002-01-30 15:42                     ` Tom Rini
2002-01-30 16:03                       ` Larry McVoy
2002-01-30 16:07                         ` Tom Rini
2002-01-30 16:11                           ` Larry McVoy
2002-01-30 16:18                             ` Tom Rini
2002-01-30 16:37                               ` Larry McVoy
2002-01-30 16:47                                 ` Tom Rini
2002-01-30 20:50                                 ` Geert Uytterhoeven
2002-01-31  0:28                             ` Paul Mackerras
2002-01-30 16:14                         ` Rik van Riel
2002-01-30 16:23                           ` Tom Rini
2002-01-30 16:32                           ` Larry McVoy
2002-01-30 16:43                             ` Tom Rini
2002-01-30 16:59                               ` Larry McVoy
2002-01-30 18:35                             ` Ingo Molnar
2002-01-30 16:43                               ` Larry McVoy
2002-01-30 16:59                                 ` Rik van Riel
2002-01-30 18:48                                 ` Ingo Molnar
2002-01-30 17:25                                   ` Larry McVoy
2002-01-30 18:23                                     ` Linus Torvalds
2002-01-30 19:38                                       ` Georg Nikodym
2002-01-30 20:45                                         ` Tom Rini
2002-01-30 21:17                                         ` Linus Torvalds
2002-01-30 21:57                                           ` Larry McVoy
2002-01-30 21:58                                           ` Eli Carter
2002-01-30 22:17                                             ` Linus Torvalds
2002-01-30 22:36                                               ` Larry McVoy
2002-01-30 23:14                                                 ` Linus Torvalds
2002-01-31 13:00                                                   ` Rik van Riel
2002-01-30 23:18                                                 ` Rob Landley
2002-01-31  1:57                                                   ` Larry McVoy
2002-01-31  3:12                                                     ` Rob Landley
2002-01-31  3:51                                                       ` Larry McVoy
2002-01-31  4:58                                                         ` Alexander Viro
2002-01-31  5:08                                                           ` Larry McVoy
2002-01-31  6:02                                                             ` Alexander Viro
2002-01-31  6:15                                                               ` Larry McVoy
2002-01-31  6:23                                                             ` Troy Benjegerdes
2002-01-31  6:37                                                               ` Larry McVoy
     [not found]                                                                 ` <20020131074924.QZMB10685.femail14.sdc1.sfba.home.com@there>
2002-01-31 17:13                                                                   ` Troy Benjegerdes
2002-01-31 17:19                                                                     ` Larry McVoy
2002-01-31 17:35                                                                       ` Troy Benjegerdes
2002-02-01  0:29                                                                       ` Keith Owens
2002-02-01  1:04                                                                         ` Larry McVoy
2002-02-01  1:37                                                                           ` Keith Owens
2002-02-01 11:11                                                                           ` Horst von Brand
2002-02-01 11:30                                                                             ` Rik van Riel
2002-02-01 16:43                                                                               ` Larry McVoy
2002-02-01 22:57                                                                                 ` Keith Owens
2002-02-01 16:38                                                                             ` Larry McVoy
2002-02-01 17:12                                                                               ` Wayne Scott
2002-02-01 10:55                                                                       ` Nix N. Nix
2002-01-31  5:16                                                         ` Rob Landley
2002-01-31  5:46                                                           ` Keith Owens
2002-01-31  5:55                                                             ` Larry McVoy
2002-01-31  6:03                                                               ` Keith Owens
2002-01-31  6:07                                                                 ` Larry McVoy
2002-01-31  6:33                                                                   ` Keith Owens
2002-01-30 23:57                                                 ` Kenneth Johansson
     [not found]                                       ` <m3d6zraqn1.fsf@linux.local>
2002-01-31 15:12                                         ` Tom Rini
2002-02-12 22:59                                     ` Rik van Riel
2002-02-12 23:14                                       ` Larry McVoy
2002-02-13  2:08                                       ` Andreas Dilger
2002-02-13 12:07                                         ` Ingo Molnar
2002-02-13 16:55                                           ` Andreas Dilger
2002-02-22 16:06                                             ` Hans Reiser
2002-02-23  5:00                                               ` Mark Hahn
2002-02-25 17:13                                               ` Randy.Dunlap
2002-03-01 19:29                                                 ` Rob Landley
2002-03-01 19:35                                                   ` Martin Dalecki
2002-03-01 19:03                                               ` Rob Landley
2002-03-01 11:05                                                 ` Hans Reiser
2002-01-30 16:47                               ` Rik van Riel
2002-01-30 16:59                                 ` Josh MacDonald
2002-01-30 17:04                                   ` Larry McVoy
2002-01-30 17:41                                   ` Andreas Dilger
2002-01-30 18:51                                 ` Ingo Molnar
2002-01-31  1:43                     ` Val Henson
2002-01-30  7:58                   ` Alexander Viro
2002-01-30  8:09                     ` Linus Torvalds
2002-01-30  8:36                       ` Alexander Viro
2002-01-30  9:21                         ` Linus Torvalds
2002-01-30 10:05                           ` Daniel Phillips
2002-01-30 10:06                           ` Alan Cox
2002-01-30 10:18                             ` Jeff Garzik
2002-01-30 17:11                               ` Greg KH
2002-01-30 18:35                                 ` Alan Cox
2002-01-30 18:29                                   ` Jeff Garzik
2002-01-30 21:15                                     ` Erik Andersen
2002-01-30 21:14                                 ` Erik Andersen
2002-01-30 23:06                                   ` Alan Cox
2002-01-30 23:48                                     ` Erik Andersen
2002-01-31  0:03                                       ` Andre Hedrick
2002-01-31  0:13                                       ` Dave Jones
2002-01-31  0:33                                       ` Alan Cox
2002-01-30 17:20                             ` Linus Torvalds
2002-01-30 22:06                               ` Bill Davidsen
2002-01-31 12:14                             ` Martin Dalecki
2002-01-31 13:34                               ` Ian Molton
2002-01-31 14:17                               ` Ingo Molnar
2002-01-31 12:27                                 ` Alexander Viro
2002-01-31 15:01                                   ` Roman Zippel
2002-01-31 12:28                                 ` David Weinehall
2002-01-31 12:52                                   ` Martin Dalecki
2002-01-31 14:31                                   ` Ingo Molnar
2002-01-31 12:56                                     ` Martin Dalecki
2002-01-31 15:07                                       ` Ingo Molnar
2002-01-31 13:45                                         ` Russell King
2002-01-31 21:08                               ` Geert Uytterhoeven
2002-01-30 12:29                           ` Dave Jones
2002-01-30  8:36                       ` Daniel Phillips
2002-01-30  8:39                         ` Alexander Viro
2002-01-30 12:41                     ` Kees Bakker, Kees Bakker
2002-01-30 14:15                   ` Charles Cazabon
2002-01-30  7:41               ` Oliver Xymoron
2002-01-30  7:58                 ` Daniel Phillips
2002-01-29 13:22         ` Alan Cox
2002-01-29 15:29           ` Ingo Molnar
2002-01-29 16:10           ` Dave McCracken
2002-01-29 18:46         ` Rob Landley
2002-01-30 15:56           ` Ingo Molnar
2002-01-29 19:51         ` Kai Henningsen
2002-01-30  2:46           ` Dave Jones
2002-01-30 11:57             ` Denis Vlasenko
2002-01-30  8:29               ` Jeff Garzik
2002-01-30  9:38                 ` Rob Landley
2002-01-30  9:43                   ` Jeff Garzik
2002-01-30 19:40                     ` Rob Landley
2002-01-30 19:42                       ` Jeff Garzik
2002-01-30  9:59               ` Alan Cox
2002-01-29 22:35         ` Bill Davidsen
2002-01-30 15:48         ` Tomasz Kłoczko
2002-01-29  5:01     ` Rob Landley
2002-01-29 11:49     ` Martin Dalecki
2002-01-29 13:13       ` Christoph Hellwig
2002-01-29 13:43         ` Alan Cox
2002-01-31 11:24           ` Martin Dalecki
2002-01-31 11:53             ` Alan Cox
2002-01-31 11:20         ` Martin Dalecki
2002-01-29 14:33       ` Ingo Molnar
2002-01-29 13:14         ` Martin Dalecki
2002-02-01 13:38           ` Ingo Molnar
2002-02-01 11:53             ` Martin Dalecki
2002-01-29 13:14         ` Alan Cox
2002-01-29 15:18           ` Ingo Molnar
2002-01-29 13:40             ` Alan Cox
2002-01-29 13:47               ` Dave Jones
2002-01-30 11:42                 ` Henning P. Schmiedehausen
2002-01-29 16:15               ` Ingo Molnar
2002-01-29 14:27                 ` Dave Jones
2002-01-29 14:43                   ` Russell King
2002-01-30  9:44                     ` Horst von Brand
2002-01-30 10:14                       ` Russell King
2002-01-29 16:36                   ` Ingo Molnar
2002-01-29 14:54                     ` Alan Cox
2002-01-29 16:41                       ` Ingo Molnar
2002-01-29 15:35                     ` Eli Carter
2002-01-29 16:47                     ` Ingo Molnar
2002-01-29 14:53                       ` Patrick Mauritz
2002-01-29 20:03                         ` Kai Henningsen
2002-01-30  3:15                           ` Arnaldo Carvalho de Melo
2002-01-30  6:30                             ` Kai Henningsen
2002-01-29 20:10                     ` toon
2002-01-30  9:40                     ` Horst von Brand
2002-01-29 22:57               ` Rob Landley
2002-01-29 23:47                 ` Eric S. Raymond
2002-01-30  5:57                   ` Mark Hahn
2002-01-29 22:45           ` Bill Davidsen
2002-01-29 23:14             ` Craig Christophel
2002-01-30  4:26               ` Shawn
2002-01-29 14:30     ` Skip Ford
2002-01-29 17:36       ` Linus Torvalds
2002-01-29 17:51         ` Michael Sterrett -Mr. Bones.-
2002-01-29 23:34         ` Rob Landley
2002-01-29 23:50           ` Linus Torvalds
2002-01-30  0:07             ` Rik van Riel
2002-01-30  0:39               ` Linus Torvalds
2002-01-30  0:52                 ` Rik van Riel
2002-01-30  0:23             ` Daniel Jacobowitz
2002-01-30  0:27             ` Chris Ricker
2002-01-30  0:44               ` Linus Torvalds
2002-01-30  1:38                 ` Miles Lane
2002-01-30  8:06                   ` Rob Landley
2002-01-30  8:47                     ` Jeff Garzik
2002-01-30  9:03                       ` Larry McVoy
2002-01-30  9:33                       ` Linus Torvalds
2002-01-30 10:07                         ` Jeff Garzik
2002-01-30 10:25                         ` Momchil Velikov
2002-01-30 10:32                         ` Daniel Phillips
2002-04-05  1:03                           ` Albert D. Cahalan
2002-04-05  1:21                             ` Linus Torvalds
2002-04-04 16:40                               ` Daniel Phillips
2002-04-05 10:12                               ` Geert Uytterhoeven
2002-01-30 12:59                       ` Roman Zippel
2002-01-30 15:31                         ` Alan Cox
2002-01-30 17:29                           ` Roman Zippel
2002-01-30 17:59                             ` Jeff Garzik
2002-01-30 16:06                         ` Larry McVoy
2002-01-30 16:34                           ` Jochen Friedrich
2002-01-30 16:39                             ` Larry McVoy
2002-01-30 18:03                             ` Jeff Garzik
2002-01-30 20:06                           ` Roman Zippel
2002-01-30 20:17                             ` Larry McVoy
2002-01-30 21:02                               ` Roman Zippel
2002-01-30 21:18                                 ` Larry McVoy
2002-01-30 22:13                                   ` Roman Zippel
2002-01-30 22:25                                     ` Larry McVoy
2002-01-30 22:36                                       ` Roman Zippel
2002-01-30  2:45                 ` Chris Ricker
2002-01-30  2:54                   ` Linus Torvalds
2002-01-30  4:14                     ` Jeff Garzik
2002-01-30 12:49                   ` Matthew D. Pitts
2002-01-30 13:26                     ` Dave Jones
2002-01-30 19:11                     ` Juan Quintela
2002-01-30 21:03                     ` Rob Landley
2002-01-30 22:03                       ` Francois Romieu
2002-01-30 22:20                         ` Rob Landley
2002-01-30 22:39                       ` Jesse Pollard
2002-01-31  2:39                         ` Daniel Phillips
2002-01-31  3:29                           ` Rob Landley
2002-01-31  3:40                             ` Daniel Phillips
2002-01-31  5:32                               ` Rob Landley
2002-01-31  5:57                                 ` Keith Owens
2002-01-31  6:03                                 ` Daniel Phillips
2002-01-31  6:27                                 ` Jeff Garzik
2002-01-31  6:43                                   ` Daniel Phillips
2002-01-31  3:41                             ` Jeff Garzik
2002-01-31  3:54                               ` Keith Owens
2002-01-31 16:40                           ` Jesse Pollard
2002-01-30  9:19                 ` Russell King
2002-01-30  9:44                   ` Jeff Garzik
2002-01-30 19:55                   ` Jacob Luna Lundberg
2002-01-30 20:00                     ` Russell King
2002-01-30 21:56                     ` Bill Davidsen
2002-01-31  2:45                       ` Daniel Phillips
2002-01-30 21:57                     ` Karl
2002-01-30  1:40             ` Rob Landley
2002-01-30 11:56             ` Henning P. Schmiedehausen
2002-01-30 13:13             ` Daniel Egger
2002-01-30 16:26             ` Andre Hedrick
2002-01-31  1:16             ` Stuart Young
2002-01-31  1:42               ` David Lang
2002-01-30  0:08           ` Alan Cox
2002-01-30  4:36             ` Shawn
2002-01-29 23:12       ` Rob Landley
2002-01-29 22:31     ` Bill Davidsen
2002-01-30  9:50       ` Hans Reiser
2002-01-30  8:03     ` Francesco Munda
2002-01-30  8:39       ` Jeff Garzik
2002-02-03  1:47         ` Francesco Munda
2002-01-29  3:42   ` Rob Landley
2002-01-29 12:22     ` Dave Jones
2002-01-29 12:23   ` Padraig Brady
2002-01-30  1:32     ` Francesco Munda
2002-01-29  5:51 ` Andrew Pimlott
2002-01-29  8:00   ` Daniel Phillips
2002-01-29 13:06   ` Alan Cox
2002-01-29 14:40     ` Andrew Pimlott
2002-01-29 15:10       ` Alan Cox
2002-01-29 19:10     ` John Alvord
2002-01-29  9:55 ` Matthias Andree
2002-01-29 10:21   ` Daniel Phillips
2002-01-29 10:23   ` Jim McDonald
2002-01-29 15:51 ` Eli Carter
2002-01-30  0:40   ` Daniel Phillips
2002-01-29 19:46 ` Jordan Mendelson
2002-01-29 22:23   ` Ragnar Hojland Espinosa

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=20020130104004.C81308@wobbly.melbourne.sgi.com \
    --to=nathans@sgi.com \
    --cc=ag@bestbits.at \
    --cc=ak@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.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.