[patch-2.3.99-pre7-8] fixes to usage of do_sys_mount()

From: Tigran Aivazian (tigran@veritas.com)
Date: Wed May 10 2000 - 04:33:29 EST


Hi Linus,

Almost all extern decalarations of do_sys_mount() throughout the entire
kernel (several architectures) were wrong. Also their number was
sufficiently large to warrant placing declaration in the common header.

Also, while I was there I removed unnecessary initializations of
dir/dev/type_page=0 in sys_mount.

Also, to be consistent with the fact that sys_foo's work is done by do_foo
(e.g. sys_umount -> do_umount) I renamed do_sys_mount -> do_mount.

Tested, of course.

Regards,
Tigran

diff -urN -X dontdiff linux/arch/alpha/kernel/osf_sys.c domount/arch/alpha/kernel/osf_sys.c
--- linux/arch/alpha/kernel/osf_sys.c Tue May 9 08:40:24 2000
+++ domount/arch/alpha/kernel/osf_sys.c Wed May 10 10:20:10 2000
@@ -42,7 +42,6 @@
 #include <asm/hwrpb.h>
 #include <asm/processor.h>
 
-extern long do_sys_mount(char *, char *, char *, int, void *);
 extern int do_pipe(int *);
 
 extern asmlinkage int sys_swapon(const char *specialfile, int swap_flags);
@@ -377,7 +376,7 @@
         retval = PTR_ERR(devname);
         if (IS_ERR(devname))
                 goto out;
- retval = do_sys_mount(devname, dirname, "ext2", flags, NULL);
+ retval = do_mount(devname, dirname, "ext2", flags, NULL);
         putname(devname);
 out:
         return retval;
@@ -396,7 +395,7 @@
         retval = PTR_ERR(devname);
         if (IS_ERR(devname))
                 goto out;
- retval = do_sys_mount(devname, dirname, "iso9660", flags, NULL);
+ retval = do_mount(devname, dirname, "iso9660", flags, NULL);
         putname(devname);
 out:
         return retval;
@@ -409,7 +408,7 @@
         if (copy_from_user(&tmp, args, sizeof(tmp)))
                 return -EFAULT;
 
- return do_sys_mount("", dirname, "proc", flags, NULL);
+ return do_mount("", dirname, "proc", flags, NULL);
 }
 
 asmlinkage int osf_mount(unsigned long typenr, char *path, int flag, void *data)
diff -urN -X dontdiff linux/arch/ia64/ia32/sys_ia32.c domount/arch/ia64/ia32/sys_ia32.c
--- linux/arch/ia64/ia32/sys_ia32.c Thu Apr 27 09:01:29 2000
+++ domount/arch/ia64/ia32/sys_ia32.c Wed May 10 10:21:47 2000
@@ -2735,8 +2735,6 @@
 
 extern asmlinkage long sys_mount(char * dev_name, char * dir_name, char * type,
                                 unsigned long new_flags, void *data);
-extern long do_sys_mount(char * dev_name, char * dir_name, char * type,
- unsigned long new_flags, void *data);
 
 #define SMBFS_NAME "smbfs"
 #define NCPFS_NAME "ncpfs"
@@ -2784,7 +2782,7 @@
                         do_smb_super_data_conv((void *)data_page);
                 else
                         panic("The problem is here...");
- err = do_sys_mount((char *)dev_page, (char *)dir_page,
+ err = do_mount((char *)dev_page, (char *)dir_page,
                                 (char *)type_page, new_flags,
                                 (void *)data_page);
                 if(data_page)
diff -urN -X dontdiff linux/arch/sparc/kernel/sys_sunos.c domount/arch/sparc/kernel/sys_sunos.c
--- linux/arch/sparc/kernel/sys_sunos.c Tue May 9 08:40:24 2000
+++ domount/arch/sparc/kernel/sys_sunos.c Wed May 10 10:20:50 2000
@@ -634,7 +634,6 @@
 
 extern dev_t get_unnamed_dev(void);
 extern void put_unnamed_dev(dev_t);
-extern asmlinkage long do_sys_mount(char *, char *, char *, int, void *);
 extern asmlinkage int sys_connect(int fd, struct sockaddr *uservaddr, int addrlen);
 extern asmlinkage int sys_socket(int family, int type, int protocol);
 extern asmlinkage int sys_bind(int fd, struct sockaddr *umyaddr, int addrlen);
@@ -754,7 +753,7 @@
         linux_nfs_mount.hostname [255] = 0;
         putname (the_name);
         
- return do_sys_mount ("", dir_name, "nfs", linux_flags, &linux_nfs_mount);
+ return do_mount ("", dir_name, "nfs", linux_flags, &linux_nfs_mount);
 }
 
 asmlinkage int
@@ -814,7 +813,7 @@
         ret = PTR_ERR(dev_fname);
         if (IS_ERR(dev_fname))
                 goto out2;
- ret = do_sys_mount(dev_fname, dir_page, type_page, linux_flags, NULL);
+ ret = do_mount(dev_fname, dir_page, type_page, linux_flags, NULL);
         if (dev_fname)
                 putname(dev_fname);
 out2:
diff -urN -X dontdiff linux/arch/sparc64/kernel/sys_sparc32.c domount/arch/sparc64/kernel/sys_sparc32.c
--- linux/arch/sparc64/kernel/sys_sparc32.c Tue May 9 08:40:24 2000
+++ domount/arch/sparc64/kernel/sys_sparc32.c Wed May 10 10:21:11 2000
@@ -1742,9 +1742,6 @@
         return 0;
 }
 
-extern long do_sys_mount(char * dev_page, char * dir_page, char * type_page,
- unsigned long new_flags, char * data_page);
-
 #define SMBFS_NAME "smbfs"
 #define NCPFS_NAME "ncpfs"
 
@@ -1784,7 +1781,7 @@
                 goto dev_out;
 
         if (!is_smb && !is_ncp) {
- err = do_sys_mount((char*)dev_page, (char*)dir_page,
+ err = do_mount((char*)dev_page, (char*)dir_page,
                                 (char*)type_page, new_flags, (char*)data_page);
         } else {
                 if (is_ncp)
@@ -1792,7 +1789,7 @@
                 else
                         do_smb_super_data_conv((void *)data_page);
 
- err = do_sys_mount((char*)dev_page, (char*)dir_page,
+ err = do_mount((char*)dev_page, (char*)dir_page,
                                 (char*)type_page, new_flags, (char*)data_page);
         }
         free_page(dir_page);
diff -urN -X dontdiff linux/arch/sparc64/kernel/sys_sunos32.c domount/arch/sparc64/kernel/sys_sunos32.c
--- linux/arch/sparc64/kernel/sys_sunos32.c Tue May 9 08:40:24 2000
+++ domount/arch/sparc64/kernel/sys_sunos32.c Wed May 10 10:21:31 2000
@@ -598,7 +598,6 @@
         char *netname; /* server's netname */
 };
 
-extern long do_sys_mount(const char *, const char *, char *, int, void *);
 extern dev_t get_unnamed_dev(void);
 extern void put_unnamed_dev(dev_t);
 extern asmlinkage int sys_mount(char *, char *, char *, unsigned long, void *);
@@ -727,7 +726,7 @@
         linux_nfs_mount.hostname [255] = 0;
         putname (the_name);
         
- return do_sys_mount ("", dir_name, "nfs", linux_flags, &linux_nfs_mount);
+ return do_mount ("", dir_name, "nfs", linux_flags, &linux_nfs_mount);
 }
 
 /* XXXXXXXXXXXXXXXXXXXX */
@@ -787,7 +786,7 @@
         ret = PTR_ERR(dev_fname);
         if (IS_ERR(dev_fname))
                 goto out2;
- ret = do_sys_mount(dev_fname, dir_page, type_page, linux_flags, NULL);
+ ret = do_mount(dev_fname, dir_page, type_page, linux_flags, NULL);
         if (dev_fname)
                 putname(dev_fname);
 out2:
diff -urN -X dontdiff linux/fs/devfs/base.c domount/fs/devfs/base.c
--- linux/fs/devfs/base.c Tue May 9 08:40:25 2000
+++ domount/fs/devfs/base.c Wed May 10 10:20:16 2000
@@ -3431,11 +3431,8 @@
 void __init mount_devfs_fs (void)
 {
     int err;
- extern long do_sys_mount (char *dev_name, char *dir_name,
- char *type, int flags, void *data);
-
     if ( (boot_options & OPTION_NOMOUNT) ) return;
- err = do_sys_mount ("none", "/dev", "devfs", 0, "");
+ err = do_mount ("none", "/dev", "devfs", 0, "");
     if (err == 0) printk ("Mounted devfs on /dev\n");
     else printk ("Warning: unable to mount devfs, err: %d\n", err);
 } /* End Function mount_devfs_fs */
diff -urN -X dontdiff linux/fs/super.c domount/fs/super.c
--- linux/fs/super.c Tue May 9 08:40:26 2000
+++ domount/fs/super.c Wed May 10 10:22:31 2000
@@ -1186,7 +1186,7 @@
  * aren't used, as the syscall assumes we are talking to an older
  * version that didn't understand them.
  */
-long do_sys_mount(char * dev_name, char * dir_name, char *type_page,
+long do_mount(char * dev_name, char * dir_name, char *type_page,
                   unsigned long new_flags, void *data_page)
 {
         struct file_system_type * fstype;
@@ -1279,9 +1279,9 @@
                           unsigned long new_flags, void * data)
 {
         int retval;
- unsigned long data_page = 0;
- unsigned long type_page = 0;
- unsigned long dev_page = 0;
+ unsigned long data_page;
+ unsigned long type_page;
+ unsigned long dev_page;
         char *dir_page;
 
         lock_kernel();
@@ -1309,7 +1309,7 @@
                 goto out2;
         retval = copy_mount_options (data, &data_page);
         if (retval >= 0) {
- retval = do_sys_mount((char*)dev_page,dir_page,(char*)type_page,
+ retval = do_mount((char*)dev_page,dir_page,(char*)type_page,
                                       new_flags, (void*)data_page);
                 free_page(data_page);
         }
diff -urN -X dontdiff linux/include/linux/fs.h domount/include/linux/fs.h
--- linux/include/linux/fs.h Tue May 9 08:40:26 2000
+++ domount/include/linux/fs.h Wed May 10 10:22:37 2000
@@ -794,6 +794,8 @@
 extern struct vfsmount *kern_mount(struct file_system_type *);
 extern void kern_umount(struct vfsmount *);
 extern int may_umount(struct vfsmount *);
+extern long do_mount(char *, char *, char *, unsigned long, void *);
+
 
 extern int vfs_statfs(struct super_block *, struct statfs *);
 

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon May 15 2000 - 21:00:15 EST