svn commit: r216784 - in head/sys/fs: nfs nfsserver
Rick Macklem
rmacklem at FreeBSD.org
Tue Dec 28 23:50:14 UTC 2010
Author: rmacklem
Date: Tue Dec 28 23:50:13 2010
New Revision: 216784
URL: http://svn.freebsd.org/changeset/base/216784
Log:
Delete the nfsvno_localconflict() function in the experimental
NFS server since it is no longer used and is broken.
MFC after: 2 weeks
Modified:
head/sys/fs/nfs/nfs_var.h
head/sys/fs/nfsserver/nfs_nfsdport.c
Modified: head/sys/fs/nfs/nfs_var.h
==============================================================================
--- head/sys/fs/nfs/nfs_var.h Tue Dec 28 22:49:28 2010 (r216783)
+++ head/sys/fs/nfs/nfs_var.h Tue Dec 28 23:50:13 2010 (r216784)
@@ -569,8 +569,6 @@ int nfsvno_fhtovp(mount_t, fhandle_t *,
int nfsvno_pathconf(vnode_t, int, register_t *, struct ucred *,
NFSPROC_T *);
vnode_t nfsvno_getvp(fhandle_t *);
-int nfsvno_localconflict(vnode_t, int, u_int64_t, u_int64_t,
- struct nfslockconflict *, NFSPROC_T *);
int nfsvno_advlock(vnode_t, int, u_int64_t, u_int64_t, NFSPROC_T *);
void nfsvno_unlockvfs(mount_t);
int nfsvno_lockvfs(mount_t);
Modified: head/sys/fs/nfsserver/nfs_nfsdport.c
==============================================================================
--- head/sys/fs/nfsserver/nfs_nfsdport.c Tue Dec 28 22:49:28 2010 (r216783)
+++ head/sys/fs/nfsserver/nfs_nfsdport.c Tue Dec 28 23:50:13 2010 (r216784)
@@ -2781,66 +2781,6 @@ nfsvno_getvp(fhandle_t *fhp)
}
/*
- * Check to see it a byte range lock held by a process running
- * locally on the server conflicts with the new lock.
- */
-int
-nfsvno_localconflict(struct vnode *vp, int ftype, u_int64_t first,
- u_int64_t end, struct nfslockconflict *cfp, struct thread *td)
-{
- int error;
- struct flock fl;
-
- if (!nfsrv_dolocallocks)
- return (0);
- fl.l_whence = SEEK_SET;
- fl.l_type = ftype;
- fl.l_start = (off_t)first;
- if (end == NFS64BITSSET)
- fl.l_len = 0;
- else
- fl.l_len = (off_t)(end - first);
- /*
- * For FreeBSD8, the l_pid and l_sysid must be set to the same
- * values for all calls, so that all locks will be held by the
- * nfsd server. (The nfsd server handles conflicts between the
- * various clients.)
- * Since an NFSv4 lockowner is a ClientID plus an array of up to 1024
- * bytes, so it can't be put in l_sysid.
- */
- if (nfsv4_sysid == 0)
- nfsv4_sysid = nlm_acquire_next_sysid();
- fl.l_pid = (pid_t)0;
- fl.l_sysid = (int)nfsv4_sysid;
-
- NFSVOPUNLOCK(vp, 0, td);
- error = VOP_ADVLOCK(vp, (caddr_t)td->td_proc, F_GETLK, &fl,
- (F_POSIX | F_REMOTE));
- NFSVOPLOCK(vp, LK_EXCLUSIVE | LK_RETRY, td);
- if (error)
- return (error);
- if (fl.l_type == F_UNLCK)
- return (0);
- if (cfp != NULL) {
- cfp->cl_clientid.lval[0] = cfp->cl_clientid.lval[1] = 0;
- cfp->cl_first = (u_int64_t)fl.l_start;
- if (fl.l_len == 0)
- cfp->cl_end = NFS64BITSSET;
- else
- cfp->cl_end = (u_int64_t)
- (fl.l_start + fl.l_len);
- if (fl.l_type == F_WRLCK)
- cfp->cl_flags = NFSLCK_WRITE;
- else
- cfp->cl_flags = NFSLCK_READ;
- sprintf(cfp->cl_owner, "LOCALID%d", fl.l_pid);
- cfp->cl_ownerlen = strlen(cfp->cl_owner);
- return (NFSERR_DENIED);
- }
- return (NFSERR_INVAL);
-}
-
-/*
* Do a local VOP_ADVLOCK().
*/
int
More information about the svn-src-all
mailing list