Commit Graph

2655 Commits

Author SHA1 Message Date
dd
0dd8d48250 This command has more than four options. 2001-06-19 03:34:03 +00:00
dd
18ce5cb97d Hook mdmfs into the build. 2001-06-18 23:47:18 +00:00
dd
2a395fdfb3 Introduce mdmfs(8), a wrapper around mdconfig(8), disklabel(8),
newfs(8), and mount(8) that mimics the command line option set of the
deprecated mount_mfs(8).

Approved by:	jkh, phk, -hackers
2001-06-18 23:46:58 +00:00
pirzyk
976a20fbb6 modfied sysctl command to allow setting values > 2GB if the mib supports it.
PR:		kern/21132
Reviewed by:	no objections to by -arch
MFC after:	1 month
2001-06-18 21:06:24 +00:00
ru
2012259e87 Pick up the correct headers from sys/contrib/ipfilter/netinet. 2001-06-18 15:55:28 +00:00
obrien
04a12c6e39 This commit was generated by cvs2svn to compensate for changes in r78344,
which included commits to RCS files with non-trunk default branches.
2001-06-16 07:16:14 +00:00
obrien
afad76ee76 Import the NetBSD 1.5 RC system.
Note that `rc' and `rc.shutdown' could not be imported because we already
have files with those names.
2001-06-16 07:16:14 +00:00
ru
1947791f91 Allow route(8) to create "proxy only" published ARP entries.
PR:		bin/12357
Submitted by:	Craig Leres <leres@ee.lbl.gov>
2001-06-12 13:31:53 +00:00
ru
e2ee5e2463 Fixed the -iface breakage introduced with the latest KAME merge
in revision 1.48.  It is pretty valid and often feasible to use
a non-point-to-point interface as the gateway.  One might, for
example, use this to route some hosts through an ARP on a local
interface, without having to assign an additional IP address:

Script started on Tue Jun 12 16:16:09 2001
# ifconfig rl0 inet
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	inet 192.168.4.115 netmask 0xffffff00 broadcast 192.168.4.255
# netstat -arn -finet | grep -w rl0
192.168.4          link#1             UC          3        0     rl0 =>
192.168.4.65       0:d0:b7:16:9c:c6   UHLW        1        0     rl0   1197
# route add -net 192.168.100 -iface rl0
add net 192.168.100: gateway rl0
# ping 192.168.100.1
PING 192.168.100.1 (192.168.100.1): 56 data bytes
64 bytes from 192.168.100.1: icmp_seq=0 ttl=255 time=0.551 ms
64 bytes from 192.168.100.1: icmp_seq=1 ttl=255 time=0.268 ms
^C
--- 192.168.100.1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.268/0.410/0.551/0.142 ms
# netstat -arn -finet | grep -w rl0
192.168.4          link#1             UC          3        0     rl0 =>
192.168.4.65       0:d0:b7:16:9c:c6   UHLW        1        0     rl0   1165
192.168.100        link#1             UCSc        1        0     rl0 =>
192.168.100.1      0:d0:b7:16:9c:c6   UHLW        1        4     rl0   1192

Script done on Tue Jun 12 16:17:12 2001
2001-06-12 13:23:43 +00:00
ru
a0e4020b84 Backout previous change (removal of -I${.CURDIR}/../../sys/netinet).
This is needed to pick up the right headers.  Wrong headers from
src/contrib/ipfilter are used otherwise.

The right fix would be to fix contrib/ipfilter C sources to pick up
headers from <sys/netinet>.

Noticed by:	peter
2001-06-11 17:41:58 +00:00
ume
832f8d2249 Sync with recent KAME.
This work was based on kame-20010528-freebsd43-snap.tgz and some
critical problem after the snap was out were fixed.
There are many many changes since last KAME merge.

TODO:
  - The definitions of SADB_* in sys/net/pfkeyv2.h are still different
    from RFC2407/IANA assignment because of binary compatibility
    issue.  It should be fixed under 5-CURRENT.
  - ip6po_m member of struct ip6_pktopts is no longer used.  But, it
    is still there because of binary compatibility issue.  It should
    be removed under 5-CURRENT.

Reviewed by:	itojun
Obtained from:	KAME
MFC after:	3 weeks
2001-06-11 12:39:29 +00:00
mjacob
a1920be1e0 Add 'SKIP' as an action so that verification works for multivolume restores.
Tested with filesystem files.

PR:		27218
Submitted by:	mad1@tapil.com
MFC after:	3 weeks
2001-06-11 01:44:06 +00:00
grog
3b60d30703 Correct typo.
Submitted by: Normand Leclerc <leclercn@videotron.ca>
2001-06-11 00:43:26 +00:00
dd
0a67a9b12c Since we use getopt (in rev. 1.12), there's no need for the case's for
the individual options to increment argv and decrement argc.  This
caused the -T option to swallow an extra argument.

PR:		27982
Submitted by:	Samuel Greear <sgreear@vsni.com>
2001-06-09 04:32:46 +00:00
dd
555fbb44b3 Normalize the use of sizeof according to style(9).
Reviewed by:	md5(1)
2001-06-09 03:56:16 +00:00
peter
9fa3fbc741 dumpmag is 'u_long dumpmag' in the kernel, not 'int'. If this worked on
the Alpha, it was because of luck that it was little endian.

Tidy up the dumpsize/dumppages confusion and the out of date comments.
2001-06-09 01:41:03 +00:00
schweikh
0ca270a59b Fix a "this sentence no verb" grammar bogon.
MFC after:	1 week
2001-06-08 21:20:14 +00:00
ru
9079964eda When changing an indirect route, kernel routing code allocates
a route to the gateway and caches it in the route structure.
It may happen (if the routing table is screwed) that the gateway
route is the same route as the one being modified, in which case
a kernel reports EDQUOT.  Be more verbose about this:

# route add -net 10 192.168.4.65
add net 10: gateway 192.168.4.65
# netstat -rn -finet
Routing tables

Internet:
Destination        Gateway            Flags     Refs     Use     Netif Expire
default            192.168.4.65       UGSc        1        7      rl0
10                 192.168.4.65       UGSc        0        0      rl0
127.0.0.1          127.0.0.1          UH          0      178      lo0
192.168.4          link#1             UC          2        0      rl0 =>
192.168.4.65       0:d0:b7:16:9c:c6   UHLW        2        0      rl0   1123

Before:

# route change -net 10 10.0.0.1
route: writing to routing socket: Disc quota exceeded
change net 10: gateway 10.0.0.1: Disc quota exceeded

After:

# ./route change -net 10 10.0.0.1
route: writing to routing socket: Disc quota exceeded
change net 10: gateway 10.0.0.1: gateway uses the same route

PR:		bin/1093, misc/26833
2001-06-08 12:44:25 +00:00
ru
50544d4e12 Change the host/bits syntax introduced in route.c,v 1.24 to the
net/bits syntax, for consistency with netstat(1) in particular.

OK'ed by:	phk
MFC after:	1 week
2001-06-08 09:07:34 +00:00
dd
fb2240a5b3 Remove xref to blackhole(4). sysctl has nothing to do with
blackhole(4), except that blackhole(4) uses sysctl's.  This xref
obviously isn't appropriate unless we want to xref all the other man
pages which mention sysctls, which we obviously don't (we may want to
list those sysctls, but that's another story).

PR:		27937
Submitted by:	yar
2001-06-08 03:12:32 +00:00
peter
7e86848fd5 'int dumpsize; /* memory size in bytes */' is not good for machines
with 2GB or more of ram.
2001-06-08 03:06:24 +00:00
tomsoft
c8022c06b6 cleanup to get rid of most warnings on alpha
and yes now it also works on alpha

Reviewed by:	chm
MFC after:	3 weeks
2001-06-07 20:43:00 +00:00
sobomax
6c2547ab1f Correct cross-reference:
portmap.8 --> rpcbind.8

Submitted by:	.Xr testing script
2001-06-07 16:59:19 +00:00
ru
e8be8c503b - Exit 1 if "add", "change", or "delete" operation fails.
PR:		bin/12489

- Use inet_ntoa(3) where it should have been used.  This
  part of code simply wasn't converted to the "new" style
  after the routename() function was converted from the
  protocol-generic version to protocol-specific version
  in CSRG revision 5.6.

MFC after:	1 week
2001-06-07 13:50:24 +00:00
chris
67d20a6cbe Mention Alexandre Peixoto's share/examples/ipfw/change_rules.sh in the
checklist.

MFC after:	1 week
2001-06-06 20:56:56 +00:00
phk
4d346adf86 Fix a byteorder problem in a diagnostic message.
PR:		16625
Submitted by:	Peter Jeremy <peter.jeremy@ALCATEL.COM.AU>
2001-06-06 20:52:30 +00:00
tomsoft
3d3c223033 fix a bug of a only partitally initialization which could result
in an unclean filesystem after growing by a large amount of cylinder
groups

Reviewed by:	chm
2001-06-05 18:39:57 +00:00
des
d2c56fe110 Invert the meaning of the -d option (i.e. default to *not* list dynamic rules,
but list them if -d was specified).

Avoid listing expired dynamic rules unless the (new) -e option was specified.

If specific rule numbers were listed on the command line, and the -d flag was
specified, only list dynamic rules that match the specified rule numbers.

Try to partly clean up the bleeding mess this file has become.  If there is
any justice in this world, the responsible parties (you know who you are!)
should expect to wake up one morning with a horse's head in their bed.  The
code still looks like spaghetti, but at least now it's *properly intented*
spaghetti (hmm?  did somebody say "tagliatelle"?).
2001-06-04 23:56:26 +00:00
dd
17345a6309 ARP works on networks other than Ethernet.
PR:		22062
Submitted by:	Christian Weisgerber <naddy@mips.inka.de>,
		Brooks Davis <brooks@one-eyed-alien.net>
2001-06-02 04:09:53 +00:00
dd
5acac71d81 Mention the 'ether' parameter.
PR:		23767
Submitted by:	Maxime Henrion <mux@qualys.com>,
		Brooks Davis <brooks@one-eyed-alien.net>
2001-06-02 04:05:51 +00:00
ru
0c44ad95b8 - VFS_SET(msdos) -> VFS_SET(msdosfs)
- msdos.ko -> msdosfs.ko
- mount_msdos(8) -> mount_msdosfs(8)
- "msdos" -> "msdosfs" compatibility glue in mount(8)
2001-06-01 10:57:26 +00:00
ru
e7a85be33f Remove vestiges of MFS. 2001-06-01 10:07:28 +00:00
dd
cd7c82577f Remove unused variable (descr) in show_var().
PR:		22582
Submitted by:	Giorgos Keramidas <charon@gray.westgate.gr>
2001-06-01 02:58:09 +00:00
bde
b410bb546a Don't link ${BINDIR}/newfs to nowhere.
Don't clutter this Makefile (not to mention the error output) with
$(BDECFLAGS}.
2001-05-30 09:31:24 +00:00
dd
9a8e4d5a40 Remove -DMFS from CFLAGS. 2001-05-29 23:57:23 +00:00
dd
c2182a70f8 Remove all references to MFS. 2001-05-29 23:55:43 +00:00
iedowse
650a04f5d6 Ignore the new superblock fields fs_pendingblocks and fs_pendinginodes
when comparing with the alternate superblock. These fields are used
for temporary in-core information only. This should fix the "VALUES
IN SUPER BLOCK DISAGREE WITH THOSE IN FIRST ALTERNATE" error from
fsck_ffs that has been seen a lot recently.
2001-05-29 20:45:08 +00:00
phk
9dfeaf738e Remove MFS 2001-05-29 20:39:47 +00:00
phk
342f1e5c87 A more complete removal of MFS related code.
XXX: This program badly needs a style(9) + BDECFLAGS treatment.
2001-05-29 19:40:39 +00:00
phk
d1bc4fec62 Initial cleanout of MFS from newfs. More complete wash needed. 2001-05-29 18:52:39 +00:00
iedowse
fdb42dd4bf Since the netexport struct was centralised to 'struct mount',
attempting to remove nonexistant exports with MNT_DELEXPORT returns
an error; before this change it always succeeded. This caused
mountd(8) to log "can't delete exports for /whatever" warnings.

Change the error code from EINVAL to a more specific ENOENT, and
make mountd ignore this error when deleting the export list. I
could have just restored the previous behaviour of returning success,
but I think an error return is a useful diagnostic.

Reviewed by:	phk
2001-05-29 17:46:52 +00:00
phk
de9bff5d04 When using interfaces that support if_media, the supported media list is
printed on a single, very long, and generally unreadable line.  This
isn't very useful.  It's also really ugly and most of the time you don't
care what media is supported anyway.

PR:		27701
Submitted by:	Brooks Davis <brooks@one-eyed-alien.net>
2001-05-29 09:13:44 +00:00
dd
e1f7978951 Update the document date after DES's updates, move the description of
the -b option below -a to maintain alphabetical order, and add a
missing ".It" before "Fl o".
2001-05-29 00:17:17 +00:00
ru
fd136031ce Use new backup feature of install(1). 2001-05-28 16:58:35 +00:00
des
f4bfdd6193 Perform random drive-by style cleanups, and rewrite a while loop that
offended my artistic sensibilities.
2001-05-28 12:35:40 +00:00
des
98fe4d655a Try to make sysctl options slightly more orthogonal:
- introduce a -o option that displays opaque variables.
 - introduce a -x option that displays opaque variables in full.
 - deprecate -A in favor of -ao and -X in favor of -ax.
 - remove -A and -X from usage() and SYNOPSIS (but not from DESCRIPTION).
 - ignore -a if one or more variables were listed on the command line.
 - deprecate -w, it is not needed to determine the user's intentions.
 - some language and style cleanup in the man page.

This commit should not break any existing scripts.

MFC after:	4 weeks
2001-05-28 12:15:45 +00:00
ru
05f3be90b2 - sys/n[tw]fs moved to sys/fs/n[tw]fs
- /usr/include/n[tw]fs moved to /usr/include/fs/n[tw]fs
2001-05-26 11:57:45 +00:00
phk
2b1e902b39 Forgot to cvs add these two files for the previous commit. 2001-05-26 09:28:43 +00:00
phk
1aacce7a45 Currently, each wireless networking driver has it's own control program
despite the fact that most people want to set exactly the same settings
regardless of which card they have.  It has been repeatidly suggested
that this configuration should be done via ifconfig.  This patch
implements the required functionality in ifconfig and add support to the
wi and an drivers.  It also provides partial, untested support for the
awi driver.

PR:		25577
Submitted by:	Brooks Davis <brooks@one-eyed-alien.net>
2001-05-26 09:27:08 +00:00
ru
8094d979ca - sys/msdosfs moved to sys/fs/msdosfs
- msdos.ko renamed to msdosfs.ko
- /usr/include/msdosfs moved to /usr/include/fs/msdosfs
2001-05-25 08:14:14 +00:00
ru
1fdf57d327 Actually rename FDESC, PORTAL, UMAP and UNION file systems.
OK'ed by:	bp
2001-05-24 15:20:11 +00:00
ru
a8152c00a1 Missed one mount_null(8) -> mount_nullfs(8) in previous commit. 2001-05-24 13:13:56 +00:00
nik
226cc1536b Remove the "undocumented" comment in re lflag. 2001-05-24 09:28:59 +00:00
nik
7e5ccc617b Document the -l option.
PR:		docs/27440
Submitted by:	Flix-Antoine Paradis <reel@sympatico.ca>
2001-05-24 09:28:05 +00:00
phk
f77345ea80 Add a -A option to ping which beeps when packets are lost.
PR:		11818
Submitted by:	Marc Evans marc@destek.net
2001-05-24 09:17:52 +00:00
grog
9d2a740d4d *sigh* We can't remove VINUMDEBUG entirely, since we include kernel
header files and sources which depend on it.  For userland, define
VINUMDEBUG here.  Also remove a now superfluous #ifdef.
2001-05-23 23:27:08 +00:00
grog
0e32717daf Remove cruft. 2001-05-23 23:25:50 +00:00
ru
d6e286694d Rename (after a repo-copy) some mount(8) programs:
mount_fdesc -> mount_fdescfs
mount_null -> mount_nullfs
mount_portal -> mount_portalfs
mount_umap -> mount_umapfs
mount_union -> mount_unionfs
2001-05-23 14:58:19 +00:00
ru
35437d86aa - 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.
2001-05-23 09:42:29 +00:00
grog
8cc17e93b3 Remove -DVINUMDEBUG. vinum(8) now always supports debug options if
the kernel module is built that way.
2001-05-23 05:24:53 +00:00
grog
198db21ec7 Remove #ifdef VINUMDEBUG. vinum(8) now always supports debug options
if the kernel module is built that way.

Remove the gross debug device/non-debug device hack used to recognize
whether the kernel module was in sync with the userland module.
2001-05-23 05:23:03 +00:00
grog
4bcc31e369 vinum_debug: Check for kernel module debug support, print error
message if not present.
2001-05-23 05:22:19 +00:00
grog
8e11e49303 Remove #ifdef VINUMDEBUG. vinum(8) now always supports debug options
if the kernel module is built that way.

vinum_info: Check for kernel module debug support, print error message
if not present.
2001-05-23 05:21:22 +00:00
ru
510c2815e8 Fix argument processing.
Make this compile with WARNS=2.

PR:		bin/27524
MFC after:	3 days
2001-05-22 10:33:43 +00:00
grog
5402ddb39e Update description of the stripe size created by vinum_stripe,
vinum_mirror, vinum_raid4, vinum_raid5.

Correct typos.

Show new output of the 'list' and 'ls' commands.

Update examples to use 279 kB stripe sizes instead of 256 kB.

Clarify some text.

Remove the description of the 'invalid ioctl' messages which now no
longer occur.

Add a description of the 'retryerrors' keyword.
2001-05-22 02:40:40 +00:00
grog
3f5c94f026 Major tidy up. Add explicit header files, thus enabling the .c files
to avoid including the kernel headers.

Move a number of definitions of userland functions from
dev/vinum/vinumext.h.

Desired by:	   bde

This commit is the first of a general cleanup of the header files..
It won't be enough to make bde happy.

Remove vinum_perror and associated DEVBUG definition.
2001-05-22 02:39:48 +00:00
grog
6532c66271 Tidy up header files. Don't include stuff we don't need.
Use userland expurgated versions of kernel structures, since that's
what the ioctls return now.

Remove vinum_perror.

main: Check kernel version with userland version in _vinum_conf.  This
      field is a constant which gets incremented every time the
      kernel-userland interface changes.  This enables vinum(8) to
      check for the correct kernel version and to produce a useful
      message if it doesn't match.  For previous versions, which don't
      have a version number, the length of the structure is different,
      so we can recognize it via the EINVAL return from ioctl.

Supply count parameter to tokenize().

Change method of recognizing active devfs: replace devfs_is_active
with (complemented) no_devfs.

make_devices: remove references to devfs.  If we're running devfs,  we
don't need to call make_devices at all.

vinum_makedev (user command 'makedev'): Print a warning message if
devfs is running and don't do anything else.
2001-05-22 02:39:24 +00:00
grog
1c309e7d29 Tidy up header files. Don't include stuff we don't need.
Remove vinum_perror.

Modify 'list' brief printout to fit in 80 columns.

Modify 'ls' brief printout to show the drive to which the subdisk
before instead of the plex offset, which is usually less interesting.
The verbose printout remains unchanged.

Use userland expurgated versions of kernel structures, since that's
what the ioctls return now.

Move checkupdates here to simplify header file mess.
2001-05-22 02:38:52 +00:00
grog
79d1772ca9 Tidy up header files. Don't include stuff we don't need.
Remove 'vinum_perror'.

Only call make_devices if we're not running devfs.

Use userland expurgated versions of kernel structures, since that's
what the ioctls return now.

Update help list, which was lagging behind reality.

checkupdates: move to list.c to simplify header file mess.

vinum_stripe, vinum_mirror, vinum_raid4, vinum_raid5: change the
default stripe size from 256 k to 279 k, thus hopefully spreading
superblocks more evenly.
2001-05-22 02:38:11 +00:00
dwmalone
05e29fb52c Add a flag to "ipfw show" which supresses the display of dynamic
rules.  Also, don't show dynamic rules if you only asked to see a
certain rule number.

PR:		18550
Submitted by:	Lyndon Nerenberg <lyndon@orthanc.ab.ca>
Approved by:	luigi
MFC after:	2 weeks
2001-05-20 10:01:39 +00:00
ru
52a9144c8b Removed -I${.CURDIR}/.../sys from CFLAGS. 2001-05-18 13:41:42 +00:00
sos
50fdd52eff Fix bogon introduce by last commit. 2001-05-18 11:38:58 +00:00
brian
8ed702383f Allow `ip4'' as an `upperspec'' value, and update the man
page with *all* the permissible values.

This should really be spelt ipencap (as /etc/protocols does),
but a precedent has already been set by the ipproto array in
setkey.c.

It would be nice if /etc/protocols was parsed for the upperspec
field, but I don't do yacc/lex...

This change allows policies that only encrypt the encapsulated
packets passing between the endpoints of a gif tunnel.  Setting
such a policy means that you can still talk directly (and
unencrypted) between the public IP numbers with (say) ssh.

MFC after:	1 week
2001-05-17 15:30:49 +00:00
ru
a14b8acde5 mdoc(7) police: update document date. 2001-05-17 11:09:15 +00:00
sos
e70764b25c Update to use the new ioctl interface.
Add the list command.
2001-05-17 10:30:07 +00:00
ru
d437f73f22 mdoc(7) police: fix markup in revision 1.27. 2001-05-15 16:03:59 +00:00
grog
1cebf23d9e Clarify the currently used partition types.
Add cross-references to ccd(4) and vinum(8).
2001-05-14 23:26:40 +00:00
iedowse
0ed7ba54b3 - Split out the {family,socktype}->netid conversion into a separate
function; we now handle unknown protocols more gracefully.

- Cache the return from getnetconfigent() so that we don't have to
  remember to call freenetconfigent() each time. This fixes a memory
  leak that would cause retrying background mount_nfs processes to
  slowly increase their memory usage.
2001-05-13 00:07:03 +00:00
mckusick
7c549baa56 Just notify us once when encountering a partially allocated inode. 2001-05-08 06:41:56 +00:00
ru
92ef63e056 Cosmetics: .Dl -> .Li. 2001-05-07 07:42:56 +00:00
jesper
da4bd71ba5 Let ifconfig(8) catch up with the new functionality where
one can specify addresses and netmask in CIDR notation.

Submitted by:	Dima Dorfman <dima@unixfreak.org>
2001-05-05 19:53:20 +00:00
jesper
814b5baeb7 Implement slash/CIDR notation for IPv4 and IPv6 addresses.
MFC after: 1 week

Reviewed by:	phk
Obtained from:	NetBSD
2001-05-04 18:45:36 +00:00
obrien
538e761e02 * include/elf.h has been repo copied to include/elf-hints.h, and it no
longer includes machine/elf.h.
* consumers of elf.h now use the minimalist elf header possible.

This change is motivated by Binutils 2.11.0 and too much clashing over
our base elf headers and the Binutils elf headers.
2001-05-02 23:56:21 +00:00
dd
120b57c149 Implement the -r and -w options as -o ro' and -o noro', respectively. At
least in -w's case, simply unsetting the correct bit in init_flags was not
enough.  The bit may be reset later if, say, the filesystem is marked `ro'
in fstab.  The command line option should override the fstab setting, but
did not.  The implementation of -r was changed for consistency.

PR:		26886
Reviewed by:	archie
2001-05-02 02:16:16 +00:00
mckusick
c5f553afea Update usage message with new options.
Submitted by:	Ruslan Ermilov <ru@FreeBSD.org>
2001-04-30 05:36:32 +00:00
ru
7e34350ffd mdoc(7) police: fix markup. 2001-04-27 10:32:48 +00:00
ru
ed79d3baab mdoc(7) police:
document date updated, removed history info from the .Os call, cosmetics.
2001-04-27 08:36:48 +00:00
ru
bbf732ba37 mdoc(7) police: update document date, sort xrefs, fix markup. 2001-04-27 08:28:44 +00:00
ru
65e65d4a22 Added missing no's to the -o options list.
Fixed markup.
2001-04-26 12:05:23 +00:00
ru
5062e3a3a7 mdoc(7) police: fix markup. 2001-04-26 11:47:49 +00:00
mckusick
0a79c825c9 Add support for -F flag (trivial as background check is never possible). 2001-04-25 19:05:23 +00:00
mckusick
658667dbfa Add support for running foreground (-F) and background (-B) checks.
Traditionally, fsck is invoked before the filesystems are mounted
and all checks are done to completion at that time. If background
checking is available, fsck is invoked twice. It is first invoked
at the traditional time, before the filesystems are mounted, with
the -F flag to do checking on all the filesystems that cannot do
background checking. It is then invoked a second time, after the
system has completed going multiuser, with the -B flag to do checking
on all the filesystems that can do background checking. Unlike
the foreground checking, the background checking is started
asynchonously so that other system activity can proceed even on
the filesystems that are being checked.

At the moment, only the fast filesystem supports background checking.
To be able to do background checking, a filesystem must have been
running with soft updates, not have been marked as needing a
foreground check, and be mounted and writable when the background
check is to be done (i.e., not listed as `noauto' in /etc/fstab).

These changes are the final piece needed to support background
filesystem checking. They will not have any effect until you update
your /etc/rc to invoke fsck in its new mode of operation. I am
still playing around with exactly what those changes should be
and should be committing them later this week.
2001-04-25 07:18:22 +00:00
mckusick
ecbf3eacd9 Add support for the -F flag which determines whether a specified
filesystem needs foreground checking (usually at boot time) or
can defer to background checking (after the system is up and running).
See the manual page, fsck_ffs(8), for details on the -F and -B options.
These options are primarily intended for use by the fsck front end.

All output is directed to stdout so that the output is coherent
when redirected to a file or a pipe. Unify the code with the fsck
front end that allows either a device or a mount point to be
specified as the argument to be checked.
2001-04-24 22:38:08 +00:00
imp
461acba9c0 Say "add -r" rather than 'use -r' since the former is more correct.
The latter implies to many people that they use only -r, which is
incorrect.
2001-04-24 17:40:54 +00:00
kris
3edf709f74 sprintf() -> snprintf()
Partially submitted by:	"Andrew R. Reiter" <arr@watson.org>
Obtained from:	OpenBSD
2001-04-24 10:26:00 +00:00
iedowse
f0878d962f In fsdb, call sblock_init() which is now necessary to initialise
the global variable dev_bsize. Add a prototype for sblock_init()
to fsck.h, and set the return type correctly.
2001-04-23 21:39:14 +00:00
iedowse
ba96b53461 Reinstate one more old bugfix that got lost in the tirpc commit:
always look up -network and -mask addresses numerically before
trying getnetbyname(). Without this, we may end up attempting DNS
queries on silly names such as "127.0.0.0.my-domain.com". See the
commit log from revisions 1.21 and 1.20 for further details.
2001-04-23 10:12:31 +00:00
iedowse
701f37e23c When exporting a directory that is not a mountpoint, mountd repeatedly
removes the last path component until the mount() succeeds. However,
the code never checks if it has passed the mountpoint, so in some
cases where the mount() never succeeds, it can end up applying the
flags from a mounted filesystem to the underlying one.

Add a sanity check to the code which removes the last path component:
test that the fsid associated with the new path is the same as that
of the old one.

PR:		bin/7872
2001-04-22 21:50:30 +00:00
iedowse
e293eec299 The introduction of IPv6 support from NetBSD's mountd invalidated
a number of assumptions related to the parsing of options in
/etc/exports, and missed a few necessary new error checks.

The main problems related to netmasks: an IPv6 network address
missing a netmask would result in the filesystem being exported to
the whole IPv6 world, non-continuous netmasks would be made continuous
without any warnings, and nothing prevented you specifying an IPv4
mask with an IPv6 address.

This change addresses these issues. As a side-effect we now store
netmasks in sockaddr structs (this matches the kernel interface,
and is closer to the way it used to be). Add a flag OP_HAVEMASK to
keep track of whether or not we have successfully got a mask from
any source. Replace some mask-related helper functions with versions
that use the sockaddr-based masks.

Also tidy up get_net() and fix the code that interprets IPv4 partial
networks such as "127.1" as network rather than host addresses.
Properly zero out some structures that were ending up partially
containing junk from the stack, fix a few formatting issues, and
add a comment noting some assumptions about export arguments.
2001-04-21 20:06:18 +00:00
iedowse
439a88e5fd Fix a long-standing bug relating to the handling of SIGHUP: mountd
would call malloc, stdio and other library functions from the signal
handler which is not safe due to reentrancy problems.

Instead, add a simple handler that just sets a flag, and call the
more complex function from main() when necessary. Unfortunately to
be able to check this flag, we must expand the svc_run() call, but
the RPC library makes that relatively easy to do.
2001-04-21 00:55:17 +00:00
jkh
c0ad0e9671 Fix bogon with the nodump flag.
Submitted by:	Dima Dorfman <dima@unixfreak.org>
2001-04-19 01:39:27 +00:00
ru
2d1b95a96f mdoc(7) police: normalize .Nd. 2001-04-18 15:54:10 +00:00
iedowse
3f3a6a4168 A few more mountd cleanups:
- Remove some horrible code that faked a "struct addrinfo" to be
  later passed to freeaddrinfo(). Instead, add a new group type
  "GT_DEFAULT" used to denote that the filesystem is exported to the
  world, and treat this case separately.
- Don't clear the AI_CANONNAME flag in a struct addrinfo returned
  by getaddrinfo. There's still a bit more struct addrinfo abuse
  left in here.
- Simplify do_mount() slightly by using an addrinfo pointer to keep
  track of the current address.
2001-04-18 00:28:37 +00:00
iedowse
023d47cd6f Various bugfixes and cleanups, mainly from Martin Blapp:
- Revert del_mlist() to its pre-tirpc prototype. Unlike NetBSD's version,
  ours lets the caller generate any syslog() messages, so that it
  can include the service name in the message.
- Initialise a few local variables to clarify the logic and avoid some
  compiler warnings.
- Remove a few unused functions and local variables, and fix some
  whitespace issues.
- Reinstate the logic for avoiding duplicate host entries that got
  removed accidentally in revision 1.41 (added in r1.5). This bit
  was submitted in a slightly different form by Thomas Quinot.

Submitted by:	Martin Blapp <mb@imp.ch>,
		Thomas Quinot <quinot@inf.enst.fr>
PR:		bin/26148
2001-04-17 22:25:48 +00:00
kris
5dc1c9a555 Add a missing argument to an error message format string. 2001-04-17 07:21:48 +00:00
mckusick
8553bca948 Minor background cleanups:
1) Set the FS_NEEDSFSCK flag when unexpected problems are encountered.
2) Clear the FS_NEEDSFSCK flag after a successful foreground cleanup.
3) Refuse to run in background when the FS_NEEDSFSCK flag is set.
4) Avoid taking and removing a snapshot when the filesystem is already clean.
5) Properly implement the force cleaning (-f) flag when in preen mode.

Note that you need to have revision 1.21 (date: 2001/04/14 05:26:28) of
fs.h installed in <ufs/ffs/fs.h> defining FS_NEEDSFSCK for this to compile.
2001-04-16 22:22:21 +00:00
ru
e1087e135d mdoc(7) police: prepare for mdocNG. 2001-04-16 15:12:58 +00:00
mckusick
4cf28ecf05 Do not allow the soft updates flag to be set if the filesystem is dirty.
Because the kernel will allow the mounting of unclean filesystems when
the soft updates flag is set, it is important that only soft updates
style inconsistencies (missing blocks and inodes) be present. Otherwise
a panic may ensue. It is also important that the filesystem be in a clean
state when the soft updates flag is set because the background fsck uses
the fact that the flag is set to indicate that it is safe to run. If
background fsck encounters non-soft updates style inconsistencies, it
will exit with unexpected inconsistencies.
2001-04-13 23:54:49 +00:00
dd
89302146ee mdoc(7) police: properly use a -diag list in the DIAGNOSTICS section.
Reviewed by:	ru
2001-04-13 19:59:47 +00:00
dd
fb1146362f Back out most of revision 1.28: lists of diagnostics must use -diag,
not -tag.  Instead, put a period after the error messages to aide
those using dumb terminals not capable of properly displaying markup.

Requested by:	ru
2001-04-13 06:54:05 +00:00
ru
029dfd12d6 Update comment to match ipfw/ipfw.c,v 1.95. 2001-04-13 06:49:47 +00:00
gshapiro
1e64929334 Match ip6fw's command line options to those of ipfw (specifically, added
the ability to use a preprocessor, use the -q (quiet) flag when reading
from a file).  The source used is from ipfw.

Clean up exit codes while I am here.

KAME has been informed and plans on integrating these patches into their
own source as well.
2001-04-13 01:31:17 +00:00
iedowse
d212e20c86 Fix a typo relating to the "-U" (force UDP for mount protocol)
option. When specified, make sure to use the correct netid for the
getnetconfigent() call, and also in error messages.
2001-04-11 00:21:16 +00:00
jhb
5ede69a603 Catch up to the dirpref changes by copying new fields in the alternate
superblock from the original superblock so that differences in those new
fields are ignored.
2001-04-10 22:11:01 +00:00
iedowse
07990b1abd Split out all the RPC code into a separate function and address a
number of issues:

- Fix background mounts; these were broken in revision 1.40.
- Don't give up before trying all addresses returned by getaddrinfo().
- Use protocol-independent routines where possible.
- Improve error reporting for RPC errors.
- In non-background mode, give up after trying all protocols once.
- Use daemon(3) instead of rolling our own version.
- Never go ahead with the mount() syscall until we have received
  a reply from the remote nfsd; this is especially important with
  non-interruptible mounts, as otherwise a mistyped command might
  require a reboot to correct.

Reviewed by:	alfred, Martin Blapp <mb@imp.ch>
2001-04-10 22:05:47 +00:00
ru
4944787dbf vnconfig(8) -> mdconfig(8). 2001-04-10 16:29:41 +00:00
nik
f9125d616d Add information about the new options to newfs and tunefs which set the
expected average file size and number of files per directory.  Could do
with some fleshing out.
2001-04-10 10:36:44 +00:00
mckusick
3931e94b1f Directory layout preference improvements from Grigoriy Orlov <gluk@ptci.ru>.
His description of the problem and solution follow. My own tests show
speedups on typical filesystem intensive workloads of 5% to 12% which
is very impressive considering the small amount of code change involved.

------

  One day I noticed that some file operations run much faster on
small file systems then on big ones. I've looked at the ffs
algorithms, thought about them, and redesigned the dirpref algorithm.

  First I want to describe the results of my tests. These results are old
and I have improved the algorithm after these tests were done. Nevertheless
they show how big the perfomance speedup may be. I have done two file/directory
intensive tests on a two OpenBSD systems with old and new dirpref algorithm.
The first test is "tar -xzf ports.tar.gz", the second is "rm -rf ports".
The ports.tar.gz file is the ports collection from the OpenBSD 2.8 release.
It contains 6596 directories and 13868 files. The test systems are:

1. Celeron-450, 128Mb, two IDE drives, the system at wd0, file system for
   test is at wd1. Size of test file system is 8 Gb, number of cg=991,
   size of cg is 8m, block size = 8k, fragment size = 1k OpenBSD-current
   from Dec 2000 with BUFCACHEPERCENT=35

2. PIII-600, 128Mb, two IBM DTLA-307045 IDE drives at i815e, the system
   at wd0, file system for test is at wd1. Size of test file system is 40 Gb,
   number of cg=5324, size of cg is 8m, block size = 8k, fragment size = 1k
   OpenBSD-current from Dec 2000 with BUFCACHEPERCENT=50

You can get more info about the test systems and methods at:
http://www.ptci.ru/gluk/dirpref/old/dirpref.html

                              Test Results

             tar -xzf ports.tar.gz               rm -rf ports
  mode  old dirpref new dirpref speedup old dirprefnew dirpref speedup
                             First system
 normal     667         472      1.41       477        331       1.44
 async      285         144      1.98       130         14       9.29
 sync       768         616      1.25       477        334       1.43
 softdep    413         252      1.64       241         38       6.34
                             Second system
 normal     329         81       4.06       263.5       93.5     2.81
 async      302         25.7    11.75       112          2.26   49.56
 sync       281         57.0     4.93       263         90.5     2.9
 softdep    341         40.6     8.4        284          4.76   59.66

"old dirpref" and "new dirpref" columns give a test time in seconds.
speedup - speed increasement in times, ie. old dirpref / new dirpref.

------

Algorithm description

The old dirpref algorithm is described in comments:

/*
 * Find a cylinder to place a directory.
 *
 * The policy implemented by this algorithm is to select from
 * among those cylinder groups with above the average number of
 * free inodes, the one with the smallest number of directories.
 */

A new directory is allocated in a different cylinder groups than its
parent directory resulting in a directory tree that is spreaded across
all the cylinder groups. This spreading out results in a non-optimal
access to the directories and files. When we have a small filesystem
it is not a problem but when the filesystem is big then perfomance
degradation becomes very apparent.

What I mean by a big file system ?

  1. A big filesystem is a filesystem which occupy 20-30 or more percent
     of total drive space, i.e. first and last cylinder are physically
     located relatively far from each other.
  2. It has a relatively large number of cylinder groups, for example
     more cylinder groups than 50% of the buffers in the buffer cache.

The first results in long access times, while the second results in
many buffers being used by metadata operations. Such operations use
cylinder group blocks and on-disk inode blocks. The cylinder group
block (fs->fs_cblkno) contains struct cg, inode and block bit maps.
It is 2k in size for the default filesystem parameters. If new and
parent directories are located in different cylinder groups then the
system performs more input/output operations and uses more buffers.
On filesystems with many cylinder groups, lots of cache buffers are
used for metadata operations.

My solution for this problem is very simple. I allocate many directories
in one cylinder group. I also do some things, so that the new allocation
method does not cause excessive fragmentation and all directory inodes
will not be located at a location far from its file's inodes and data.
The algorithm is:
/*
 * Find a cylinder group to place a directory.
 *
 * The policy implemented by this algorithm is to allocate a
 * directory inode in the same cylinder group as its parent
 * directory, but also to reserve space for its files inodes
 * and data. Restrict the number of directories which may be
 * allocated one after another in the same cylinder group
 * without intervening allocation of files.
 *
 * If we allocate a first level directory then force allocation
 * in another cylinder group.
 */

  My early versions of dirpref give me a good results for a wide range of
file operations and different filesystem capacities except one case:
those applications that create their entire directory structure first
and only later fill this structure with files.

  My solution for such and similar cases is to limit a number of
directories which may be created one after another in the same cylinder
group without intervening file creations. For this purpose, I allocate
an array of counters at mount time. This array is linked to the superblock
fs->fs_contigdirs[cg]. Each time a directory is created the counter
increases and each time a file is created the counter decreases. A 60Gb
filesystem with 8mb/cg requires 10kb of memory for the counters array.

  The maxcontigdirs is a maximum number of directories which may be created
without an intervening file creation. I found in my tests that the best
performance occurs when I restrict the number of directories in one cylinder
group such that all its files may be located in the same cylinder group.
There may be some deterioration in performance if all the file inodes
are in the same cylinder group as its containing directory, but their
data partially resides in a different cylinder group. The maxcontigdirs
value is calculated to try to prevent this condition. Since there is
no way to know how many files and directories will be allocated later
I added two optimization parameters in superblock/tunefs. They are:

        int32_t  fs_avgfilesize;   /* expected average file size */
        int32_t  fs_avgfpdir;      /* expected # of files per directory */

These parameters have reasonable defaults but may be tweeked for special
uses of a filesystem. They are only necessary in rare cases like better
tuning a filesystem being used to store a squid cache.

I have been using this algorithm for about 3 months. I have done
a lot of testing on filesystems with different capacities, average
filesize, average number of files per directory, and so on. I think
this algorithm has no negative impact on filesystem perfomance. It
works better than the default one in all cases. The new dirpref
will greatly improve untarring/removing/coping of big directories,
decrease load on cvs servers and much more. The new dirpref doesn't
speedup a compilation process, but also doesn't slow it down.

Obtained from:	Grigoriy Orlov <gluk@ptci.ru>
2001-04-10 08:38:59 +00:00
dd
cb8bda79d6 Make the list in the DIAGNOSTICS section "-tag" instead of "-diag":
the former makes it more obvious as to there the error message starts
and the explanation begins.

PR:		26431
2001-04-10 01:03:29 +00:00
dd
a5c0f5b963 wd0 -> ad0
PR:		26343
Submitted by:	Sergey A. Osokin <osa@FreeBSD.org.ru>
2001-04-08 18:41:22 +00:00
phk
a117685f16 Don't make fsck go quite _that_ fast:
In Preen mode we only checked one partition per disk device.
2001-04-07 13:24:59 +00:00
ru
ef2dbc1fb0 beforeinstall -> SCRIPTS. 2001-04-07 11:21:35 +00:00
bde
1e9f669d37 Fixed some printf format errors (don't assume that ntohl() returns u_long). 2001-04-05 07:37:55 +00:00
ru
a1012ae9ac mdoc(7) police: use .Nm instead of hardcoded name. 2001-04-04 10:36:16 +00:00
nik
5e26890919 wd1s1a -> ad1s1a
Submitted by:	sanpei
2001-04-04 08:42:40 +00:00
bde
0caa94f79f Fixed style bugs in previous commit. 2001-04-03 09:35:36 +00:00
obrien
edb100ede1 Document the newfs.c rev 1.33 changing the default c/g from 16 to 22. 2001-04-02 22:48:54 +00:00
obrien
0fc98e77b8 Fix patch merge braino. 2001-04-02 22:46:02 +00:00
obrien
d74457c7fe Allow enabling soft updates (with -U) on a new filesystem.
[I first added this functionality, and thought to check prior art.  Seeing
OpenBSD had already done this, I changed my addition to reduce the diffs
between the two and went with their option letter.]
Obtained from:	OpenBSD
2001-04-02 01:25:55 +00:00
mckusick
083b9a8fbe Use fs->fs_ipg rather than cg->cg_niblk as the latter is only
16-bits and may overflow.

Obtained from:	Bruce Evans <bde@zeta.org.au>
2001-03-31 22:17:38 +00:00
ache
7b7a57f757 - Back out the last (wrong) commit, and readd a modified version
of pingnfsserver(). The pingnfsport() function is now called everytime.
  If we don't get RPC_SUCCESS or RPC_PROGVERSMISMATCH back, there's
  something wrong with the NFS server and we just exit.

- Fix cfs mount on IPv4-only machines

- Fixed the looping when we did not run background mode.

- Fixed a getnameinfo() call with uninitialized adress.
  This is a NetBSD bug I didn't notified :-( Thanks Ian !

- Added some #ifdef NFSKERB

- Removed some unused variables.

- Fixed idention

- Remove unnecessary ":" in openlog ident

Submitted by:	Martin Blapp <mb@imp.ch>
Reviewed by:	Ian Dowse <iedowse@maths.tcd.ie>
2001-03-31 20:45:21 +00:00
adrian
1d52622861 Quoting from the email thrown around between kirk, bde and iedowse@..
<QUOTE>
Overflow of cg_niblk causes spurious "SUMMARY INFORMATION BAD" warnings
prompts in fsck_ffs.  cg_niblk has type int16_t, but it is (ab)used
to hold the number of inodes per group (it has nothing to do with the
number of inode blocks in the cg as claimed in ffs/fs.h), and there
can be lots of inodes per group.  E.g.,

    newfs -i 8192 -b 16384 -f 16384 -c 255 ...

gives 0xA900 inodes/group.  Assignment of this to cg_niblk gives
-0x5700.  This is mostly harmless (ufs/ffs doesn't use cg_niblk, and
bug-for-bug compatible overflow occurs in newfs), but in
fsck_ffs/pass5.c, negative values of cg_niblk limit cg_irotor to 0
and the summary info appears to be bad.
</QUOTE>

Submitted by:	Bruce Evans <bde@zeta.org.au>
Obtained from:	Kirk McKusick <mckusick@mckusick.com>
2001-03-31 15:19:58 +00:00
obrien
4d6d792fb5 Remove two lint directives that aren't needed since rev 1.5. 2001-03-30 16:51:51 +00:00
phk
c59a8fb48c This change sanitizes the way fsck deals with pass numbers.
Consider this /etc/fstab:

# Device         Mountpoint      FStype  Options    Dump    Pass#
/dev/ad1s1b      none            swap    sw         0       0
/dev/ad0s1b      none            swap    sw         0       0
/dev/ad0s1a      /               ufs     rw         1       1
/dev/ad0s1e      /home           ufs     rw         2       2
/dev/ad1s1e      /tmp            ufs     rw         2       2
/dev/ad1s1f      /usr            ufs     rw         2       2
/dev/ccd0c       /syv            ufs     rw         2       11
proc             /proc           procfs  rw         0       0

ccd0c is striped over /dev/ad0f and /dev/ad1g

Without this pass, fsck in preen mode will check ad0s1a first,
and then issue three processes in parallel:

One process doing ad0s1e
One process doing ad1s1e and ad1s1f
One process doing ccd0c

There is no way to tell it that ccd0c overlaps ad0 and ad1.

With the patch, it will do it this way:

pass 2:
One process doing ad0s1e
One process doing ad1s1e and ad1s1f

and when they are complete:

pass 11:
One process doing ccd0c

This is much faster and more sane.

Valid pass numbers are anything from 1 to INTMAX-1.

I retired the '-l' option which tried to allow people to do
something like this, but which didn't work and which complicated
the code an awful lot.
2001-03-30 08:01:34 +00:00
phk
a9b78ad42b Allow specification of which source address to use for encapsulation.
PR:		25847
Submitted by:	Eugene Polovnikov <eugene@brain-fag.org>
2001-03-28 17:30:26 +00:00
obrien
51ca15c2dc Make rev 1.5 better match the rest of dump(8)'s output. 2001-03-27 19:38:34 +00:00
obrien
c9c6dd1eff Do not exit if unable to read /etc/dumpdates or create it.
If one is trying to dump or repair an ill system, give the user a fighting
chance.  Refusing to operate w/o a very non-critical file (feature) is
just plain stupid.
2001-03-27 19:28:00 +00:00
alfred
43f4ccfaee give the "netgrent" functions a home in netdb.h 2001-03-27 09:49:03 +00:00
ken
24c4b1e75b Rewrite of the CAM error recovery code.
Some of the major changes include:

	- The SCSI error handling portion of cam_periph_error() has
	  been broken out into a number of subfunctions to better
	  modularize the code that handles the hierarchy of SCSI errors.
	  As a result, the code is now much easier to read.

	- String handling and error printing has been significantly
	  revamped.  We now use sbufs to do string formatting instead
	  of using printfs (for the kernel) and snprintf/strncat (for
	  userland) as before.

	  There is a new catchall error printing routine,
	  cam_error_print() and its string-based counterpart,
	  cam_error_string() that allow the kernel and userland
	  applications to pass in a CCB and have errors printed out
	  properly, whether or not they're SCSI errors.  Among other
	  things, this helped eliminate a fair amount of duplicate code
	  in camcontrol.

	  We now print out more information than before, including
	  the CAM status and SCSI status and the error recovery action
	  taken to remedy the problem.

	- sbufs are now available in userland, via libsbuf.  This
	  change was necessary since most of the error printing code
	  is shared between libcam and the kernel.

	- A new transfer settings interface is included in this checkin.
	  This code is #ifdef'ed out, and is primarily intended to aid
	  discussion with HBA driver authors on the final form the
	  interface should take.  There is example code in the ahc(4)
	  driver that implements the HBA driver side of the new
	  interface.  The new transfer settings code won't be enabled
	  until we're ready to switch all HBA drivers over to the new
	  interface.

src/Makefile.inc1,
lib/Makefile:		Add libsbuf.  It must be built before libcam,
			since libcam uses sbuf routines.

libcam/Makefile:	libcam now depends on libsbuf.

libsbuf/Makefile:	Add a makefile for libsbuf.  This pulls in the
			sbuf sources from sys/kern.

bsd.libnames.mk:	Add LIBSBUF.

camcontrol/Makefile:	Add -lsbuf.  Since camcontrol is statically
			linked, we can't depend on the dynamic linker
			to pull in libsbuf.

camcontrol.c:		Use cam_error_print() instead of checking for
			CAM_SCSI_STATUS_ERROR on every failed CCB.

sbuf.9:			Change the prototypes for sbuf_cat() and
			sbuf_cpy() so that the source string is now a
			const char *.  This is more in line wth the
			standard system string functions, and helps
			eliminate warnings when dealing with a const
			source buffer.

			Fix a typo.

cam.c:			Add description strings for the various CAM
			error status values, as well as routines to
			look up those strings.

			Add new cam_error_string() and
			cam_error_print() routines for userland and
			the kernel.

cam.h:			Add a new CAM flag, CAM_RETRY_SELTO.

			Add enumerated types for the various options
			available with cam_error_print() and
			cam_error_string().

cam_ccb.h:		Add new transfer negotiation structures/types.

			Change inq_len in the ccb_getdev structure to
			be "reserved".  This field has never been
			filled in, and will be removed when we next
			bump the CAM version.

cam_debug.h:		Fix typo.

cam_periph.c:		Modularize cam_periph_error().  The SCSI error
			handling part of cam_periph_error() is now
			in camperiphscsistatuserror() and
			camperiphscsisenseerror().

			In cam_periph_lock(), increase the reference
			count on the periph while we wait for our lock
			attempt to succeed so that the periph won't go
			away while we're sleeping.

cam_xpt.c:		Add new transfer negotiation code.  (ifdefed
			out)

			Add a new function, xpt_path_string().  This
			is a string/sbuf analog to xpt_print_path().

scsi_all.c:		Revamp string handing and error printing code.
			We now use sbufs for much of the string
			formatting code.  More of that code is shared
			between userland the kernel.

scsi_all.h:		Get rid of SS_TURSTART, it wasn't terribly
			useful in the first place.

			Add a new error action, SS_REQSENSE.  (Send a
			request sense and then retry the command.)
			This is useful when the controller hasn't
			performed autosense for some reason.

			Change the default actions around a bit.

scsi_cd.c,
scsi_da.c,
scsi_pt.c,
scsi_ses.c:		SF_RETRY_SELTO -> CAM_RETRY_SELTO.  Selection
			timeouts shouldn't be covered by a sense flag.

scsi_pass.[ch]:		SF_RETRY_SELTO -> CAM_RETRY_SELTO.

			Get rid of the last vestiges of a read/write
			interface.

libkern/bsearch.c,
sys/libkern.h,
conf/files:		Add bsearch.c, which is needed for some of the
			new table lookup routines.

aic7xxx_freebsd.c:	Define AHC_NEW_TRAN_SETTINGS if
			CAM_NEW_TRAN_CODE is defined.

sbuf.h,
subr_sbuf.c:		Add the appropriate #ifdefs so sbufs can
			compile and run in userland.

			Change sbuf_printf() to use vsnprintf()
			instead of kvprintf(), which is only available
			in the kernel.

			Change the source string for sbuf_cpy() and
			sbuf_cat() to be a const char *.

			Add __BEGIN_DECLS and __END_DECLS around
			function prototypes since they're now exported
			to userland.

kdump/mkioctls:		Include stdio.h before cam.h since cam.h now
			includes a function with a FILE * argument.

Submitted by:	gibbs (mostly)
Reviewed by:	jdp, marcel (libsbuf makefile changes)
Reviewed by:	des (sbuf changes)
Reviewed by:	ken
2001-03-27 05:45:52 +00:00
obrien
13dcb5c875 The common wisdom is to use the largest number of cylinders per group.
So bump the default from `16' to `22', which is the largest value allowed
with the current default block size.  This change increases the the
group size from 32MB/g to 44MB/g on a 4GB SCSI disk.
2001-03-27 01:34:58 +00:00
ru
afd506414e - Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.
2001-03-26 14:42:20 +00:00
ru
86642a4ab4 - Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.
2001-03-26 14:33:27 +00:00
alfred
c5d3e9426c Don't call daemon() and setup our signal handlers until after we check
and do the unregister/reregister work.

Don't call syslog in the unregister/reregister code as we haven't called
openlog() yet.

Be a more conservative about accepting errno values from socket(2),
only EPROTONOSUPPORT means that the kernel isn't supporting it
something like INET6.  The other possible errnos would be returned
if there was a mistake in the socket(2) call so remove them from the
list of "acceptable" return values.
2001-03-25 23:32:55 +00:00
alfred
20ed2193f0 Disable ipv6 when getnetconfigent("udp6"/"tcp6") fails.
Submitted by: Martin Blapp <mb@imp.ch>
2001-03-25 23:28:03 +00:00
alfred
2009fd4382 Replace pmap_unset() with rpcb_unset() which fixes the unregistering.
Submitted by: Martin Blapp <mb@imp.ch>
2001-03-25 19:59:07 +00:00
alfred
57d69411fc Deal with lack of IPv6 support gracefully.
Submitted by: Martin Blapp <mb@imp.ch>
2001-03-25 19:57:58 +00:00
alfred
f6ff30b00b fix -o port=xxx 2001-03-25 19:18:43 +00:00
roberto
0bcfe80271 Respect style(9), one must not include both <sys/types.h> and
<sys/param.h> (the latter includes the former).

Submitted by:	bde
2001-03-22 13:19:32 +00:00
alfred
c17cf08845 Include headers to unbreak world.
Submitted by: Ollivier Robert <roberto@eurocontrol.fr>
2001-03-21 20:30:35 +00:00
mckusick
dc0e22cfaf Additions to run checks on live filesystems. This change will not
affect current systems until fsck is modified to use these new
facilities. To try out this change, set the fsck passno to zero
in /etc/fstab to cause the filesystem to be mounted without running
fsck, then run `fsck_ffs -p -B <filesystem>' after the system has
been brought up multiuser to run a background cleanup on <filesystem>.
Note that the <filesystem> in question must have soft updates enabled.
2001-03-21 09:48:03 +00:00