mknod must do an abortop and return an error;
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Wed, 1 Nov 1989 08:03:30 +0000 (00:03 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Wed, 1 Nov 1989 08:03:30 +0000 (00:03 -0800)
must pass reference to vnode pointer to nfs_loadattrcache so it can be updated

SCCS-vsn: sys/nfs/nfs_vnops.c 7.11

usr/src/sys/nfs/nfs_vnops.c

index 7484278..4167e3f 100644 (file)
@@ -17,7 +17,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- *     @(#)nfs_vnops.c 7.10 (Berkeley) %G%
+ *     @(#)nfs_vnops.c 7.11 (Berkeley) %G%
  */
 
 /*
  */
 
 /*
@@ -60,6 +60,7 @@
 /* Global vars */
 int    nfs_lookup(),
        nfs_create(),
 /* Global vars */
 int    nfs_lookup(),
        nfs_create(),
+       nfs_mknod(),
        nfs_open(),
        nfs_close(),
        nfs_access(),
        nfs_open(),
        nfs_close(),
        nfs_access(),
@@ -89,7 +90,7 @@ int   nfs_lookup(),
 struct vnodeops nfsv2_vnodeops = {
        nfs_lookup,
        nfs_create,
 struct vnodeops nfsv2_vnodeops = {
        nfs_lookup,
        nfs_create,
-       vfs_noop,
+       nfs_mknod,
        nfs_open,
        nfs_close,
        nfs_access,
        nfs_open,
        nfs_close,
        nfs_access,
@@ -101,7 +102,7 @@ struct vnodeops nfsv2_vnodeops = {
        vfs_noop,
        vfs_noop,
        nfs_fsync,
        vfs_noop,
        vfs_noop,
        nfs_fsync,
-       vfs_noop,
+       vfs_nullop,
        nfs_remove,
        nfs_link,
        nfs_rename,
        nfs_remove,
        nfs_link,
        nfs_rename,
@@ -439,7 +440,8 @@ nfsmout:
                        }
                        newvp = NFSTOV(np);
                }
                        }
                        newvp = NFSTOV(np);
                }
-               if (error = nfs_loadattrcache(newvp, &md, &dpos, (struct vattr *)0)) {
+               if (error =
+                   nfs_loadattrcache(&newvp, &md, &dpos, (struct vattr *)0)) {
                        if (newvp != vp)
                                nfs_nput(newvp);
                        else
                        if (newvp != vp)
                                nfs_nput(newvp);
                        else
@@ -464,7 +466,8 @@ nfsmout:
                        return (error);
                }
                newvp = NFSTOV(np);
                        return (error);
                }
                newvp = NFSTOV(np);
-               if (error = nfs_loadattrcache(newvp, &md, &dpos, (struct vattr *)0)) {
+               if (error =
+                   nfs_loadattrcache(&newvp, &md, &dpos, (struct vattr *)0)) {
                        nfs_nput(newvp);
                        m_freem(mrep);
                        return (error);
                        nfs_nput(newvp);
                        m_freem(mrep);
                        return (error);
@@ -495,7 +498,7 @@ nfsmout:
                }
                newvp = NFSTOV(np);
        }
                }
                newvp = NFSTOV(np);
        }
-       if (error = nfs_loadattrcache(newvp, &md, &dpos, (struct vattr *)0)) {
+       if (error = nfs_loadattrcache(&newvp, &md, &dpos, (struct vattr *)0)) {
                if (newvp != vp)
                        nfs_nput(newvp);
                else
                if (newvp != vp)
                        nfs_nput(newvp);
                else
@@ -608,6 +611,21 @@ nfsmout:
        return (error);
 }
 
        return (error);
 }
 
+/*
+ * nfs mknod call
+ * This call is currently not supported.
+ */
+/* ARGSUSED */
+nfs_mknod(ndp, vap, cred)
+       struct nameidata *ndp;
+       struct ucred *cred;
+       struct vattr *vap;
+{
+
+       nfs_abortop(ndp);
+       return (EOPNOTSUPP);
+}
+
 /*
  * nfs file create call
  */
 /*
  * nfs file create call
  */