Stop using shared locks for nfs vop locks.

The reason this was done was to avoid a race to the root when an
NFS server went down.  However a semi-recent change to the way that
the kernel's lookup() routine traverses mount points prevents this.

Rev 1.39 of vfs_lookup.c changed the ordering of locks such that we
aquire a shared lock on the mount point being accessed and then drop
the directory vnode lock before requesting the target lock.

With that in place we no longer need shared locks for NFS to prevent
race to the root lockups.
This commit is contained in:
Alfred Perlstein 2003-11-11 00:32:46 +00:00
parent 383df78dc8
commit b46b1a899f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=122450

View File

@ -149,7 +149,6 @@ static struct vnodeopv_entry_desc nfs_vnodeop_entries[] = {
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
{ &vop_lease_desc, (vop_t *) vop_null },
{ &vop_link_desc, (vop_t *) nfs_link },
{ &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 },
@ -183,7 +182,6 @@ static struct vnodeopv_entry_desc nfs_specop_entries[] = {
{ &vop_fsync_desc, (vop_t *) nfs_fsync },
{ &vop_getattr_desc, (vop_t *) nfs_getattr },
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
{ &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 },
@ -203,7 +201,6 @@ static struct vnodeopv_entry_desc nfs_fifoop_entries[] = {
{ &vop_fsync_desc, (vop_t *) nfs_fsync },
{ &vop_getattr_desc, (vop_t *) nfs_getattr },
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
{ &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 },