fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / fs / nfsctl.c
index 12472dd..c043136 100644 (file)
@@ -4,7 +4,7 @@
  *     This should eventually move to userland.
  *
  */
-#include <linux/config.h>
+#include <linux/types.h>
 #include <linux/file.h>
 #include <linux/fs.h>
 #include <linux/sunrpc/svc.h>
@@ -13,6 +13,7 @@
 #include <linux/linkage.h>
 #include <linux/namei.h>
 #include <linux/mount.h>
+#include <linux/syscalls.h>
 #include <asm/uaccess.h>
 
 /*
@@ -32,6 +33,7 @@ static struct file *do_open(char *name, int flags)
        nd.dentry = dget(nd.mnt->mnt_root);
        nd.last_type = LAST_ROOT;
        nd.flags = 0;
+       nd.depth = 0;
 
        error = path_walk(name, &nd);
        if (error)
@@ -95,12 +97,10 @@ asmlinkage sys_nfsservctl(int cmd, struct nfsctl_arg __user *arg, void __user *r
        if (copy_from_user(&version, &arg->ca_version, sizeof(int)))
                return -EFAULT;
 
-       if (version != NFSCTL_VERSION) {
-               printk(KERN_WARNING "nfsd: incompatible version in syscall.\n");
+       if (version != NFSCTL_VERSION)
                return -EINVAL;
-       }
 
-       if (cmd < 0 || cmd >= sizeof(map)/sizeof(map[0]) || !map[cmd].name)
+       if (cmd < 0 || cmd >= ARRAY_SIZE(map) || !map[cmd].name)
                return -EINVAL;
 
        file = do_open(map[cmd].name, map[cmd].rsize ? O_RDWR : O_WRONLY);