summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1997-10-16 10:50:27 +0000
committerphk <phk@FreeBSD.org>1997-10-16 10:50:27 +0000
commitd166441755d9516e482ede0d988b7989be25b10a (patch)
treead2fb706565dc877eddf12a6581bfa2467513503 /sys/nfsclient
parentefcfb5d9cd2ecb3d30ec4c7701bfe737dc1b4606 (diff)
downloadFreeBSD-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.c27
-rw-r--r--sys/nfsclient/nfsnode.h8
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 *));
OpenPOWER on IntegriCloud