[patch] uml: fix umldir init order

From: Gerd Knorr
Date: Tue Dec 07 2004 - 10:16:22 EST


Fixup initialization order when creating the $HOME/.uml/<umid>
directory and the files therein, also make the error messages
more useful.

Signed-off-by: Gerd Knorr <kraxel@xxxxxxxxxxx>
---
arch/um/kernel/umid.c | 19 +++++++++----------
1 files changed, 9 insertions(+), 10 deletions(-)

Index: uml-2.6.9-rc2/arch/um/kernel/umid.c
===================================================================
--- uml-2.6.9-rc2.orig/arch/um/kernel/umid.c 2004-09-16 16:34:52.644479658 +0200
+++ uml-2.6.9-rc2/arch/um/kernel/umid.c 2004-09-16 16:37:09.347268895 +0200
@@ -92,8 +92,8 @@ static int __init create_pid_file(void)
fd = os_open_file(file, of_create(of_excl(of_rdwr(OPENFLAGS()))),
0644);
if(fd < 0){
- printf("Open of machine pid file \"%s\" failed - "
- "err = %d\n", file, -fd);
+ printf("Open of machine pid file \"%s\" failed: %s\n",
+ file, strerror(-fd));
return 0;
}

@@ -247,7 +247,7 @@ static int __init make_uml_dir(void)
strcpy(uml_dir, dir);

if((mkdir(uml_dir, 0777) < 0) && (errno != EEXIST)){
- printf("Failed to mkdir %s - errno = %i\n", uml_dir, errno);
+ printf("Failed to mkdir %s: %s\n", uml_dir, strerror(errno));
return(-1);
}
return 0;
@@ -264,8 +264,8 @@ static int __init make_umid(int (*printe
strcat(tmp, "XXXXXX");
fd = mkstemp(tmp);
if(fd < 0){
- (*printer)("make_umid - mkstemp failed, errno = %d\n",
- errno);
+ (*printer)("make_umid - mkstemp(%s) failed: %s\n",
+ tmp,strerror(errno));
return(1);
}

@@ -303,15 +303,14 @@ __uml_setup("uml_dir=", set_uml_dir,
" The location to place the pid and umid files.\n\n"
);

-__uml_postsetup(make_uml_dir);
-
static int __init make_umid_setup(void)
{
- return(make_umid(printf));
+ /* one function with the ordering we need ... */
+ make_uml_dir();
+ make_umid(printf);
+ return create_pid_file();
}
-
__uml_postsetup(make_umid_setup);
-__uml_postsetup(create_pid_file);

/*
* Overrides for Emacs so that we follow Linus's tabbing style.

--
#define printk(args...) fprintf(stderr, ## args)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/