diff options
author | phk <phk@FreeBSD.org> | 1997-10-16 10:50:27 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1997-10-16 10:50:27 +0000 |
commit | d166441755d9516e482ede0d988b7989be25b10a (patch) | |
tree | ad2fb706565dc877eddf12a6581bfa2467513503 /sys/nfsclient | |
parent | efcfb5d9cd2ecb3d30ec4c7701bfe737dc1b4606 (diff) | |
download | FreeBSD-src-d166441755d9516e482ede0d988b7989be25b10a.zip FreeBSD-src-d166441755d9516e482ede0d988b7989be25b10a.tar.gz |
VFS mega cleanup commit (x/N)
1. Add new file "sys/kern/vfs_default.c" where default actions for
VOPs go. Implement proper defaults for ABORTOP, BWRITE, LEASE,
POLL, REVOKE and STRATEGY. Various stuff spread over the entire
tree belongs here.
2. Change VOP_BLKATOFF to a normal function in cd9660.
3. Kill VOP_BLKATOFF, VOP_TRUNCATE, VOP_VFREE, VOP_VALLOC. These
are private interface functions between UFS and the underlying
storage manager layer (FFS/LFS/MFS/EXT2FS). The functions now
live in struct ufsmount instead.
4. Remove a kludge of VOP_ functions in all filesystems, that did
nothing but obscure the simplicity and break the expandability.
If a filesystem doesn't implement VOP_FOO, it shouldn't have an
entry for it in its vnops table. The system will try to DTRT
if it is not implemented. There are still some cruft left, but
the bulk of it is done.
5. Fix another VCALL in vfs_cache.c (thanks Bruce!)
Diffstat (limited to 'sys/nfsclient')
-rw-r--r-- | sys/nfsclient/nfs_vnops.c | 27 | ||||
-rw-r--r-- | sys/nfsclient/nfsnode.h | 8 |
2 files changed, 13 insertions, 22 deletions
diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c index 6585607..53e65ea 100644 --- a/sys/nfsclient/nfs_vnops.c +++ b/sys/nfsclient/nfs_vnops.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95 - * $Id: nfs_vnops.c,v 1.65 1997/10/15 10:05:10 phk Exp $ + * $Id: nfs_vnops.c,v 1.66 1997/10/15 13:23:35 phk Exp $ */ @@ -148,10 +148,10 @@ static struct vnodeopv_entry_desc nfsv2_vnodeop_entries[] = { { &vop_getpages_desc, (vop_t *) nfs_getpages }, { &vop_inactive_desc, (vop_t *) nfs_inactive }, { &vop_ioctl_desc, (vop_t *) nfs_ioctl }, - { &vop_islocked_desc, (vop_t *) nfs_islocked }, - { &vop_lease_desc, (vop_t *) nfs_lease_check }, + { &vop_islocked_desc, (vop_t *) vop_noislocked }, + { &vop_lease_desc, (vop_t *) nullop }, { &vop_link_desc, (vop_t *) nfs_link }, - { &vop_lock_desc, (vop_t *) nfs_lock }, + { &vop_lock_desc, (vop_t *) vop_sharedlock }, { &vop_lookup_desc, (vop_t *) nfs_lookup }, { &vop_mkdir_desc, (vop_t *) nfs_mkdir }, { &vop_mknod_desc, (vop_t *) nfs_mknod }, @@ -166,13 +166,12 @@ static struct vnodeopv_entry_desc nfsv2_vnodeop_entries[] = { { &vop_reclaim_desc, (vop_t *) nfs_reclaim }, { &vop_remove_desc, (vop_t *) nfs_remove }, { &vop_rename_desc, (vop_t *) nfs_rename }, - { &vop_revoke_desc, (vop_t *) nfs_revoke }, { &vop_rmdir_desc, (vop_t *) nfs_rmdir }, - { &vop_seek_desc, (vop_t *) nfs_seek }, + { &vop_seek_desc, (vop_t *) nullop }, { &vop_setattr_desc, (vop_t *) nfs_setattr }, { &vop_strategy_desc, (vop_t *) nfs_strategy }, { &vop_symlink_desc, (vop_t *) nfs_symlink }, - { &vop_unlock_desc, (vop_t *) nfs_unlock }, + { &vop_unlock_desc, (vop_t *) vop_nounlock }, { &vop_write_desc, (vop_t *) nfs_write }, { NULL, NULL } }; @@ -187,18 +186,17 @@ vop_t **spec_nfsv2nodeop_p; static struct vnodeopv_entry_desc spec_nfsv2nodeop_entries[] = { { &vop_default_desc, (vop_t *) spec_vnoperate }, { &vop_access_desc, (vop_t *) nfsspec_access }, - { &vop_bwrite_desc, (vop_t *) vn_bwrite }, { &vop_close_desc, (vop_t *) nfsspec_close }, { &vop_fsync_desc, (vop_t *) nfs_fsync }, { &vop_getattr_desc, (vop_t *) nfs_getattr }, { &vop_inactive_desc, (vop_t *) nfs_inactive }, - { &vop_islocked_desc, (vop_t *) nfs_islocked }, - { &vop_lock_desc, (vop_t *) nfs_lock }, + { &vop_islocked_desc, (vop_t *) vop_noislocked }, + { &vop_lock_desc, (vop_t *) vop_sharedlock }, { &vop_print_desc, (vop_t *) nfs_print }, { &vop_read_desc, (vop_t *) nfsspec_read }, { &vop_reclaim_desc, (vop_t *) nfs_reclaim }, { &vop_setattr_desc, (vop_t *) nfs_setattr }, - { &vop_unlock_desc, (vop_t *) nfs_unlock }, + { &vop_unlock_desc, (vop_t *) vop_nounlock }, { &vop_write_desc, (vop_t *) nfsspec_write }, { NULL, NULL } }; @@ -210,18 +208,17 @@ vop_t **fifo_nfsv2nodeop_p; static struct vnodeopv_entry_desc fifo_nfsv2nodeop_entries[] = { { &vop_default_desc, (vop_t *) fifo_vnoperate }, { &vop_access_desc, (vop_t *) nfsspec_access }, - { &vop_bwrite_desc, (vop_t *) vn_bwrite }, { &vop_close_desc, (vop_t *) nfsfifo_close }, { &vop_fsync_desc, (vop_t *) nfs_fsync }, { &vop_getattr_desc, (vop_t *) nfs_getattr }, { &vop_inactive_desc, (vop_t *) nfs_inactive }, - { &vop_islocked_desc, (vop_t *) nfs_islocked }, - { &vop_lock_desc, (vop_t *) nfs_lock }, + { &vop_islocked_desc, (vop_t *) vop_noislocked }, + { &vop_lock_desc, (vop_t *) vop_sharedlock }, { &vop_print_desc, (vop_t *) nfs_print }, { &vop_read_desc, (vop_t *) nfsfifo_read }, { &vop_reclaim_desc, (vop_t *) nfs_reclaim }, { &vop_setattr_desc, (vop_t *) nfs_setattr }, - { &vop_unlock_desc, (vop_t *) nfs_unlock }, + { &vop_unlock_desc, (vop_t *) vop_nounlock }, { &vop_write_desc, (vop_t *) nfsfifo_write }, { NULL, NULL } }; diff --git a/sys/nfsclient/nfsnode.h b/sys/nfsclient/nfsnode.h index 38686ff..880b356 100644 --- a/sys/nfsclient/nfsnode.h +++ b/sys/nfsclient/nfsnode.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfsnode.h 8.9 (Berkeley) 5/14/95 - * $Id: nfsnode.h,v 1.21 1997/05/19 14:36:51 dfr Exp $ + * $Id: nfsnode.h,v 1.22 1997/10/15 07:42:34 phk Exp $ */ @@ -163,16 +163,10 @@ extern vop_t **spec_nfsv2nodeop_p; */ int nfs_getpages __P((struct vop_getpages_args *)); int nfs_write __P((struct vop_write_args *)); -#define nfs_lease_check ((int (*) __P((struct vop_lease_args *)))nullop) int nqnfs_vop_lease_check __P((struct vop_lease_args *)); -#define nfs_revoke vop_revoke -#define nfs_seek ((int (*) __P((struct vop_seek_args *)))nullop) int nfs_abortop __P((struct vop_abortop_args *)); int nfs_inactive __P((struct vop_inactive_args *)); int nfs_reclaim __P((struct vop_reclaim_args *)); -#define nfs_lock ((int (*) __P((struct vop_lock_args *)))vop_sharedlock) -#define nfs_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock) -#define nfs_islocked ((int (*) __P((struct vop_islocked_args *)))vop_noislocked) /* other stuff */ int nfs_removeit __P((struct sillyrename *)); |