]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/um/os-Linux/mem.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
[mv-sheeva.git] / arch / um / os-Linux / mem.c
index 4203681e508d0a680635347c53a2168fdd3a68be..436f8d20b20f64de342c3b4a4c2fdef2d92dab2f 100644 (file)
@@ -11,7 +11,6 @@
 #include <sys/statfs.h>
 #include "kern_util.h"
 #include "user.h"
-#include "user_util.h"
 #include "mem_user.h"
 #include "init.h"
 #include "os.h"
 
 #include <sys/param.h>
 
+/* Modified by which_tmpdir, which is called during early boot */
 static char *default_tmpdir = "/tmp";
+
+/*
+ *  Modified when creating the physical memory file and when checking
+ * the tmp filesystem for usability, both happening during early boot.
+ */
 static char *tempdir = NULL;
 
 static void __init find_tempdir(void)
@@ -29,7 +34,8 @@ static void __init find_tempdir(void)
        int i;
        char *dir = NULL;
 
-       if(tempdir != NULL) return;     /* We've already been called */
+       if(tempdir != NULL) /* We've already been called */
+               return;
        for(i = 0; dirs[i]; i++){
                dir = getenv(dirs[i]);
                if((dir != NULL) && (*dir != '\0'))
@@ -83,6 +89,7 @@ static int next(int fd, char *buf, int size, char c)
        return 1;
 }
 
+/* which_tmpdir is called only during early boot */
 static int checked_tmpdir = 0;
 
 /* Look for a tmpfs mounted at /dev/shm.  I couldn't find a cleaner
@@ -157,7 +164,8 @@ found:
  * (file: kernel/tt/ptproxy/proxy.c, proc: start_debugger).
  * So it isn't 'static' yet.
  */
-int make_tempfile(const char *template, char **out_tempname, int do_unlink)
+int __init make_tempfile(const char *template, char **out_tempname,
+                        int do_unlink)
 {
        char *tempname;
        int fd;
@@ -186,7 +194,7 @@ int make_tempfile(const char *template, char **out_tempname, int do_unlink)
        } else {
                free(tempname);
        }
-       return(fd);
+       return fd;
 out:
        free(tempname);
        return -1;
@@ -198,7 +206,7 @@ out:
  * This proc is used in start_up.c
  * So it isn't 'static'.
  */
-int create_tmp_file(unsigned long long len)
+int __init create_tmp_file(unsigned long long len)
 {
        int fd, err;
        char zero;
@@ -210,7 +218,7 @@ int create_tmp_file(unsigned long long len)
 
        err = fchmod(fd, 0777);
        if(err < 0){
-               perror("os_mode_fd");
+               perror("fchmod");
                exit(1);
        }
 
@@ -218,38 +226,37 @@ int create_tmp_file(unsigned long long len)
         * increase the file size by one byte, to the desired length.
         */
        if (lseek64(fd, len - 1, SEEK_SET) < 0) {
-               perror("os_seek_file");
+               perror("lseek64");
                exit(1);
        }
 
        zero = 0;
 
-       err = os_write_file(fd, &zero, 1);
+       err = write(fd, &zero, 1);
        if(err != 1){
-               errno = -err;
-               perror("os_write_file");
+               perror("write");
                exit(1);
        }
 
-       return(fd);
+       return fd;
 }
 
-int create_mem_file(unsigned long long len)
+int __init create_mem_file(unsigned long long len)
 {
        int err, fd;
 
        fd = create_tmp_file(len);
 
-       err = os_set_exec_close(fd, 1);
+       err = os_set_exec_close(fd);
        if(err < 0){
                errno = -err;
                perror("exec_close");
        }
-       return(fd);
+       return fd;
 }
 
 
-void check_tmpexec(void)
+void __init check_tmpexec(void)
 {
        void *addr;
        int err, fd = create_tmp_file(UM_KERN_PAGE_SIZE);