History log of /freebsd-9.3-release/lib/libc/sys/fcntl.2
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 267654 19-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 242768 08-Nov-2012 jilles

MFC r242429: fcntl(2): Fix typos in name of constant "F_DUP2FD_CLOEXEC".


# 239859 29-Aug-2012 kib

MFC r238835:
Document F_DUP2FD_CLOEXEC.


# 239858 29-Aug-2012 kib

MFC r238615:
Document F_DUPFD_CLOEXEC.


# 234966 03-May-2012 eadler

MFC r234131:
Return EBADF instead of EMFILE from dup2 when the second argument is
outside the range of valid file descriptors

PR: kern/164970
Approved by: cperciva (implicit)


# 225736 22-Sep-2011 kensmith

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

Approved by: re (implicit)


# 207735 06-May-2010 jilles

Update xrefs from 4.3BSD to modern signal functions in various man pages.

sigvec(2) references have been updated to sigaction(2), sigsetmask(2) and
sigblock(2) to sigprocmask(2), sigpause(2) to sigsuspend(2).

Some legacy man pages still refer to them, that is OK.


# 197579 28-Sep-2009 delphij

Add two new fcntls to enable/disable read-ahead:

- F_READAHEAD: specify the amount for sequential access. The amount is
specified in bytes and is rounded up to nearest block size.
- F_RDAHEAD: Darwin compatible version that use 128KB as the sequential
access size.

A third argument of zero disables the read-ahead behavior.

Please note that the read-ahead amount is also constrainted by sysctl
variable, vfs.read_max, which may need to be raised in order to better
utilize this feature.

Thanks Igor Sysoev for proposing the feature and submitting the original
version, and kib@ for his valuable comments.

Submitted by: Igor Sysoev <is rambler-co ru>
Reviewed by: kib@
MFC after: 1 month


# 177633 26-Mar-2008 dfr

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


# 176957 08-Mar-2008 antoine

Introduce a new F_DUP2FD command to fcntl(2), for compatibility with
Solaris and AIX.
fcntl(fd, F_DUP2FD, arg) and dup2(fd, arg) are functionnaly equivalent.
Document it.
Add some regression tests (identical to the dup2(2) regression tests).

PR: 120233
Submitted by: Jukka Ukkonen
Approved by: rwaston (mentor)
MFC after: 1 month


# 165903 08-Jan-2007 imp

Per Regents of the University of Calfornia letter, remove advertising
clause.

# If I've done so improperly on a file, please let me know.


# 131504 02-Jul-2004 ru

Mechanically kill hard sentence breaks.


# 129369 17-May-2004 yar

Clarify and extend paragraphs on interoperation
of fcntl(2), flock(2), and lockf(3) advisory locks.
Add such a paragraph to the flock(2) manpage for the
sake of consistency.

Reviewed by: Cyrille Lefevre and Kirk McKusick on -arch
MFC after: 2 weeks


# 110394 05-Feb-2003 charnier

Prevent uppercase after .Xr by adding ``The ... utility/system call''.


# 108257 24-Dec-2002 ru

mdoc(7) police: Deal with self-xrefs.


# 108087 19-Dec-2002 ru

mdoc(7) police: "The .Fa argument.".


# 108028 18-Dec-2002 ru

mdoc(7) police: Tidy up the syscall language.

Stop calling system calls "function calls".

Use "The .Fn system call" a-la "The .Nm utility".

When referring to a non-BSD implementation in
the HISTORY section, call syscall a function,
to be safe.


# 100144 15-Jul-2002 keramida

The .Fn function.


# 94586 13-Apr-2002 asmodai

Use the correct macros for F_SETFD/F_GETFD instead of magic numbers.
Reflect that fact in the manual page.

PR: 12723
Submitted by: Peter Jeremy <peter.jeremy@alcatel.com.au>
Approved by: bde
MFC after: 2 weeks


# 92269 14-Mar-2002 maxim

Clarify fcntl(2) and flock(2) interoperability.

PR: docs/23353
Reviewed by: ru, dillon
Approved by: ru
MFC after: 3 days


# 85555 26-Oct-2001 ru

Remove the internal implementation details of wrapping syscalls,
which do not match the reality anyway.

Approved by: deischen, bde


# 84306 01-Oct-2001 ru

mdoc(7) police: Use the new .In macro for #include statements.


# 82402 27-Aug-2001 ru

mdoc(7) police: removed whitespace at EOL.


# 82274 24-Aug-2001 ache

Fd is macro too, so use \&Fd


# 82273 24-Aug-2001 ache

Fildes -> Fd too (started from big letter)


# 82272 24-Aug-2001 ache

Change
start means ...
to
.Fa l_start
means ...


# 82271 24-Aug-2001 sheldonh

Fix up English from previous 3 revisions.

There is no such argument 'fildes' in the SYNOPSIS. It's called 'fd'.


# 82216 23-Aug-2001 ache

Now we implement l_len<0 per POSIX, describe it.


# 82177 23-Aug-2001 ache

Rephrasing prev. commit a bit.


# 82176 23-Aug-2001 ache

Describe EOVERFLOW, EOPNOTSUPP and reaction to negative l_len


# 79754 15-Jul-2001 dd

Remove whitespace at EOL.


# 79531 10-Jul-2001 ru

mdoc(7) police: removed HISTORY info from the .Os call.


# 79454 09-Jul-2001 dd

mdoc(7) police: remove extraneous .Pp before and/or after .Sh.


# 77115 24-May-2001 dillon

This patch implements O_DIRECT about 80% of the way. It takes a patchset
Tor created a while ago, removes the raw I/O piece (that has cache coherency
problems), and adds a buffer cache / VM freeing piece.

Essentially this patch causes O_DIRECT I/O to not be left in the cache, but
does not prevent it from going through the cache, hence the 80%. For
the last 20% we need a method by which the I/O can be issued directly to
buffer supplied by the user process and bypass the buffer cache entirely,
but still maintain cache coherency.

I also have the code working under -stable but the changes made to sys/file.h
may not be MFCable, so an MFC is not on the table yet.

Submitted by: tegge, dillon


# 75313 08-Apr-2001 dd

Mention that locks are inherited across an exec.

PR: 24802
Submitted by: Kenneth Ingham <ingham@i-pi.com>


# 71895 01-Feb-2001 ru

mdoc(7) police: split punctuation characters + misc fixes.


# 68575 10-Nov-2000 ru

Avoid use of direct troff requests in mdoc(7) manual pages.


# 61988 23-Jun-2000 chris

Replace .Va, .Ar and .Nm with .Fa or .Va where necessary, examples:
``.Ar errno'' -> ``.Va errno''
``.Nm ops'' -> ``.Fa ops''
``.Va fd'' -> ``.Fa fd''


# 59460 21-Apr-2000 phantom

Introduce ".Lb" macro to libc manpages.

More libraries manpages updates following.


# 57686 02-Mar-2000 sheldonh

Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.


# 50476 27-Aug-1999 peter

$Id$ -> $FreeBSD$


# 48794 12-Jul-1999 nik

Add $Id$, to make it simpler for members of the translation teams to
track.

The $Id$ line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

.\" $Id$
.\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by: bde


# 42829 19-Jan-1999 truckman

Document the errno return if the restrictions on the fcntl(F_SETOWN, ...)
argument implemented by the security patch in PR kern/7899 are violated.
PR: kern/7899


# 38930 08-Sep-1998 jkoshy

Use ellipsis in the synopsis, and an appropriate explanation in
the text of the manual page.

Suggested by: bde


# 22150 30-Jan-1997 mpp

Don't use hardcoded *roff font change requests.


# 21445 08-Jan-1997 jdp

The error returned when F_SETLK collides with an existing lock is
EAGAIN, not EACCES. POSIX says that either one is OK.
2.2 candidate.


# 17780 22-Aug-1996 mpp

Update a bunch of man pages to use .Fn instead
of .Nm when referencing funciton names.


# 15518 01-May-1996 mpp

Remove a redundant description of the EMFILE error, and fix a typo.

Submitted by: James Raynard <jraynard@dial.pipex.com>


# 15082 06-Apr-1996 mpp

Correct some man page cross references and file location references.


# 15074 06-Apr-1996 joerg

Mention other possible errors that could be caused by the F_[GS]ETOWN
commands.


# 14855 27-Mar-1996 mpp

Added missing section numbers to a bunch of .Xr macros, or
converted them into .Fn macros where appropriate. Also fixed
up some minor formatting problems.


# 14101 15-Feb-1996 mpp

Fixed a bunch of man page cross references that were
in the main text of various man pages.

Thanks to Warner Losh for adding an option to manck to allow
it to scan the entire man page looking for bogus xrefs, instead
of just checking the SEE ALSO section.


# 13750 30-Jan-1996 mpp

Fix even more spelling errors in some more man pages.


# 13545 21-Jan-1996 julian

Reviewed by: julian and (hsu?)
Submitted by: John Birrel(L?)

changes for threadsafe operations


# 1574 27-May-1994 rgrimes

This commit was generated by cvs2svn to compensate for changes in r1573,
which included commits to RCS files with non-trunk default branches.


# 1573 27-May-1994 rgrimes

BSD 4.4 Lite Lib Sources