From: Christoph Hellwig <hch@lst.de>

There may be multiple gendisks with the same .devfs_name in scsi and we
call devfs_mk_dir on each of them.  At present that causes a nasty error
message.  It is better to permit devfs_mk_dir() to appear to have succeeded.

ie: it's a `mkdir -p'.


 fs/devfs/base.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletion(-)

diff -puN fs/devfs/base.c~devfs_mk_dir-fix fs/devfs/base.c
--- 25/fs/devfs/base.c~devfs_mk_dir-fix	2003-06-08 14:56:39.000000000 -0700
+++ 25-akpm/fs/devfs/base.c	2003-06-08 14:57:34.000000000 -0700
@@ -1684,7 +1684,14 @@ int devfs_mk_dir(const char *fmt, ...)
 	}
 
 	error = _devfs_append_entry(dir, de, &old);
-	if (error) {
+	if (error == -EEXIST) {
+		/*
+		 * devfs_mk_dir() of an already-existing directory will
+		 * return success.
+		 */
+		error = 0;
+		devfs_put(old);
+	} else if (error) {
 		PRINTK("(%s): could not append to dir: %p \"%s\"\n",
 				buf, dir, dir->name);
 		devfs_put(old);

_