History log of /freebsd-current/usr.sbin/pstat/pstat.c
Revision Date Author Comments
# f93475cf 07-Nov-2023 Elyes Haouas <ehaouas@noos.fr>

pstat: Use nitems(foo) instead of sizeof(foo)/sizeof(foo[0])

Pull Request: https://github.com/freebsd/freebsd-src/pull/888
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>


# 0b8224d1 24-Nov-2023 Warner Losh <imp@FreeBSD.org>

Remove copyright strings ifdef'd out

We've ifdef'd out the copyright strings for some time now. Go ahead and
remove the ifdefs. Plus whatever other detritis was left over from other
recent removals. These copyright strings are present in the comments and
are largely from CSRG's attempt at adding their copyright to every
binary file (which modern interpretations of the license doesn't
require).

Sponsored by: Netflix


# 8a7b6120 23-Nov-2023 Warner Losh <imp@FreeBSD.org>

usr.sbin: Remove ancient SCCS tags.

Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by: Netflix


# 1d386b48 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 3cbfd581 23-Jun-2020 Piotr Pawel Stefaniak <pstef@FreeBSD.org>

pstat(8): improve the Size header width after r358181

All size values use fields of width 8. Also, all other headers use fields of
width 8. Make the Size header added in r358181 use 8 characters as well.


# 9a990500 20-Feb-2020 Christian S.J. Peron <csjp@FreeBSD.org>

- Implement -h (human readable) for the size of the underlying block disk.
Currently, the size of the swap device is unconditionally reported using
blocks, even if -h has been used.
- While here, switch to CONVERT_BLOCKS() instead of CONVERT() which will
avoid overflowing size counters (in human readable form see: r196244)
- Update the column headers to reflect that a size is being reported instead
of the block size units being used

Before:

$ swapinfo
Device 1K-blocks Used Avail Capacity
/dev/gpt/swapfs 1048576 0 1048576 0%
$

After:

$ swapinfo -h
Device Size Used Avail Capacity
/dev/gpt/swapfs 1.0G 0B 1.0G 0%
$

Differential Revision: https://reviews.freebsd.org/D23758
Reviewed by: kevans
MFC after: 3 weeks


# 8a16b7a1 20-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

General further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 3-Clause license.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.


# 69921123 23-May-2017 Konstantin Belousov <kib@FreeBSD.org>

Commit the 64-bit inode project.

Extend the ino_t, dev_t, nlink_t types to 64-bit ints. Modify
struct dirent layout to add d_off, increase the size of d_fileno
to 64-bits, increase the size of d_namlen to 16-bits, and change
the required alignment. Increase struct statfs f_mntfromname[] and
f_mntonname[] array length MNAMELEN to 1024.

ABI breakage is mitigated by providing compatibility using versioned
symbols, ingenious use of the existing padding in structures, and
by employing other tricks. Unfortunately, not everything can be
fixed, especially outside the base system. For instance, third-party
APIs which pass struct stat around are broken in backward and
forward incompatible ways.

Kinfo sysctl MIBs ABI is changed in backward-compatible way, but
there is no general mechanism to handle other sysctl MIBS which
return structures where the layout has changed. It was considered
that the breakage is either in the management interfaces, where we
usually allow ABI slip, or is not important.

Struct xvnode changed layout, no compat shims are provided.

For struct xtty, dev_t tty device member was reduced to uint32_t.
It was decided that keeping ABI compat in this case is more useful
than reporting 64-bit dev_t, for the sake of pstat.

Update note: strictly follow the instructions in UPDATING. Build
and install the new kernel with COMPAT_FREEBSD11 option enabled,
then reboot, and only then install new world.

Credits: The 64-bit inode project, also known as ino64, started life
many years ago as a project by Gleb Kurtsou (gleb). Kirk McKusick
(mckusick) then picked up and updated the patch, and acted as a
flag-waver. Feedback, suggestions, and discussions were carried
by Ed Maste (emaste), John Baldwin (jhb), Jilles Tjoelker (jilles),
and Rick Macklem (rmacklem). Kris Moore (kris) performed an initial
ports investigation followed by an exp-run by Antoine Brodin (antoine).
Essential and all-embracing testing was done by Peter Holm (pho).
The heavy lifting of coordinating all these efforts and bringing the
project to completion were done by Konstantin Belousov (kib).

Sponsored by: The FreeBSD Foundation (emaste, kib)
Differential revision: https://reviews.freebsd.org/D10439


# fbbd9655 28-Feb-2017 Warner Losh <imp@FreeBSD.org>

Renumber copyright clause 4

Renumber cluase 4 to 3, per what everybody else did when BSD granted
them permission to remove clause 3. My insistance on keeping the same
numbering for legal reasons is too pedantic, so give up on that point.

Submitted by: Jan Schaumann <jschauma@stevens.edu>
Pull Request: https://github.com/freebsd/freebsd/pull/96


# ed09c2c1 26-Dec-2016 Xin LI <delphij@FreeBSD.org>

- pstat(8) does not accept any arguments other than getopt() args,
so don't bother to adjust argc/argv after getopt() loop.
- Make a string pointer constant.

MFC after: 2 weeks


# 9f365aa1 28-Sep-2011 Ed Schouten <ed@FreeBSD.org>

Get rid of major/minor number distinction.

As of FreeBSD 6, devices can only be opened through devfs. These device
nodes don't have major and minor numbers anymore. The st_rdev field in
struct stat is simply based a copy of st_ino.

Simply display device numbers as hexadecimal, using "%#jx". This is
allowed by POSIX, since it explicitly states things like the following
(example taken from ls(1)):

"If the file is a character special or block special file, the
size of the file may be replaced with implementation-defined
information associated with the device in question."

This makes the output of these commands more compact. For example, ls(1)
now uses approximately four columns less. While there, simplify the
column length calculation from ls(1) by calling snprintf() with a NULL
buffer.

Don't be afraid; if needed one can still obtain individual major/minor
numbers using stat(1).


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# 81fda6ad 15-Aug-2009 Stanislav Sedov <stas@FreeBSD.org>

- Merge r196244:
Avoid overflowing the swap size counters in human-readable mode
by introducing the new CONVERT_BLOCKS macro which operates on
sizes already converted to number of blocks. With this macro
it is not longer needed to perform needless multiplica

Approved by: re (kib)


# 67c601d5 15-Aug-2009 Stanislav Sedov <stas@FreeBSD.org>

- Avoid overflowing the swap size counters in human-readable mode
by introducing the new CONVERT_BLOCKS macro which operates on
sizes already converted to number of blocks. With this macro
it is not longer needed to perform needless multiplication by
blocksize just to divide on it later in CONVERT macro.

Approved by: re (kib)
MFC after: 1 week


# 52074d38 11-Jun-2009 Stanislav Sedov <stas@FreeBSD.org>

- Make pstat(8) WARNS=6 safe.
- While here, eliminate the check for len > 0 in ttymode_sysctl
as the code is able to handle this case well.

Reviewed by: ed (initial version)


# 493f0f17 11-Jun-2009 Ed Schouten <ed@FreeBSD.org>

Correct my previous commit to pstat(8).

Not only mark the strings inside the array as const, but do the same for
the elements of the array itself.

Submitted by: Christoph Mallon


# 777e045c 11-Jun-2009 Ed Schouten <ed@FreeBSD.org>

Make most of pstat(8) build with WARNS=6.

There is still an issue with the nlists, which I'm not quite sure how to
solve, so I'm leaving WARNS set to 3 right now.


# c0086bf2 11-Feb-2009 Ed Schouten <ed@FreeBSD.org>

Serialize write() calls on TTYs.

Just like the old TTY layer, the current MPSAFE TTY layer does not make
any attempt to serialize calls of write(). Data is copied into the
kernel in 256 (TTY_STACKBUF) byte chunks. If a write() call occurs at
the same time, the data may interleave. This is especially likely when
the TTY starts blocking, because the output queue reaches the high
watermark.

I've implemented this by adding a new flag, TTY_BUSY_OUT, which is used
to mark a TTY as having a thread stuck in write(). Because I don't want
non-blocking processes to be possibly blocked by a sleeping thread, I'm
still allowing it to bypass the protection. According to this message,
the Linux kernel returns EAGAIN in such cases, but I think that's a
little too restrictive:

http://kerneltrap.org/index.php?q=mailarchive/linux-kernel/2007/5/2/85418/thread

PR: kern/118287


# c3328b2a 05-Feb-2009 Ed Schouten <ed@FreeBSD.org>

Don't leave the console TTY constantly open.

When we leave the console TTY constantly open, we never reset the
termios attributes. This causes output processing, echoing, etc. not to
be reset to the proper values when going into single user mode after the
system has booted. It also causes nl-to-crnl-conversion not to take
place during shutdown, which causes a `staircase effect'.

This patch adds a new TTY flag, TF_OPENED_CONS, which is set when the
TTY is opened through /dev/console. Because the flags are only used by
the kernel and the pstat(8) utility, I've decided to renumber the TTY
flags. This shouldn't be an issue, because the TTY layer is not yet part
of a stable release.

Reported by: Mark Atkinson <atkin901 yahoo com>
Tested by: sepotvin


# 37a9f582 01-Nov-2008 Ed Schouten <ed@FreeBSD.org>

Clamp the values of t_column to 5 digits in `pstat -t' and `show all ttys'.

We often run into these very high column numbers when we run curses
applications, because they don't print any newlines. This messes up the
table output of `pstat -t'. If these numbers get really high, they
aren't of any use to the reader anyway. Convert them to `99999' when
they run out of bounds.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# a1215e37 22-Sep-2008 Ed Schouten <ed@FreeBSD.org>

Introduce a hooks layer for the MPSAFE TTY layer.

One of the features that prevented us from fixing some of the TTY
consumers to work once again, was an interface that allowed consumers to
do the following:

- `Sniff' incoming data, which is used by the snp(4) driver.

- Take direct control of the input and output paths of a TTY, which is
used by ng_tty(4), ppp(4), sl(4), etc.

There's no practical advantage in committing a hooks layer without
having any consumers. In P4 there is a preliminary port of snp(4) and
thompsa@ is busy porting ng_tty(4) to this interface. I already want to
have it in the tree, because this may stimulate others to work on the
remaining modules.

Discussed with: thompsa
Obtained from: //depot/projects/mpsafetty/...


# bc093719 20-Aug-2008 Ed Schouten <ed@FreeBSD.org>

Integrate the new MPSAFE TTY layer to the FreeBSD operating system.

The last half year I've been working on a replacement TTY layer for the
FreeBSD kernel. The new TTY layer was designed to improve the following:

- Improved driver model:

The old TTY layer has a driver model that is not abstract enough to
make it friendly to use. A good example is the output path, where the
device drivers directly access the output buffers. This means that an
in-kernel PPP implementation must always convert network buffers into
TTY buffers.

If a PPP implementation would be built on top of the new TTY layer
(still needs a hooks layer, though), it would allow the PPP
implementation to directly hand the data to the TTY driver.

- Improved hotplugging:

With the old TTY layer, it isn't entirely safe to destroy TTY's from
the system. This implementation has a two-step destructing design,
where the driver first abandons the TTY. After all threads have left
the TTY, the TTY layer calls a routine in the driver, which can be
used to free resources (unit numbers, etc).

The pts(4) driver also implements this feature, which means
posix_openpt() will now return PTY's that are created on the fly.

- Improved performance:

One of the major improvements is the per-TTY mutex, which is expected
to improve scalability when compared to the old Giant locking.
Another change is the unbuffered copying to userspace, which is both
used on TTY device nodes and PTY masters.

Upgrading should be quite straightforward. Unlike previous versions,
existing kernel configuration files do not need to be changed, except
when they reference device drivers that are listed in UPDATING.

Obtained from: //depot/projects/mpsafetty/...
Approved by: philip (ex-mentor)
Discussed: on the lists, at BSDCan, at the DevSummit
Sponsored by: Snow B.V., the Netherlands
dcons(4) fixed by: kan


# 94a340ae 16-Jul-2008 Ed Schouten <ed@FreeBSD.org>

Remove OTTYDISC, NETLDISC and NTTYDISC definitions.

When I ported most applications away from <sgtty.h>, I noticed none of
them were actually using these definitions. I kept them in place,
because I didn't want to touch tools like pstat(8) and stty(1).

In preparation for the MPSAFE TTY layer, remove these definitions. This
doesn't have any impact with respect to binary compatibility (see
tty_conf.c).

We couldn now add an #error to <sys/ioctl_compat.h> when included
outside the kernel. Unfortunately, kdump's mkioctls includes this file
unconditionally.

Approved by: philip (mentor)


# bc42e6c4 13-May-2008 Remko Lodder <remko@FreeBSD.org>

Fix pstat behaviour when using coredumps. The reference to tp was
incorrect and should have been poining to &tty, tp is a virtual
address from the coredump, while we should obtain the address through
the tty struct.

Approved by: imp (mentor, implicit trivial changes)
MFC after: 1 week
Submitted by: Ed Schouten (ed at 80836 dot nl)


# 2966d28c 03-Jul-2007 Sean Farley <scf@FreeBSD.org>

Significantly reduce the memory leak as noted in BUGS section for
setenv(3) by tracking the size of the memory allocated instead of using
strlen() on the current value.

Convert all calls to POSIX from historic BSD API:
- unsetenv returns an int.
- putenv takes a char * instead of const char *.
- putenv no longer makes a copy of the input string.
- errno is set appropriately for POSIX. Exceptions involve bad environ
variable and internal initialization code. These both set errno to
EFAULT.

Several patches to base utilities to handle the POSIX changes from
Andrey Chernov's previous commit. A few I re-wrote to use setenv()
instead of putenv().

New regression module for tools/regression/environ to test these
functions. It also can be used to test the performance.

Bump __FreeBSD_version to 700050 due to API change.

PR: kern/99826
Approved by: wes
Approved by: re (kensmith)


# ba174a5e 01-May-2007 Andrey A. Chernov <ache@FreeBSD.org>

Back out all POSIXified *env() changes.

Not because I admit they are technically wrong and not because of bug
reports (I receive nothing). But because I surprisingly meets so
strong opposition and resistance so lost any desire to continue that.

Anyone who interested in POSIX can dig out what changes and how
through cvs diffs.


# 903fd425 30-Apr-2007 Andrey A. Chernov <ache@FreeBSD.org>

Preparing for upcoming POSIXed putenv() rewrite:
don't allow const as putenv() arg, dup it


# ae35e8ad 03-Apr-2007 Ruslan Ermilov <ru@FreeBSD.org>

- Recognize -g and -m in pstat(8) too.
- Document -g and -m support in swapinfo(8).

Reviewed by: markm


# 7e8409a7 01-Apr-2007 Mark Murray <markm@FreeBSD.org>

Add -m (megabytes) and -g (gigabytes) options. I'm tired of being told
I can't do this.

MFC: 1 month


# 897d31be 13-Feb-2007 John Baldwin <jhb@FreeBSD.org>

Another crashdump fix: nfiles was renamed to openfiles in 5.x.

MFC after: 3 days


# a2e59d80 17-Nov-2005 Robert Watson <rwatson@FreeBSD.org>

Print (total - used) as the amount of available swap for a swap device
when printing swapinfo output, rather than (total), as that is (strictly
speaking) more accurate.

Pointed out by: Rob <spamrefuse at yahoo dot com>
MFC after: 3 days


# 18b51f79 09-Apr-2005 Stefan Farfeleder <stefanf@FreeBSD.org>

Remove unused variables.


# 00191f86 21-Mar-2005 Giorgos Keramidas <keramida@FreeBSD.org>

Use a designator for initializing only one member of the nlist
structs, making pstat WARNS=3 clean on i386, sparc64 and amd64.

Bump WARNS level to 3.

Approved by: sam, pjd


# 7257230f 21-Mar-2005 Giorgos Keramidas <keramida@FreeBSD.org>

- Add a -h flag to pstat to print swap sizes in "human readable"
format, with humanize_number(3).

- Move the common parts of the code that prints the sizes for a single
swap device and the total to a single function to avoid repeating
the humanize_number() stuff all over the place.

- Change the type of CONVERT() from intmax_t to int64_t, since this
makes calling humanize_number() easier but cast the values to
intmax_t before printing them, to make use of the %jd format that
printf() supports.

- Document the new -h flag in the manpage and bump its date.

Approved by: pjd
Useful tips: brooks
MFC after: 2 weeks


# 6004362e 26-Nov-2004 David Schultz <das@FreeBSD.org>

Don't include sys/user.h merely for its side-effect of recursively
including other headers.


# 486c8cc4 06-Aug-2004 Warner Losh <imp@FreeBSD.org>

Per letter dated July 22, 1999 remove 3rd clause of Berkeley derived software
(with permission of addtional copyright holders where appropriate)


# 203bcaf5 08-Jun-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Update kvm mode to match kernel changes.


# 8482be06 26-Mar-2004 Ruslan Ermilov <ru@FreeBSD.org>

-N without -M is pointless.


# 16fc3635 05-Mar-2004 Mark Murray <markm@FreeBSD.org>

Make NULL a (void*)0 whereever possible, and fix the warnings(-Werror)
that this provokes. "Wherever possible" means "In the kernel OR NOT
C++" (implying C).

There are places where (void *) pointers are not valid, such as for
function pointers, but in the special case of (void *)0, agreement
settles on it being OK.

Most of the fixes were NULL where an integer zero was needed; many
of the fixes were NULL where ascii <nul> ('\0') was needed, and a
few were just "other".

Tested on: i386 sparc64


# 799aba96 31-Jul-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Remove options processing for dumping swapdevice radix map.


# 46637267 31-Jul-2003 Poul-Henning Kamp <phk@FreeBSD.org>

When dumping swap information, drop the "Type" field which displays
a constant string of little information these days.

This removes the need to #include <vm/swap_pager.h> which is due to
become a kernel only include file.


# 1afc333e 05-Jun-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Report NODEV devices as <NFSfile>


# b728350e 03-May-2003 David E. O'Brien <obrien@FreeBSD.org>

Use __FBSDID over rcsid[]. Protect copyright[] where needed.


# 46f7e0d2 31-Jan-2003 Robert Drehmel <robert@FreeBSD.org>

- Modernize the format of the open file showing mode output:
. Print the column headers centered (except for the left-aligned
TYPE header) using a different header for architectures where
sizeof(uintptr_t) is not four.
. Consistently do not print a '0x' prefix for hexadecimal values.
. Separate columns by a single space character.
. Pad the columns presenting an address or offset enough to hold
their respective largest value.
. Do not restrict the output to unknown file types, inodes and
sockets; allow displaying of pipes, fifos, kqueues and crypto file
descriptors too.
- Shorten an overly long line by removing a cast of printf's return
value to void.

PR: alpha/45240
Tested on: i386, sparc64, alpha


# 48e3128b 12-Jan-2003 Matthew Dillon <dillon@FreeBSD.org>

Bow to the whining masses and change a union back into void *. Retain
removal of unnecessary casts and throw in some minor cleanups to see if
anyone complains, just for the hell of it.


# cd72f218 11-Jan-2003 Matthew Dillon <dillon@FreeBSD.org>

Change struct file f_data to un_data, a union of the correct struct
pointer types, and remove a huge number of casts from code using it.

Change struct xfile xf_data to xun_data (ABI is still compatible).

If we need to add a #define for f_data and xf_data we can, but I don't
think it will be necessary. There are no operational changes in this
commit.


# 42c43e60 03-Jan-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Make struct swblock kernel only, to make vm/swap_pager.h userland includable.
Move struct swdevt from sys/conf.h to the more appropriate vm/swap_pager.h.
Adjust #include use in libkvm and pstat(8) to match.


# c48205f3 30-Dec-2002 Mike Barcroft <mike@FreeBSD.org>

Back out rev 1.78; getbsize(3)'s original interface has been restored.

Approved by: markm


# 84ee4a7c 23-Oct-2002 Mark Murray <markm@FreeBSD.org>

Adjust argument passed to getbsize().


# eeebf53e 30-Jul-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Use struct xfile, not struct file.


# 5f9ab4b0 28-May-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

If unable to retrive maxfiles / openfiles, fail rather than print garbage.
Gratuitously rename a couple of variables.
Remove unused macros.
Add NAI copyright.

Sponsored by: DARPA, NAI Labs


# 182a90e4 28-May-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Remove the code that was disabled in a recent commit; it is of very limited
use and has been broken in -CURRENT for a long time.
Clean up unneeded entries in the nlist array.
Implement kvm-backed ttymode (which we never had before). Incomplete as we
do not (yet?) print the correct device, sid or pgid.

Sponsored by: DARPA, NAI Labs


# bf94613d 27-May-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Oops, don't print /dev/ twice.


# 333eaaed 27-May-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

struct tty -> struct xtty. Reenable some previously disable code, but
temporarily disable some rarely-used code that needs more work.

Sponsored by: DARPA, NAI Labs


# 4418dbbd 23-May-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Un-kmemize. Portions of the tty mode code have been temporarily disabled;
everything else, including dead kernel support, works just like before.

Sponsored by: DARPA, NAI Labs


# d88b2458 23-May-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Nits in previous commits.

Sponsored by: DARPA, NAI Labs


# 0cbfd1a5 23-May-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Cull large amounts of dead code (deprecated since 1997)

Sponsored by: DARPA, NAI Labs


# c9624363 23-May-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

ANSIfy.

Sponsored by: DARPA, NAI Labs


# 1dcc9c32 23-May-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Staticize.

Sponsored by: DARPA, NAI Labs


# d4a0c7a6 23-May-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Whitespace cleanup.

Sponsored by: DARPA, NAI Labs


# 09941f75 23-May-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Unbreak tty mode (cons was renamed to constty a while ago)

Sponsored by: DARPA, NAI Labs


# 72d12a7f 28-Apr-2002 Ian Dowse <iedowse@FreeBSD.org>

Oops, remove references to NLOCKED and NWANTED, now that they no
longer exist.


# c72ccd01 22-Oct-2001 Matthew Dillon <dillon@FreeBSD.org>

Change the vnode list under the mount point from a LIST to a TAILQ
in preparation for an implementation of limiting code for kern.maxvnodes.

MFC after: 3 days


# 91196234 18-Sep-2001 Peter Wemm <peter@FreeBSD.org>

Userland part of nfs client/server split and cleanup.


# 3b7e5ccc 31-Aug-2001 Ruslan Ermilov <ru@FreeBSD.org>

SECURITY: Drop `setgid kmem' bit as early as possible.


# 6ed5918a 30-Jul-2001 Thomas Moestl <tmm@FreeBSD.org>

Fix the third argument to sysctlbyname() to be of the type size_t *
(instead of int *).

MFC after: 2 days


# a0bdb67e 04-Jul-2001 Dima Dorfman <dd@FreeBSD.org>

Make the '-tn' flag combination print the major/minor numbers of the
line as documented intead of a full column of 0's.


# 7309915e 24-Jun-2001 Dima Dorfman <dd@FreeBSD.org>

Nuke unused variables.


# c01c5d5c 16-Jun-2001 Dima Dorfman <dd@FreeBSD.org>

Don't call printf without a format string (harmless in this case).


# 0b381bf1 01-Jun-2001 Ruslan Ermilov <ru@FreeBSD.org>

Remove vestiges of MFS.


# 99d300a1 23-May-2001 Ruslan Ermilov <ru@FreeBSD.org>

- FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file
systems were repo-copied from sys/miscfs to sys/fs.

- Renamed the following file systems and their modules:
fdesc -> fdescfs, portal -> portalfs, union -> unionfs.

- Renamed corresponding kernel options:
FDESC -> FDESCFS, PORTAL -> PORTALFS, UNION -> UNIONFS.

- Install header files for the above file systems.

- Removed bogus -I${.CURDIR}/../../sys CFLAGS from userland
Makefiles.


# b56b39ad 08-May-2001 Alfred Perlstein <alfred@FreeBSD.org>

Unbreak world, IN_SHLOCK/IN_EXLOCK haven't existed in a while and
Kirk finally has ditched them. While I'm here also ditch FSHLOCK.


# 60fb0ce3 28-Apr-2001 Greg Lehey <grog@FreeBSD.org>

Revert consequences of changes to mount.h, part 2.

Requested by: bde


# 06d71e32 23-Apr-2001 Greg Lehey <grog@FreeBSD.org>

Include necessary header files, in preparation for fixing breakage in
sys/mount.h.

Suggested by: phk


# 26a2d903 30-Dec-2000 Assar Westerlund <assar@FreeBSD.org>

update to the current set of mnt_, ufs_ and nfs_ flags
also make man-page correspond to the code


# 88f9a603 30-Dec-2000 Poul-Henning Kamp <phk@FreeBSD.org>

Use the MACRO API to <sys/queue.h>.

Submitted by: "Peter Avalos" <pavalos@theshell.com>


# bc488ed1 27-Nov-2000 Kris Kennaway <kris@FreeBSD.org>

Constify


# 9ce6a2e6 29-Jan-2000 Peter Wemm <peter@FreeBSD.org>

Don't report TABLDISC - it "doesn't happen(TM)"


# c4473420 28-Dec-1999 Peter Wemm <peter@FreeBSD.org>

Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot). This is consistant with the other
BSD's who made this change quite some time ago. More commits to come.


# 73f2a3c2 05-Dec-1999 Philippe Charnier <charnier@FreeBSD.org>

Add extra columns for printing longer device name.


# 7c0e6e50 27-Nov-1999 Philippe Charnier <charnier@FreeBSD.org>

Merge fprintf and exit into errx.
Use .Ev for environment variable.


# 0429e37a 20-Nov-1999 Poul-Henning Kamp <phk@FreeBSD.org>

struct mountlist and struct mount.mnt_list have no business being
a CIRCLEQ. Change them to TAILQ_HEAD and TAILQ_ENTRY respectively.

This removes ugly mp != (void*)&mountlist comparisons.

Requested by: phk
Submitted by: Jake Burkholder jake@checker.org
PR: 14967


# 97d92980 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# 73fb8dcd 26-Aug-1999 Poul-Henning Kamp <phk@FreeBSD.org>

VALIASED doesn't exist any more.


# 1bc52887 08-Aug-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Add support for picking up ttys with sysctl(kern.ttys).


# bf0e1ee3 11-May-1999 Peter Wemm <peter@FreeBSD.org>

Tidy up references to <sys/rlist.h> and support for the old swap management
that went away in January.


# c67ba159 22-Jan-1999 Matthew Dillon <dillon@FreeBSD.org>

Fix formatting bug with [NFS swap] vs /dev/DEVNAME


# 782f8687 22-Jan-1999 Matthew Dillon <dillon@FreeBSD.org>

Make pstat use new kvm_getswapinfo() libkvm call.


# eedc3436 21-Jan-1999 Matthew Dillon <dillon@FreeBSD.org>

Update pstat -s to handle both old and new swapper.
Add pstat -ss to dump new swapper's radix tree.


# f6f60773 18-Aug-1998 Bruce Evans <bde@FreeBSD.org>

Increased column widths for tty input watermark fields so that watermarks
for 11520-byte buffers for 115200 bps are displayed properly.

Fixed my recent printf format error fixes. %p is almost unusable
in tables, since its width and format are unknown/machine-dependent.
Use %8lx and cast pointers to (u_long)(void*). This is still quite
broken, e.g., for machines with 64-bit pointers.


# 78cda230 06-Jul-1998 Bruce Evans <bde@FreeBSD.org>

Fixed printf format errors.


# 0b8a3ff7 07-Mar-1998 Bruce Evans <bde@FreeBSD.org>

Set the input and output buffer sizes and the input buffer watermarks
dynamically depending on the line speed(s). This should give the old
sizes and watermarks until drivers are changed.

Display the input watermarks in pstat and sicontrol.


# 5821aa7f 05-Jan-1998 John Dyson <dyson@FreeBSD.org>

Make pstat.c compile, since in the new kernel code, VVMIO doesn't
exist anymore.


# b1f4a44b 11-Nov-1997 Julian Elischer <julian@FreeBSD.org>

Reviewed by: various.

Ever since I first say the way the mount flags were used I've hated the
fact that modes, and events, internal and exported, and short-term
and long term flags are all thrown together. Finally it's annoyed me enough..
This patch to the entire FreeBSD tree adds a second mount flag word
to the mount struct. it is not exported to userspace. I have moved
some of the non exported flags over to this word. this means that we now
have 8 free bits in the mount flags. There are another two that might
well move over, but which I'm not sure about.
The only user visible change would have been in pstat -v, except
that davidg has disabled it anyhow.
I'd still like to move the state flags and the 'command' flags
apart from each other.. e.g. MNT_FORCE really doesn't have the
same semantics as MNT_RDONLY, but that's left for another day.


# c4942498 19-Oct-1997 David Greenman <dg@FreeBSD.org>

"Fixed" pstat -T by avoiding the vnode stats. Disabled pstat -v since
we no longer support that sysctl (in my opinion, pstat -v is a security
hole in any case).


# d9961cfd 09-Oct-1997 Philippe Charnier <charnier@FreeBSD.org>

Use err(3). Add usage().
Default source of tables (-M) is /dev/mem, not /dev/kmem.


# fdaad796 30-Aug-1997 Peter Wemm <peter@FreeBSD.org>

Update to include some of the newer vnode flags and remove some stale ones.


# 6c3f552a 30-Mar-1997 Warner Losh <imp@FreeBSD.org>

compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.


# c263a004 28-Mar-1997 Bruce Evans <bde@FreeBSD.org>

Removed `#define KERNEL'. This was a hack-around for nfs.h being broken
in the Lite2 merge to not export some nfs constants. It started causing
warnings when I added a kernel-only #define for DIRBLKSIZ.

Removed `#define NFS'. This was an old, bad interface for telling
<sys/mount.h> to export nfs stuff.


# 95cddebb 25-Mar-1997 Peter Wemm <peter@FreeBSD.org>

- update MNT_* flags to match lite2 properly. get rid of old #if 0 flags
that are gone, add new missing ones.
- don't dereference kernel relative pointers in user space for() loops, it
doesn't work real well.


# 9c5cdfe0 11-Mar-1997 Peter Wemm <peter@FreeBSD.org>

Merge Lite2 changes


# ed005182 10-Mar-1997 Peter Wemm <peter@FreeBSD.org>

Import some CSRG 4.4BSD-Lite2 components in order to fix the tree build.


# 64e529ea 19-Oct-1996 Joerg Wunsch <joerg@FreeBSD.org>

Make pstat -s (aka. sswapinfo) print ``[NFS]'' as opposed to
``/dev/??'' for NFS swap.

I had a hard time to figure out whether it's possible to print the
actual mounted swap file, but i failed to get any information. If
anybody knows how to get ``192.168.0.1:/swap.192.168.0.3'' instead,
please step forward!


# 5d98ce75 29-Sep-1996 Bruce Evans <bde@FreeBSD.org>

Include <fcntl.h> so that this doesn't depend on the KERNEL version
of <sys/file.h> including <sys/fcntl.h>. Only the !KERNEL version
of <sys/file.h> will do that when I unspam the kernel headers.


# 2d8e94a4 29-May-1996 Sujal Patel <smpatel@FreeBSD.org>

Enable the -M and -N options of swapinfo, as advertised in the usage line.


# fb59e630 09-May-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

Properly free up resources allocated in swapmode(). This is not quite
the patch submitted by Philippe Charnier since he wasn't actually freeing
the resources early enough (an earlier return could be invoked, leaving
the resources still allocated), but he definitely pointed it out. Merci,
Philippe!
Suggested-By: Philippe Charnier <charnier@lirmm.fr>


# 98d69008 10-Mar-1996 Jeffrey Hsu <hsu@FreeBSD.org>

From Lite2: file LIST changes.


# 739a189a 03-Mar-1996 John Dyson <dyson@FreeBSD.org>

Fix pstat to sync up with recent changes with swap space allocation.


# 3aab05cf 29-Oct-1995 Poul-Henning Kamp <phk@FreeBSD.org>

#include <sys/user.h>
I belive make world will work again now.


# a9aa8c37 22-Sep-1995 Peter Wemm <peter@FreeBSD.org>

Add support for the "si" Specialix driver in "pstat -t"
The si driver is different to the others in that the _si_tty symbol
is a pointer, not the base of an array.


# d219a12e 11-Aug-1995 David Greenman <dg@FreeBSD.org>

Do the mountlist traversal the way it was done in 4.4-Lite2.


# 4cdd3a40 11-Aug-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Since the mountlist is now a circular queue, adjust the names of the
queue members used and also add a check to see when we've wrapped
around again.


# 24f769b0 21-Jul-1995 Bruce Evans <bde@FreeBSD.org>

Support cy driver. All tty drivers require namelist stuff here or they
won't get reported. The pcvt, cx and iitty drivers aren't supported.

Report new tty states TS_CONNECTED, TS_SO_OLOWAT, TS_SO_OCOMPLETE,
TS_CAR_OFLOW, TS_CTS_OFLOW, TS_DSR_OFLOW and TS_ZOMBIE if they are
defined.

Report old tty states TS_WOPEN and TS_ASLEEP only if they are defined.

Report not so old tty states TS_CAN_BYPASS_L_RINT and TS_SNOOP only
if they are defined (instead of if __FreeBSD__ is defined).


# a62dc406 27-Jun-1995 Doug Rabson <dfr@FreeBSD.org>

Changes to support version 3 of the NFS protocol.
The version 2 support has been tested (client+server) against FreeBSD-2.0,
IRIX 5.3 and FreeBSD-current (using a loopback mount). The version 2 support
is stable AFAIK.
The version 3 support has been tested with a loopback mount and minimally
against an IRIX 5.3 server. It needs more testing and may have problems.
I have patched amd to support the new variable length filehandles although
it will still only use version 2 of the protocol.

Before booting a kernel with these changes, nfs clients will need to at least
build and install /usr/sbin/mount_nfs. Servers will need to build and
install /usr/sbin/mountd.

NFS diskless support is untested.

Obtained from: Rick Macklem <rick@snowhite.cis.uoguelph.ca>


# 709e8f9a 29-May-1995 Rodney W. Grimes <rgrimes@FreeBSD.org>

Remove trailing whitespace.


# 2df6483f 13-May-1995 Poul-Henning Kamp <phk@FreeBSD.org>

Reflect the fact that we do not swap on the first <dmmax> blocks of a
swapdev, to protect disklabels and other such magic stuff.


# 1295400e 13-May-1995 David Greenman <dg@FreeBSD.org>

Updated to work with Poul-Henning's recent changes to the swap device
table.

Reviewed by: John Dyson and David Greenman
Submitted by: Poul-Henning Kamp


# 59392fe2 13-May-1995 Poul-Henning Kamp <phk@FreeBSD.org>

Make pstat act like swapinfo if so invoked.


# 020531ce 07-May-1995 Andrey A. Chernov <ache@FreeBSD.org>

Add FreeBSD-specific TS_* states


# 90300419 07-May-1995 Andrey A. Chernov <ache@FreeBSD.org>

Enable sio driver and upcoming rc driver
Add more line disciplines


# de4c8be3 28-Apr-1995 Søren Schmidt <sos@FreeBSD.org>

Corrected variable names for syscons support.


# 5c0ca64c 27-Dec-1994 Andreas Schulz <ats@FreeBSD.org>

Submitted by: John Capo
Bogus pstat usage message from pstat:
usage: pstat -Tfnstv [system] [-M core] [-N system]

[system] is not mentioned in the man page and I don't
see where it is used in the code either.
Added also a [] around the first options to show them as optional, ATS.


# 5a3391bf 03-Nov-1994 Andrey A. Chernov <ache@FreeBSD.org>

Fix for 'pstat -t' works on vtys
Submitted by: jhay@mikom.csir.co.za


# e96c5424 09-Oct-1994 David Greenman <dg@FreeBSD.org>

Clean up after last commit: get rid of some unused variables.


# 1cb2c626 09-Oct-1994 David Greenman <dg@FreeBSD.org>

Rewrote swap code to work with our swap layout. Much of the code stolen
from swapinfo.c.


# 8d7547c2 09-Oct-1994 David Greenman <dg@FreeBSD.org>

#if 0'd out the meat of the swap code until I get a chance to rewrite it.


# dea673e9 25-May-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

BSD 4.4 Lite usr.sbin Sources