head	1.4;
access;
symbols
	RELENG_8_4:1.4.0.2
	RELENG_9_1_0_RELEASE:1.3.2.1.4.2
	RELENG_9_1:1.3.2.1.0.4
	RELENG_9_1_BP:1.3.2.1
	RELENG_8_3_0_RELEASE:1.2.6.1.8.1
	RELENG_8_3:1.2.6.1.0.8
	RELENG_8_3_BP:1.2.6.1
	RELENG_9_0_0_RELEASE:1.3.2.1.2.1
	RELENG_9_0:1.3.2.1.0.2
	RELENG_9_0_BP:1.3.2.1
	RELENG_9:1.3.0.2
	RELENG_9_BP:1.3
	RELENG_7_4_0_RELEASE:1.2.2.1.8.1
	RELENG_8_2_0_RELEASE:1.2.6.1.6.1
	RELENG_7_4:1.2.2.1.0.8
	RELENG_7_4_BP:1.2.2.1
	RELENG_8_2:1.2.6.1.0.6
	RELENG_8_2_BP:1.2.6.1
	RELENG_8_1_0_RELEASE:1.2.6.1.4.1
	RELENG_8_1:1.2.6.1.0.4
	RELENG_8_1_BP:1.2.6.1
	RELENG_7_3_0_RELEASE:1.2.2.1.6.1
	RELENG_7_3:1.2.2.1.0.6
	RELENG_7_3_BP:1.2.2.1
	RELENG_8_0_0_RELEASE:1.2.6.1.2.1
	RELENG_8_0:1.2.6.1.0.2
	RELENG_8_0_BP:1.2.6.1
	RELENG_8:1.2.0.6
	RELENG_8_BP:1.2
	RELENG_7_2_0_RELEASE:1.2.2.1.4.1
	RELENG_7_2:1.2.2.1.0.4
	RELENG_7_2_BP:1.2.2.1
	RELENG_7_1_0_RELEASE:1.2.2.1.2.1
	RELENG_6_4_0_RELEASE:1.2.4.1.2.1
	RELENG_7_1:1.2.2.1.0.2
	RELENG_7_1_BP:1.2.2.1
	RELENG_6_4:1.2.4.1.0.2
	RELENG_6_4_BP:1.2.4.1
	RELENG_6:1.2.0.4
	RELENG_7:1.2.0.2;
locks; strict;
comment	@# @;


1.4
date	2012.11.17.01.54.42;	author svnexp;	state Exp;
branches
	1.4.2.1;
next	1.3;

1.3
date	2010.01.02.11.07.44;	author ed;	state Exp;
branches
	1.3.2.1;
next	1.2;

1.2
date	2008.03.29.18.07.06;	author ru;	state Exp;
branches
	1.2.2.1
	1.2.4.1
	1.2.6.1;
next	1.1;

1.1
date	2008.03.26.15.23.12;	author dfr;	state Exp;
branches;
next	;

1.4.2.1
date	2012.11.17.01.54.42;	author svnexp;	state dead;
branches;
next	1.4.2.2;

1.4.2.2
date	2013.03.28.13.06.14;	author svnexp;	state Exp;
branches;
next	;

1.3.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.3.2.1.2.1
	1.3.2.1.4.1;
next	1.3.2.2;

1.3.2.2
date	2012.11.17.11.37.43;	author svnexp;	state Exp;
branches;
next	;

1.3.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.3.2.1.2.2;

1.3.2.1.2.2
date	2012.11.17.08.37.40;	author svnexp;	state Exp;
branches;
next	;

1.3.2.1.4.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.3.2.1.4.2;

1.3.2.1.4.2
date	2012.11.17.08.48.31;	author svnexp;	state Exp;
branches;
next	;

1.2.2.1
date	2008.04.10.09.39.29;	author dfr;	state Exp;
branches
	1.2.2.1.2.1
	1.2.2.1.4.1
	1.2.2.1.6.1
	1.2.2.1.8.1;
next	1.2.2.2;

1.2.2.2
date	2012.11.17.08.09.01;	author svnexp;	state Exp;
branches;
next	;

1.2.2.1.2.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.2.2.1.4.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.2.2.1.6.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.2.2.1.8.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.2.2.1.8.2;

1.2.2.1.8.2
date	2012.11.17.08.17.46;	author svnexp;	state Exp;
branches;
next	;

1.2.4.1
date	2008.04.24.10.46.24;	author dfr;	state Exp;
branches
	1.2.4.1.2.1;
next	1.2.4.2;

1.2.4.2
date	2012.11.17.07.46.14;	author svnexp;	state Exp;
branches;
next	;

1.2.4.1.2.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.2.6.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.2.6.1.2.1
	1.2.6.1.4.1
	1.2.6.1.6.1
	1.2.6.1.8.1;
next	1.2.6.2;

1.2.6.2
date	2012.11.17.10.37.21;	author svnexp;	state Exp;
branches;
next	;

1.2.6.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.2.6.1.4.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.2.6.1.6.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.2.6.1.8.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.2.6.1.8.2;

1.2.6.1.8.2
date	2012.11.17.08.25.54;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.4
log
@Switching exporter and resync
@
text
@# $FreeBSD: head/usr.sbin/clear_locks/Makefile 201390 2010-01-02 11:07:44Z ed $

PROG=	clear_locks
MAN=	clear_locks.8
DPADD=	${LIBRPCSVC}
LDADD=	-lrpcsvc

.include <bsd.prog.mk>
@


1.4.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:06:14 +0000
@
text
@d1 8
@


1.4.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 9
# $FreeBSD: releng/8.4/usr.sbin/clear_locks/Makefile 177717 2008-03-29 18:07:06Z ru $

PROG=	clear_locks
MAN=	clear_locks.8
DPADD=	${LIBRPCSVC}
LDADD=	-lrpcsvc
WARNS=	6

.include <bsd.prog.mk>
@


1.3
log
@SVN rev 201390 on 2010-01-02 11:07:44Z by ed

The last big commit: let usr.sbin/ use WARNS=6 by default.
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.3.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.3.2.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/usr.sbin/clear_locks/Makefile 201390 2010-01-02 11:07:44Z ed $
@


1.3.2.1.4.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.3.2.1.4.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/usr.sbin/clear_locks/Makefile 201390 2010-01-02 11:07:44Z ed $
@


1.3.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.3.2.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/usr.sbin/clear_locks/Makefile 201390 2010-01-02 11:07:44Z ed $
@


1.2
log
@Add missing library dependency.
@
text
@a6 1
WARNS=	6
@


1.2.6.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.2.6.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/8/usr.sbin/clear_locks/Makefile 177717 2008-03-29 18:07:06Z ru $
@


1.2.6.1.8.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.2.6.1.8.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/usr.sbin/clear_locks/Makefile 177717 2008-03-29 18:07:06Z ru $
@


1.2.6.1.6.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.2.6.1.4.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.2.6.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.2.4.1
log
@MFC: kernel-mode NFS lock manager.
@
text
@@


1.2.4.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/6/usr.sbin/clear_locks/Makefile 178459 2008-04-24 10:46:25Z dfr $
@


1.2.4.1.2.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.2.2.1
log
@MFC: Kernel mode Network Lock Manager.
@
text
@@


1.2.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/7/usr.sbin/clear_locks/Makefile 178061 2008-04-10 09:39:29Z dfr $
@


1.2.2.1.8.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.2.2.1.8.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/7.4/usr.sbin/clear_locks/Makefile 178061 2008-04-10 09:39:29Z dfr $
@


1.2.2.1.6.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.2.2.1.4.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.2.2.1.2.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.1
log
@Add the new kernel-mode NFS Lock Manager. To use it instead of the
user-mode lock manager, build a kernel with the NFSLOCKD option and
add '-k' to 'rpc_lockd_flags' in rc.conf.

Highlights include:

* Thread-safe kernel RPC client - many threads can use the same RPC
  client handle safely with replies being de-multiplexed at the socket
  upcall (typically driven directly by the NIC interrupt) and handed
  off to whichever thread matches the reply. For UDP sockets, many RPC
  clients can share the same socket. This allows the use of a single
  privileged UDP port number to talk to an arbitrary number of remote
  hosts.

* Single-threaded kernel RPC server. Adding support for multi-threaded
  server would be relatively straightforward and would follow
  approximately the Solaris KPI. A single thread should be sufficient
  for the NLM since it should rarely block in normal operation.

* Kernel mode NLM server supporting cancel requests and granted
  callbacks. I've tested the NLM server reasonably extensively - it
  passes both my own tests and the NFS Connectathon locking tests
  running on Solaris, Mac OS X and Ubuntu Linux.

* Userland NLM client supported. While the NLM server doesn't have
  support for the local NFS client's locking needs, it does have to
  field async replies and granted callbacks from remote NLMs that the
  local client has contacted. We relay these replies to the userland
  rpc.lockd over a local domain RPC socket.

* Robust deadlock detection for the local lock manager. In particular
  it will detect deadlocks caused by a lock request that covers more
  than one blocking request. As required by the NLM protocol, all
  deadlock detection happens synchronously - a user is guaranteed that
  if a lock request isn't rejected immediately, the lock will
  eventually be granted. The old system allowed for a 'deferred
  deadlock' condition where a blocked lock request could wake up and
  find that some other deadlock-causing lock owner had beaten them to
  the lock.

* Since both local and remote locks are managed by the same kernel
  locking code, local and remote processes can safely use file locks
  for mutual exclusion. Local processes have no fairness advantage
  compared to remote processes when contending to lock a region that
  has just been unlocked - the local lock manager enforces a strict
  first-come first-served model for both local and remote lockers.

Sponsored by:	Isilon Systems
PR:		95247 107555 115524 116679
MFC after:	2 weeks
@
text
@d5 1
@

