Module Name: src Committed By: christos Date: Sun Mar 27 17:10:56 UTC 2022
Modified Files: src/sys/fs/adosfs: advnops.c src/sys/fs/cd9660: cd9660_node.h cd9660_vnops.c src/sys/fs/filecorefs: filecore_node.h filecore_vnops.c src/sys/miscfs/fdesc: fdesc_vnops.c src/sys/miscfs/genfs: genfs.h genfs_vnops.c src/sys/miscfs/kernfs: kernfs_vnops.c src/sys/miscfs/procfs: procfs_vnops.c Log Message: dedup the eofs link/symlink methods To generate a diff of this commit: cvs rdiff -u -r1.57 -r1.58 src/sys/fs/adosfs/advnops.c cvs rdiff -u -r1.17 -r1.18 src/sys/fs/cd9660/cd9660_node.h cvs rdiff -u -r1.61 -r1.62 src/sys/fs/cd9660/cd9660_vnops.c cvs rdiff -u -r1.7 -r1.8 src/sys/fs/filecorefs/filecore_node.h cvs rdiff -u -r1.49 -r1.50 src/sys/fs/filecorefs/filecore_vnops.c cvs rdiff -u -r1.139 -r1.140 src/sys/miscfs/fdesc/fdesc_vnops.c cvs rdiff -u -r1.38 -r1.39 src/sys/miscfs/genfs/genfs.h cvs rdiff -u -r1.218 -r1.219 src/sys/miscfs/genfs/genfs_vnops.c cvs rdiff -u -r1.173 -r1.174 src/sys/miscfs/kernfs/kernfs_vnops.c cvs rdiff -u -r1.227 -r1.228 src/sys/miscfs/procfs/procfs_vnops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/fs/adosfs/advnops.c diff -u src/sys/fs/adosfs/advnops.c:1.57 src/sys/fs/adosfs/advnops.c:1.58 --- src/sys/fs/adosfs/advnops.c:1.57 Sun Jul 18 19:57:13 2021 +++ src/sys/fs/adosfs/advnops.c Sun Mar 27 13:10:55 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: advnops.c,v 1.57 2021/07/18 23:57:13 dholland Exp $ */ +/* $NetBSD: advnops.c,v 1.58 2022/03/27 17:10:55 christos Exp $ */ /* * Copyright (c) 1994 Christian E. Hopps @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: advnops.c,v 1.57 2021/07/18 23:57:13 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: advnops.c,v 1.58 2022/03/27 17:10:55 christos Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -61,8 +61,6 @@ int adosfs_getattr(void *); int adosfs_read(void *); int adosfs_write(void *); int adosfs_strategy(void *); -int adosfs_link(void *); -int adosfs_symlink(void *); int adosfs_bmap(void *); int adosfs_print(void *); int adosfs_readdir(void *); @@ -97,11 +95,11 @@ const struct vnodeopv_entry_desc adosfs_ { &vop_fsync_desc, genfs_nullop }, /* fsync */ { &vop_seek_desc, genfs_seek }, /* seek */ { &vop_remove_desc, genfs_eopnotsupp }, /* remove */ - { &vop_link_desc, adosfs_link }, /* link */ + { &vop_link_desc, genfs_erofs_link }, /* link */ { &vop_rename_desc, genfs_eopnotsupp }, /* rename */ { &vop_mkdir_desc, genfs_eopnotsupp }, /* mkdir */ { &vop_rmdir_desc, genfs_eopnotsupp }, /* rmdir */ - { &vop_symlink_desc, adosfs_symlink }, /* symlink */ + { &vop_symlink_desc, genfs_erofs_symlink }, /* symlink */ { &vop_readdir_desc, adosfs_readdir }, /* readdir */ { &vop_readlink_desc, adosfs_readlink }, /* readlink */ { &vop_abortop_desc, genfs_abortop }, /* abortop */ @@ -387,34 +385,6 @@ reterr: return(error); } -int -adosfs_link(void *v) -{ - struct vop_link_v2_args /* { - struct vnode *a_dvp; - struct vnode *a_vp; - struct componentname *a_cnp; - } */ *ap = v; - - VOP_ABORTOP(ap->a_dvp, ap->a_cnp); - return (EROFS); -} - -int -adosfs_symlink(void *v) -{ - struct vop_symlink_v3_args /* { - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - struct vattr *a_vap; - char *a_target; - } */ *ap = v; - - VOP_ABORTOP(ap->a_dvp, ap->a_cnp); - return (EROFS); -} - /* * Wait until the vnode has finished changing state. */ Index: src/sys/fs/cd9660/cd9660_node.h diff -u src/sys/fs/cd9660/cd9660_node.h:1.17 src/sys/fs/cd9660/cd9660_node.h:1.18 --- src/sys/fs/cd9660/cd9660_node.h:1.17 Sun Jul 18 19:57:13 2021 +++ src/sys/fs/cd9660/cd9660_node.h Sun Mar 27 13:10:55 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: cd9660_node.h,v 1.17 2021/07/18 23:57:13 dholland Exp $ */ +/* $NetBSD: cd9660_node.h,v 1.18 2022/03/27 17:10:55 christos Exp $ */ /*- * Copyright (c) 1994 @@ -104,8 +104,6 @@ int cd9660_readdir(void *); int cd9660_readlink(void *); int cd9660_inactive(void *); int cd9660_reclaim(void *); -int cd9660_link(void *); -int cd9660_symlink(void *); int cd9660_bmap(void *); int cd9660_lock(void *); int cd9660_unlock(void *); Index: src/sys/fs/cd9660/cd9660_vnops.c diff -u src/sys/fs/cd9660/cd9660_vnops.c:1.61 src/sys/fs/cd9660/cd9660_vnops.c:1.62 --- src/sys/fs/cd9660/cd9660_vnops.c:1.61 Sun Jul 18 21:30:24 2021 +++ src/sys/fs/cd9660/cd9660_vnops.c Sun Mar 27 13:10:55 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: cd9660_vnops.c,v 1.61 2021/07/19 01:30:24 dholland Exp $ */ +/* $NetBSD: cd9660_vnops.c,v 1.62 2022/03/27 17:10:55 christos Exp $ */ /*- * Copyright (c) 1994 @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: cd9660_vnops.c,v 1.61 2021/07/19 01:30:24 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cd9660_vnops.c,v 1.62 2022/03/27 17:10:55 christos Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -662,34 +662,6 @@ cd9660_readlink(void *v) return (0); } -int -cd9660_link(void *v) -{ - struct vop_link_v2_args /* { - struct vnode *a_dvp; - struct vnode *a_vp; - struct componentname *a_cnp; - } */ *ap = v; - - VOP_ABORTOP(ap->a_dvp, ap->a_cnp); - return (EROFS); -} - -int -cd9660_symlink(void *v) -{ - struct vop_symlink_v3_args /* { - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - struct vattr *a_vap; - char *a_target; - } */ *ap = v; - - VOP_ABORTOP(ap->a_dvp, ap->a_cnp); - return (EROFS); -} - /* * Calculate the logical to physical mapping if not done already, * then call the device strategy routine. @@ -856,11 +828,11 @@ const struct vnodeopv_entry_desc cd9660_ { &vop_fsync_desc, genfs_nullop }, /* fsync */ { &vop_seek_desc, genfs_seek }, /* seek */ { &vop_remove_desc, genfs_eopnotsupp }, /* remove */ - { &vop_link_desc, cd9660_link }, /* link */ + { &vop_link_desc, genfs_erofs_link }, /* link */ { &vop_rename_desc, genfs_eopnotsupp }, /* rename */ { &vop_mkdir_desc, genfs_eopnotsupp }, /* mkdir */ { &vop_rmdir_desc, genfs_eopnotsupp }, /* rmdir */ - { &vop_symlink_desc, cd9660_symlink }, /* symlink */ + { &vop_symlink_desc, genfs_erofs_symlink }, /* symlink */ { &vop_readdir_desc, cd9660_readdir }, /* readdir */ { &vop_readlink_desc, cd9660_readlink }, /* readlink */ { &vop_abortop_desc, genfs_abortop }, /* abortop */ Index: src/sys/fs/filecorefs/filecore_node.h diff -u src/sys/fs/filecorefs/filecore_node.h:1.7 src/sys/fs/filecorefs/filecore_node.h:1.8 --- src/sys/fs/filecorefs/filecore_node.h:1.7 Sun Jul 18 19:57:14 2021 +++ src/sys/fs/filecorefs/filecore_node.h Sun Mar 27 13:10:55 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: filecore_node.h,v 1.7 2021/07/18 23:57:14 dholland Exp $ */ +/* $NetBSD: filecore_node.h,v 1.8 2022/03/27 17:10:55 christos Exp $ */ /*- * Copyright (c) 1994 The Regents of the University of California. @@ -119,8 +119,6 @@ int filecore_readdir(void *); int filecore_readlink(void *); int filecore_inactive(void *); int filecore_reclaim(void *); -int filecore_link(void *); -int filecore_symlink(void *); int filecore_bmap(void *); int filecore_strategy(void *); int filecore_print(void *); Index: src/sys/fs/filecorefs/filecore_vnops.c diff -u src/sys/fs/filecorefs/filecore_vnops.c:1.49 src/sys/fs/filecorefs/filecore_vnops.c:1.50 --- src/sys/fs/filecorefs/filecore_vnops.c:1.49 Sun Jul 18 19:57:14 2021 +++ src/sys/fs/filecorefs/filecore_vnops.c Sun Mar 27 13:10:55 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: filecore_vnops.c,v 1.49 2021/07/18 23:57:14 dholland Exp $ */ +/* $NetBSD: filecore_vnops.c,v 1.50 2022/03/27 17:10:55 christos Exp $ */ /*- * Copyright (c) 1994 The Regents of the University of California. @@ -66,7 +66,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: filecore_vnops.c,v 1.49 2021/07/18 23:57:14 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: filecore_vnops.c,v 1.50 2022/03/27 17:10:55 christos Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -416,34 +416,6 @@ filecore_readlink(void *v) return (EINVAL); } -int -filecore_link(void *v) -{ - struct vop_link_v2_args /* { - struct vnode *a_dvp; - struct vnode *a_vp; - struct componentname *a_cnp; - } */ *ap = v; - - VOP_ABORTOP(ap->a_dvp, ap->a_cnp); - return (EROFS); -} - -int -filecore_symlink(void *v) -{ - struct vop_symlink_v3_args /* { - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - struct vattr *a_vap; - char *a_target; - } */ *ap = v; - - VOP_ABORTOP(ap->a_dvp, ap->a_cnp); - return (EROFS); -} - /* * Calculate the logical to physical mapping if not done already, * then call the device strategy routine. @@ -559,11 +531,11 @@ const struct vnodeopv_entry_desc filecor { &vop_fsync_desc, genfs_nullop }, /* fsync */ { &vop_seek_desc, genfs_seek }, /* seek */ { &vop_remove_desc, genfs_eopnotsupp }, /* remove */ - { &vop_link_desc, filecore_link }, /* link */ + { &vop_link_desc, genfs_erofs_link }, /* link */ { &vop_rename_desc, genfs_eopnotsupp }, /* rename */ { &vop_mkdir_desc, genfs_eopnotsupp }, /* mkdir */ { &vop_rmdir_desc, genfs_eopnotsupp }, /* rmdir */ - { &vop_symlink_desc, filecore_symlink }, /* symlink */ + { &vop_symlink_desc, genfs_erofs_symlink }, /* symlink */ { &vop_readdir_desc, filecore_readdir }, /* readdir */ { &vop_readlink_desc, filecore_readlink }, /* readlink */ { &vop_abortop_desc, genfs_abortop }, /* abortop */ Index: src/sys/miscfs/fdesc/fdesc_vnops.c diff -u src/sys/miscfs/fdesc/fdesc_vnops.c:1.139 src/sys/miscfs/fdesc/fdesc_vnops.c:1.140 --- src/sys/miscfs/fdesc/fdesc_vnops.c:1.139 Sat Jan 15 14:33:58 2022 +++ src/sys/miscfs/fdesc/fdesc_vnops.c Sun Mar 27 13:10:55 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: fdesc_vnops.c,v 1.139 2022/01/15 19:33:58 riastradh Exp $ */ +/* $NetBSD: fdesc_vnops.c,v 1.140 2022/03/27 17:10:55 christos Exp $ */ /* * Copyright (c) 1992, 1993 @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: fdesc_vnops.c,v 1.139 2022/01/15 19:33:58 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fdesc_vnops.c,v 1.140 2022/03/27 17:10:55 christos Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -83,8 +83,6 @@ int fdesc_write(void *); int fdesc_ioctl(void *); int fdesc_poll(void *); int fdesc_kqfilter(void *); -int fdesc_link(void *); -int fdesc_symlink(void *); int fdesc_readdir(void *); int fdesc_readlink(void *); int fdesc_inactive(void *); @@ -120,11 +118,11 @@ const struct vnodeopv_entry_desc fdesc_v { &vop_fsync_desc, genfs_nullop }, /* fsync */ { &vop_seek_desc, genfs_seek }, /* seek */ { &vop_remove_desc, genfs_eopnotsupp }, /* remove */ - { &vop_link_desc, fdesc_link }, /* link */ + { &vop_link_desc, genfs_erofs_link }, /* link */ { &vop_rename_desc, genfs_eopnotsupp }, /* rename */ { &vop_mkdir_desc, genfs_eopnotsupp }, /* mkdir */ { &vop_rmdir_desc, genfs_eopnotsupp }, /* rmdir */ - { &vop_symlink_desc, fdesc_symlink }, /* symlink */ + { &vop_symlink_desc, genfs_erofs_symlink }, /* symlink */ { &vop_readdir_desc, fdesc_readdir }, /* readdir */ { &vop_readlink_desc, fdesc_readlink }, /* readlink */ { &vop_abortop_desc, genfs_abortop }, /* abortop */ @@ -912,31 +910,3 @@ fdesc_print(void *v) printf("tag VT_NON, fdesc vnode\n"); return (0); } - -int -fdesc_link(void *v) -{ - struct vop_link_v2_args /* { - struct vnode *a_dvp; - struct vnode *a_vp; - struct componentname *a_cnp; - } */ *ap = v; - - VOP_ABORTOP(ap->a_dvp, ap->a_cnp); - return (EROFS); -} - -int -fdesc_symlink(void *v) -{ - struct vop_symlink_v3_args /* { - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - struct vattr *a_vap; - char *a_target; - } */ *ap = v; - - VOP_ABORTOP(ap->a_dvp, ap->a_cnp); - return (EROFS); -} Index: src/sys/miscfs/genfs/genfs.h diff -u src/sys/miscfs/genfs/genfs.h:1.38 src/sys/miscfs/genfs/genfs.h:1.39 --- src/sys/miscfs/genfs/genfs.h:1.38 Tue Oct 19 23:08:18 2021 +++ src/sys/miscfs/genfs/genfs.h Sun Mar 27 13:10:55 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: genfs.h,v 1.38 2021/10/20 03:08:18 thorpej Exp $ */ +/* $NetBSD: genfs.h,v 1.39 2022/03/27 17:10:55 christos Exp $ */ #ifndef _MISCFS_GENFS_GENFS_H_ #define _MISCFS_GENFS_GENFS_H_ @@ -18,6 +18,8 @@ int genfs_enoioctl(void *); int genfs_enoextops(void *); int genfs_einval(void *); int genfs_eopnotsupp(void *); +int genfs_erofs_link(void *); +#define genfs_erofs_symlink genfs_erofs_link int genfs_ebadf(void *); int genfs_nolock(void *); int genfs_noislocked(void *); Index: src/sys/miscfs/genfs/genfs_vnops.c diff -u src/sys/miscfs/genfs/genfs_vnops.c:1.218 src/sys/miscfs/genfs/genfs_vnops.c:1.219 --- src/sys/miscfs/genfs/genfs_vnops.c:1.218 Sun Mar 27 12:23:08 2022 +++ src/sys/miscfs/genfs/genfs_vnops.c Sun Mar 27 13:10:55 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: genfs_vnops.c,v 1.218 2022/03/27 16:23:08 christos Exp $ */ +/* $NetBSD: genfs_vnops.c,v 1.219 2022/03/27 17:10:55 christos Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -57,7 +57,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: genfs_vnops.c,v 1.218 2022/03/27 16:23:08 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: genfs_vnops.c,v 1.219 2022/03/27 17:10:55 christos Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -192,6 +192,20 @@ genfs_einval(void *v) return (EINVAL); } +int +genfs_erofs_link(void *v) +{ + /* also for symlink */ + struct vop_link_v2_args /* { + struct vnode *a_dvp; + struct vnode **a_vpp; + struct componentname *a_cnp; + } */ *ap = v; + + VOP_ABORTOP(ap->a_dvp, ap->a_cnp); + return EROFS; +} + /* * Called when an fs doesn't support a particular vop. * This takes care to vrele, vput, or vunlock passed in vnodes Index: src/sys/miscfs/kernfs/kernfs_vnops.c diff -u src/sys/miscfs/kernfs/kernfs_vnops.c:1.173 src/sys/miscfs/kernfs/kernfs_vnops.c:1.174 --- src/sys/miscfs/kernfs/kernfs_vnops.c:1.173 Sat Mar 12 12:36:14 2022 +++ src/sys/miscfs/kernfs/kernfs_vnops.c Sun Mar 27 13:10:56 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: kernfs_vnops.c,v 1.173 2022/03/12 17:36:14 riastradh Exp $ */ +/* $NetBSD: kernfs_vnops.c,v 1.174 2022/03/27 17:10:56 christos Exp $ */ /* * Copyright (c) 1992, 1993 @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kernfs_vnops.c,v 1.173 2022/03/12 17:36:14 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kernfs_vnops.c,v 1.174 2022/03/27 17:10:56 christos Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -145,8 +145,6 @@ int kernfs_setattr(void *); int kernfs_read(void *); int kernfs_write(void *); int kernfs_ioctl(void *); -int kernfs_link(void *); -int kernfs_symlink(void *); int kernfs_readdir(void *); int kernfs_inactive(void *); int kernfs_reclaim(void *); @@ -183,11 +181,11 @@ const struct vnodeopv_entry_desc kernfs_ { &vop_fsync_desc, genfs_nullop }, /* fsync */ { &vop_seek_desc, genfs_nullop }, /* seek */ { &vop_remove_desc, genfs_eopnotsupp }, /* remove */ - { &vop_link_desc, kernfs_link }, /* link */ + { &vop_link_desc, genfs_erofs_link }, /* link */ { &vop_rename_desc, genfs_eopnotsupp }, /* rename */ { &vop_mkdir_desc, genfs_eopnotsupp }, /* mkdir */ { &vop_rmdir_desc, genfs_eopnotsupp }, /* rmdir */ - { &vop_symlink_desc, kernfs_symlink }, /* symlink */ + { &vop_symlink_desc, genfs_erofs_symlink }, /* symlink */ { &vop_readdir_desc, kernfs_readdir }, /* readdir */ { &vop_readlink_desc, genfs_eopnotsupp }, /* readlink */ { &vop_abortop_desc, genfs_abortop }, /* abortop */ @@ -1146,34 +1144,6 @@ kernfs_print(void *v) } int -kernfs_link(void *v) -{ - struct vop_link_v2_args /* { - struct vnode *a_dvp; - struct vnode *a_vp; - struct componentname *a_cnp; - } */ *ap = v; - - VOP_ABORTOP(ap->a_dvp, ap->a_cnp); - return (EROFS); -} - -int -kernfs_symlink(void *v) -{ - struct vop_symlink_v3_args /* { - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - struct vattr *a_vap; - char *a_target; - } */ *ap = v; - - VOP_ABORTOP(ap->a_dvp, ap->a_cnp); - return (EROFS); -} - -int kernfs_getpages(void *v) { struct vop_getpages_args /* { Index: src/sys/miscfs/procfs/procfs_vnops.c diff -u src/sys/miscfs/procfs/procfs_vnops.c:1.227 src/sys/miscfs/procfs/procfs_vnops.c:1.228 --- src/sys/miscfs/procfs/procfs_vnops.c:1.227 Mon Jan 17 06:20:00 2022 +++ src/sys/miscfs/procfs/procfs_vnops.c Sun Mar 27 13:10:56 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: procfs_vnops.c,v 1.227 2022/01/17 11:20:00 bouyer Exp $ */ +/* $NetBSD: procfs_vnops.c,v 1.228 2022/03/27 17:10:56 christos Exp $ */ /*- * Copyright (c) 2006, 2007, 2008, 2020 The NetBSD Foundation, Inc. @@ -105,7 +105,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: procfs_vnops.c,v 1.227 2022/01/17 11:20:00 bouyer Exp $"); +__KERNEL_RCSID(0, "$NetBSD: procfs_vnops.c,v 1.228 2022/03/27 17:10:56 christos Exp $"); #include <sys/param.h> #include <sys/atomic.h> @@ -213,8 +213,6 @@ int procfs_close(void *); int procfs_access(void *); int procfs_getattr(void *); int procfs_setattr(void *); -int procfs_link(void *); -int procfs_symlink(void *); int procfs_readdir(void *); int procfs_readlink(void *); int procfs_inactive(void *); @@ -254,11 +252,11 @@ const struct vnodeopv_entry_desc procfs_ { &vop_fsync_desc, genfs_nullop }, /* fsync */ { &vop_seek_desc, genfs_nullop }, /* seek */ { &vop_remove_desc, genfs_eopnotsupp }, /* remove */ - { &vop_link_desc, procfs_link }, /* link */ + { &vop_link_desc, genfs_erofs_link }, /* link */ { &vop_rename_desc, genfs_eopnotsupp }, /* rename */ { &vop_mkdir_desc, genfs_eopnotsupp }, /* mkdir */ { &vop_rmdir_desc, genfs_eopnotsupp }, /* rmdir */ - { &vop_symlink_desc, procfs_symlink }, /* symlink */ + { &vop_symlink_desc, genfs_erofs_symlink }, /* symlink */ { &vop_readdir_desc, procfs_readdir }, /* readdir */ { &vop_readlink_desc, procfs_readlink }, /* readlink */ { &vop_abortop_desc, genfs_abortop }, /* abortop */ @@ -501,34 +499,6 @@ procfs_print(void *v) return 0; } -int -procfs_link(void *v) -{ - struct vop_link_v2_args /* { - struct vnode *a_dvp; - struct vnode *a_vp; - struct componentname *a_cnp; - } */ *ap = v; - - VOP_ABORTOP(ap->a_dvp, ap->a_cnp); - return (EROFS); -} - -int -procfs_symlink(void *v) -{ - struct vop_symlink_v3_args /* { - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - struct vattr *a_vap; - char *a_target; - } */ *ap = v; - - VOP_ABORTOP(ap->a_dvp, ap->a_cnp); - return (EROFS); -} - /* * Works out the path to the target process's current * working directory or chroot. If the caller is in a chroot and