Commit Graph

2653 Commits

Author SHA1 Message Date
lukem
fa02ec4ccb fix a -Wshadow warning 2001-11-01 07:48:08 +00:00
lukem
3d6fc56715 fix -Wshadow warning by moving "int version" from global to main() scope 2001-11-01 07:44:05 +00:00
lukem
d3656d428d fix a couple of -Wshadow warnings 2001-11-01 07:39:38 +00:00
lukem
4475e1747e fix a couple of -Wshadow warnings 2001-11-01 07:31:22 +00:00
lukem
058fbb840d opendisk(3) checks the device type for us 2001-11-01 07:04:18 +00:00
jdolecek
d66dfc84d0 Xref disklabel and mention that mbrlabel can help setup the disk label
Note that NTFS partition is no longer accessible in NetBSD once
it's marked 'dynamic' in MS Windows XP.

Pointed out by Christos.
2001-10-31 21:04:45 +00:00
jdolecek
1295376b01 Couple changes, mainly to address stuff raised recently on port-i386
('Does i386 support NTFS5 now?'):

add a note both NTFS4 and NTFS5 are supported
reformat the Limitations a bit
assert the write support is not really useful, and should not be used
add a BUGS section, note missing stuff for the write support to be useful,
and the disk label thing spotted by Christos Zoulas
2001-10-31 19:16:36 +00:00
wiz
f1dd0210ab Sort sections, whitespace nits. 2001-10-30 07:28:22 +00:00
kml
1d2a82ea66 Added descriptions of the new sysctls for controlling the disposition
of IPv4 routes added via redirects, rediraccept and redirtimeout.
2001-10-30 06:43:21 +00:00
lukem
99147a7648 remove #include <ufs/ufs/quota.h> where it was just to appease
<ufs/ufs/inode.h>, since the latter now includes the former.  leave the former
in source that obviously uses specific bits of it (for completeness.)
2001-10-26 05:56:06 +00:00
lukem
ca2a1a8c3b in msg(), don't call va_list using functions twice in a row without calling
va_start() in between; reorder code so that we call vsnprintf and then
just fputs that buffer. crank the size of lastmsg whilst we're here
problem noted by Hideo Saito in [bin/14348].
2001-10-25 08:04:27 +00:00
atatat
70478477a0 Clean up the code a bit so that the ioctl() return value is always
compared to -1 (instead of <0 or !=0) and always to call err() with
EXIT_FAILURE instead of sometimes using 1.
2001-10-24 22:10:15 +00:00
atatat
cdc6282274 Provide a short output format for the get command that only prints the
address corresponding to RTA_GATEWAY, or nothing if it doesn't exist.
Modify the exit value of route depending on this, so that one can do
stuff like:

#!/bin/sh
gw=`route -sn get default 2>/dev/null`
if [ -z "$gw" ]; then
	echo no default route
	exit 1
fi
ping -w1 -c1 $gw >/dev/null 2>&1
if ! route -sn get $gw >/dev/null; then
	echo default gateway not responding
	exit 1
fi
echo default gateway is at $gw
2001-10-24 18:40:16 +00:00
atatat
2e4d1a174e Print a R on reject routes to indicate that they're not normal routes,
and check netmask (or prefix) length as well as the destination
address when determining if a route is a "default" or not.  This means
that the output from 'route show' will no longer say:

	Internet6:
	Destination       Gateway            Flags
	default           localhost          UG
	default           localhost          UG

but instead

	Internet6:
	Destination       Gateway            Flags
	::/104            localhost          UGR
	::/96             localhost          UGR

which makes much more sense.
2001-10-24 16:05:06 +00:00
lukem
8064490359 minor WARNS=2 stuff 2001-10-19 01:16:37 +00:00
christos
b77fb2a456 PR/14286: reed@reedmedia.net: Explain default. 2001-10-18 13:42:32 +00:00
atatat
39c4f538a3 Use the new sh script instead of the (now defunct) pl one 2001-10-15 17:34:50 +00:00
uch
0cbd019fc3 playstation2 support 2001-10-15 16:22:50 +00:00
wiz
699d58b177 Whitespace fixes, sort SEE ALSO, sort sections. 2001-10-15 13:43:06 +00:00
blymn
a152a6a92a Add the capability for dump to print timestamps on all informational
messages.
2001-10-15 13:25:33 +00:00
lukem
9f95bf0782 fix error reporting in rdfs() and wtfs() 2001-10-14 01:38:53 +00:00
atatat
04fb6977ef Install the shell script instead of the perl script 2001-10-12 16:19:30 +00:00
atatat
c9281cb7dd Bye bye, perl script. 2001-10-12 16:19:05 +00:00
atatat
149865a4d7 Remove the perl script from the mount_portal example for cvs and
replace it with a regular sh script.
2001-10-12 16:15:26 +00:00
atatat
9305145646 Add another example that shows how to map a cvs server into your local
file system so that you can pull random files out of it easily.
2001-10-11 18:41:11 +00:00
yamt
01f308933f - use IP_MAXPACKET instead of 65535.
- change max packet size from 65468 to 65467(= IP_MAXPACKET-60-8).
2001-10-10 15:58:04 +00:00
yamt
d549add37f - fix overrun bug.
- bump bufsize to fix "packet loss" with large packet.
2001-10-09 19:17:02 +00:00
lukem
7ca2a2b569 cleanups suggested by simonb:
- rename "format.c" -> "pack_dev.c", "mknod.h" -> "pack_dev.h"
- make the private stuff in pack_dev.c static
2001-10-08 04:45:29 +00:00
lukem
da188f40f2 improve arg clamping 2001-10-08 04:25:00 +00:00
lukem
a1dcc3ea23 - move parsing of format type and format handlers into format.c, for easier
use in other programs
- do a bit of KNF whilst here
- enable WARNS=2
2001-10-08 04:20:43 +00:00
mycroft
7e21660e42 Fix a formatting error. 2001-10-08 01:40:43 +00:00
bjh21
6ef5a92fbb When dumping the routing table, use getnameinfo() to print link-layer
addresses rather than doing it ourselves and falling back to link_ntoa().
2001-10-06 18:32:45 +00:00
bjh21
3821a9917d Use getnameinfo() to format AF_LINK addresses again. 2001-10-06 17:05:29 +00:00
bjh21
daa1982d02 Revert last change. getnameinfo() AF_LINK support is going away until I can
make it lint-clean.
2001-10-05 20:50:19 +00:00
bjh21
10237f4efc Use getnameinfo() to format AF_LINK addresses rather than doing it ourselves. 2001-10-04 23:12:22 +00:00
oster
6c2d6f6c4f Remove cruft. We no longer need to look into sys/dev/raidframe to
find the needed include files.
2001-10-04 16:03:05 +00:00
oster
541d521a40 rf_configure.c
- remove dependence on stuff in sys/dev/raidframe
 - now rely on <dev/raidframe/*>
 - bring in some needed prototypes for local functions
 - nuke RF_ASSERT's.
 - drag in some needed RF_ERRORMSG's

raidctl.c
 - rely on <dev/raidframe/*>
 - welcome to the New Way of doing RAIDframe #includes.

(No functional changes.)
2001-10-04 16:02:08 +00:00
oster
75d30c8978 Add a pruned-down version of rf_configure.h. First step at disentangling
raidctl files from the hairy .h file mess.
2001-10-04 16:00:37 +00:00
wiz
6494394420 Remove swapoff mention, per misc/14120.
Some whitespace, section name, section order fixes while I'm here.
2001-10-01 23:15:59 +00:00
kleink
d8ad923577 "kernel switch ipforwarding" -> "sysctl net.inet.ip.forwarding". 2001-10-01 10:31:45 +00:00
jdolecek
de45f5a902 couple cosmetic stylistic changes 2001-09-29 21:15:11 +00:00
itojun
04e80984bf remove duplicated line in cmds[]. 2001-09-26 07:20:16 +00:00
oster
91ffb9ffd3 Since this is the only place it's used, nuke RF_DEV2RAIDID and
replace it with DISKUNIT.
2001-09-26 02:59:40 +00:00
wiz
c2370c3f0a Add some \n to error messages. 2001-09-25 00:03:25 +00:00
wiz
ae34c20bb1 Fix a typo and two white space nits. 2001-09-25 00:03:03 +00:00
wiz
4c99916337 va_{start,end} audit:
Make sure that each va_start has one and only one matching va_end,
especially in error cases.
If the va_list is used multiple times, do multiple va_starts/va_ends.
If a function gets va_list as argument, don't let it use va_end (since
it's the callers responsibility).

Improved by comments from enami and christos -- thanks!

Heimdal/krb4/KAME changes already fed back, rest to follow.

Inspired by, but not not based on, OpenBSD.
2001-09-24 13:22:25 +00:00
lukem
058b690102 the change of calculation of inodes per group in rev 1.52 was far too
aggressive; rework to be a bit less susceptable to round-off error.
now it's likely that the density might not be obtained with a small
filesystem with a large number of inodes (e.g -s 4M -i 1k), but that's
an extremely unlikely corner case that can easily be rectified with
command-line arguments.
fixed provided in private email by Takao Shinohara <shin@sm.sony.co.jp>
should resolve PRs [bin/14049] and [bin/14046]
2001-09-24 08:21:44 +00:00
tv
d63e12815a objcopy -> ${OBJCOPY} 2001-09-22 02:01:13 +00:00
toshii
0ea3ab3e14 Fix a typo which prevented manual keying from working. 2001-09-20 00:01:10 +00:00
ad
9824683b54 - Sync device lists with wsconsio.h.
- Get/set keyclick on keyboards that support it.
2001-09-19 12:45:24 +00:00
lukem
22966108bb add comments to make it clearer what cmpsblks() is doing 2001-09-18 08:38:28 +00:00
thorpej
f7a04ba84f Add tcp4csum-rx and udp4csum-rx commands for interfaces that only
support TCP/UDP checksums on the in-bound direction.
2001-09-17 17:36:06 +00:00
toshii
04f91a6594 Uncomment-out part of FreeBSD code so that we can calculate partition
index from a filename.
2001-09-17 16:26:56 +00:00
assar
1a56bc85de (usage): add -s and -S 2001-09-17 01:40:08 +00:00
wiz
456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
gmcgarry
684c2af799 Prominently provide explanation of who is allowed to mount file
systems.
2001-09-12 21:48:08 +00:00
lukem
fa5157d9fb explicitly set the default compression level to 1 (from the implicit 6),
because it's significantly faster and doesn't use that much more disk space.
2001-09-12 03:14:08 +00:00
lukem
fd08f59ac0 Add "-Z level" to control the compression level that -z uses (which
defaults to -Z 6).  Depending on the relative speed of the CPU
versus disk, "-zZ1" might be faster than no compression at all.
2001-09-12 02:58:29 +00:00
enami
36c88aab99 - Recognize new type `rng'.
- Use getprogname().
2001-09-11 05:52:37 +00:00
pooka
db8658a3b8 * expand device name to raw device, not block device (eg. wd0a -> /dev/rwd0a)
* #ifdef non-relevant FreeBSD slice consistency check
2001-09-10 19:25:35 +00:00
christos
de3ce7e7b1 - Remove old files.
- Port to NetBSD
XXX: *untested*
2001-09-10 18:27:41 +00:00
enami
db33b671a9 Don't punt on really unknown type of device when fetching name of it.
Instead, warn and just print it as ???.
2001-09-08 23:29:05 +00:00
enami
d5b9e6ab8a Cosmetic changes. 2001-09-08 23:20:37 +00:00
mason
44c196b374 The default version created by newfs_lfs without arguments is, in fact, 2. 2001-09-08 03:49:44 +00:00
simonb
3d18c18669 Use the command set/feature *enabled* words when displaying what
command sets and features are enabled.
2001-09-07 16:33:50 +00:00
itojun
3fdd7a9bab upgrade to the latest KAME setkey(8). allows FQDN hostname in commands.
"add localhost localhost esp 9999 -E des-cbc hogehoge" adds two keys,
for 127.0.0.1 and ::1
2001-09-07 04:12:10 +00:00
simonb
cdcbbc115b ANSIfy. 2001-09-07 02:17:30 +00:00
lukem
5c2ee5861d Incorporate the enhanced ffs_dirpref() by Grigoriy Orlov, as found in
FreeBSD (three commits; the initial work, man page updates, and a fix
to ffs_reload()), with the following differences:
- Be consistent between newfs(8) and tunefs(8) as to the options which
  set and control the tuning parameters for this work (avgfilesize & avgfpdir)
- Use u_int16_t instead of u_int8_t to keep track of the number of
  contiguous directories (suggested by Chuck Silvers)
- Work within our FFS_EI framework
- Ensure that fs->fs_maxclusters and fs->fs_contigdirs don't point to
  the same area of memory

The new algorithm has a marked performance increase, especially when
performing tasks such as untarring pkgsrc.tar.gz, etc.

The original FreeBSD commit messages are attached:

=====
mckusick    2001/04/10 01:39:00 PDT
  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>
=====

=====
iedowse     2001/04/23 17:37:17 PDT
  Pre-dirpref versions of fsck may zero out the new superblock fields
  fs_contigdirs, fs_avgfilesize and fs_avgfpdir. This could cause
  panics if these fields were zeroed while a filesystem was mounted
  read-only, and then remounted read-write.

  Add code to ffs_reload() which copies the fs_contigdirs pointer
  from the previous superblock, and reinitialises fs_avgf* if necessary.

  Reviewed by:	mckusick
=====

=====
nik         2001/04/10 03:36:44 PDT
  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-09-06 02:16:00 +00:00
thorpej
b92e8081fa Fixup scsi_mode_select(). 2001-09-05 16:25:17 +00:00
lukem
ddbf49bae2 comment the commenting-out, to reduce confusion 2001-09-03 16:30:02 +00:00
lukem
9ddcc07798 - rename option -t trackskew' to -k trackskew', for consistency with newfs(8)
- add CHANGEVAL() macro, which does the hard work of changing a parameter
- sort options in usage()
- use  .ig [ ... ] ..  to comment out sections of man pages (instead
  of .\" at the start of each line
2001-09-03 15:04:39 +00:00
lukem
697080de7e no need to assign asb->fs_state twice in cmpsblks() 2001-09-03 14:53:31 +00:00
lukem
c50eb8cc85 deprecate fs_fscktime; we never used it.
in an effort to maintain compatibility with freebsd/openbsd/whatever,
i'm attempting to get the superblock format in sync, and freebsd uses
the int32_t at this position for `fs_pendinginodes'.

if we ever decide to implement fscktime functionality, we'll:
a) make sure to liaise with the other projects to reserve the same
   spare field
b) actually implement the code this time ...

(this is also preparing us for other changes, like the new dirpref code)
2001-09-03 14:52:17 +00:00
lukem
e3ba61f9f3 Incorporate fix by iedowse @ FreeBSD to allow disks with large numbers of
cylinder groups to work correctly, with minor modifications by me to work
with our FFS_EI code.  From the FreeBSD commit message:

	The ffs superblock includes a 128-byte region for use by temporary
	in-core pointers to summary information. An array in this region
	(fs_csp) could overflow on filesystems with a very large number of
	cylinder groups (~16000 on i386 with 8k blocks). When this happens,
	other fields in the superblock get corrupted, and fsck refuses to
	check the filesystem.

	Solve this problem by replacing the fs_csp array in 'struct fs'
	with a single pointer, and add padding to keep the length of the
	128-byte region fixed. Update the kernel and userland utilities
	to use just this single pointer.

	With this change, the kernel no longer makes use of the superblock
	fields 'fs_csshift' and 'fs_csmask'. Add a comment to newfs/mkfs.c
	to indicate that these fields must be calculated for compatibility
	with older kernels.

	Reviewed by:    mckusick
2001-09-02 01:58:30 +00:00
lukem
a565a4a989 fix a couple of typos in option descriptions 2001-08-31 08:03:27 +00:00
lukem
c56418af73 some improvements from freebsd/openbsd
- replace the unused fs_headswitch and fs_trkseek with fs_id[2], bringing
  our struct fs closer to that in freebsd & openbsd (& solaris FWIW)
- dumpfs: improve warning message when cpc == 0
2001-08-30 14:37:25 +00:00
lukem
3e209fc87a replace mkfs reference with sentence describing what newfs does (from freebsd) 2001-08-30 08:40:10 +00:00
ad
3839890ed7 errx() prints the newline for you. 2001-08-28 15:36:54 +00:00
lukem
063df7cfb7 various calcipg() fixes:
- fix round-off errors when determining the number of inodes per group,
  which often resulted in the total number of inodes in the file system
  being less than what the density asked for.
  now you might get more inodes than requested for a given density,
  rather than less.
- if the new inodes/group is <= 0, ensure that it's at least 1, preventing
  a possible division by zero or other wacky problems
- use long long instead of quad_t
2001-08-25 01:42:46 +00:00
wiz
251b3464be heirarchy -> hierarchy 2001-08-24 10:24:45 +00:00
wiz
eea41b6f12 Document more explicitly that the kernel must be `secure' according to
secure_path to be used automatically. (Of course, you can override with the
-N option.)
Addresses bin/13665.
2001-08-20 14:23:59 +00:00
wiz
1e378c4c12 precede, not preceed. 2001-08-20 12:00:46 +00:00
hubertf
5ad165ca8f Remove duplicate listing of "net.inet.tcp.init_win" system variable as
reported in PR 13760 by Don Yuniskis <auryn@gci-net.com>
2001-08-20 10:31:46 +00:00
ad
d78020d1bf Use getrawpartition(). 2001-08-20 08:21:09 +00:00
lukem
664a532e86 - add -F - manipulate a file system image in a regular file (instead of
a special device).
- implement statistics printing on SIGINFO
2001-08-19 14:59:39 +00:00
lukem
5157971af5 - add -F; indicates "special" is a file system image in a regular file
- reorder "special" validation to after option parsing
- use getopt(3) instead of homegrown code
- add getnum() to parse and validate a number
- clean up man page
- ansi KNF, WARNS=2
2001-08-19 09:39:24 +00:00
itojun
4d4d43e300 snprintf return value audit. from deraadt 2001-08-19 01:27:43 +00:00
itojun
426db19de1 use bind(2) to support -S. snprintf return value audit from deraadt 2001-08-19 01:21:42 +00:00
ad
e3af9d1d6b getopt() returns -1 on error, not EOF. 2001-08-18 17:10:04 +00:00
thorpej
3c9726c276 Descend into brconfig/ 2001-08-17 21:43:55 +00:00
thorpej
7ac7787048 Configuration utility for bridge(4) devices. 2001-08-17 21:42:10 +00:00
lukem
1b81d6353d remove third argument (`int ns') from ffs_sb_swap(), and let ffs_sb_swap()
determine the endianness of the `struct fs *o' superblock from o->fs_magic
and set needswap as necessary, rather than trusting the caller to get
it right.  invariably, almost every caller of ffs_sb_swap() was calling it
with ns set to the wrong value for ns anyway!
ansi KNF ffs_bswap.c declarations whilst here.

this fixes all sorts of problems when trying to use other-endian file systems,
notably the kernel trying to access memory *way* off, possibly corrupting or
panicing, and userland programs SEGVing and/or corrupting things (e.g,
"fsck_ffs -B"  to swap a file system endianness).

whilst the previous rev of ffs_bswap.c (1.10, 2000/12/23) made this problem
worse, i suspect that the problem was always there and previous versions
just happened not to trash things at the wrong time.

FFS_EI should now be a lot more stable.
2001-08-17 02:18:46 +00:00
itojun
733748c930 we have never supported lzs. sync with kame 2001-08-16 06:39:09 +00:00
lukem
84958ed05f - implement -F; treat provided filesystems as images in regular files
- replace "filesystem" with "file system" as appropriate
- grammar fixes
2001-08-15 03:54:53 +00:00
lukem
d6e3055ff1 minor whitespace cleanup 2001-08-15 03:40:50 +00:00
lukem
b1a3e1140e - implement -F, which indicates that files-to-dump is a regular file
containing a file system image (instead of being a single file as
  part of a subtree dump)
- use "file system" instead of "filesystem" or "file-system"
2001-08-14 06:51:36 +00:00
lukem
d5eaa32503 s/filesystem/file system/ 2001-08-14 05:44:44 +00:00
lukem
b00117c331 s/filesystem/file system/dump.h 2001-08-14 05:44:15 +00:00
itojun
f0a37a3a91 sync with latest kame. clarifies hex key and other things. 2001-08-12 09:38:18 +00:00
david
11680bf9c9 Correct style of a comment, and bad else {} scoping from my previous
commit.

Thanks to enami tsugutomo for pointing both out.
2001-08-09 01:25:35 +00:00
david
92d578c744 Cause multiple uses of alias, -alias, and delete to produce an error,
and exit.

Previously, combinations would produce unintended results, such as
deleting the primary IP on an interface, instead of deleting an specified
alias.
2001-08-08 21:22:35 +00:00
david
a84be23c10 Patch to drop setgid tty privs until forking for operator notification 2001-08-08 16:49:54 +00:00
lukem
15af0b9ec7 when zeroing the image, use fstatfs() to find the optimal block size
(falling back to 8KB) instead of 512. should speed things up.
2001-08-08 07:34:53 +00:00
lukem
3f273dbe61 WARNS=2 2001-08-03 02:30:23 +00:00
itojun
fdd3ee1f18 embed scopeid on scoped ipv6 address. sync with kame 2001-07-31 23:27:35 +00:00
lukem
8a6a290e5a revert rev 1.48 for now, until i'm sure the malloc (et al) rename is
safe (since there's two separate mallocs using sbrk(2) in that case)

XXX: local malloc provided for mfs memory store allocation; need to
investigate if system (phk) malloc can be used instead.
2001-07-31 01:31:26 +00:00
lukem
2b2279d9a5 - constify mkfs()'s first arg
- slightly reorder steps in -F image creation
2001-07-30 07:45:08 +00:00
lukem
852833fff1 rename and hide: malloc->Malloc, calloc->Calloc, free->Free. (remove realloc) 2001-07-30 07:13:58 +00:00
lukem
84fb126399 ansi knf, WARNS=2 2001-07-29 11:15:29 +00:00
lukem
1c37a982fa enable WARNS=2 2001-07-29 09:59:12 +00:00
lukem
14929f77ab * add -F option: enable creation of file system in a regular file. a "fake"
disklabel is created as per mfs on "swap".
* add -Z option: pre-zero the -F image file before use. this is necessary if
  the image is to be used with vnd(4) because by default the files created
  with -F have "holes" and vnd doesn't cope with that.
* support 'k', 'm', 'g' suffixes for all options which take numeric arguments.
  provide strsuftoi() which performs the parsing mechanism.
* improve man page description of various options
* replace "filesystem" with "file system"
* when displaying usage for mfs, only list mfs options
* minor KNF and WARNS=2 cleanups
2001-07-29 09:55:22 +00:00
lukem
c67d40dc35 improve message describing MAXCSBUFS overflow 2001-07-27 15:19:33 +00:00
lukem
bc1974136c s/filesystem/file system/ 2001-07-27 06:41:02 +00:00
itojun
153665ad26 show net.inet6.tcp6.* as mirror image of net.inet.tcp. better for future
INET-less kernels.
2001-07-27 04:22:09 +00:00
lukem
8a54ab244e clean up for WARNS=2 by renaming some local variables that shadow globals 2001-07-26 22:59:57 +00:00
wiz
f705e892e5 concatinate -> concatenate 2001-07-26 22:49:09 +00:00
wiz
41df6b74a9 partiton -> partition 2001-07-26 22:47:34 +00:00
lukem
b6172cb606 - check return value of calloc() in mkfs()
- in replacement malloc(), if sbrk(2) returns (void *)-1, convert to NULL
  before returning
- in replacement calloc(), check return value of malloc() before zeroing result
2001-07-26 16:53:39 +00:00
wiz
30b2bf87ed Various typos in comments (neccessary, sceme, choise, ...). 2001-07-26 15:05:07 +00:00
lukem
91d95899b4 remove unnecessary duplicate initialisation of sblock.fs_clean 2001-07-26 03:46:57 +00:00
itojun
a7005bd7d6 do not go over the end of memory region we are supposed to touch,
overrun on "prefixlen" operation.  there's no SEGV possibility.
2001-07-25 17:29:14 +00:00
itojun
d615372573 off-by-one error in -prefixlen arg validation (do not permit 129 on IPv6) 2001-07-20 08:31:55 +00:00
itojun
507c97b62e make prefixlen work on IPv4 too 2001-07-20 08:28:25 +00:00
itojun
99ab700036 correct LMC1000 product name (is SSI/V.35, not T1/E1).
print L2 type (T1/E1) on LMC1200.
2001-07-19 00:28:50 +00:00
itojun
820272cae6 detelct LMC1200 T1/E1 card. from openbsd 2001-07-19 00:19:42 +00:00
wiz
e6b5422235 Fix a typo, and capitalize SCSI in one place. 2001-07-18 23:16:20 +00:00
bouyer
03fd5e671e Add and document a 'detach' command. 2001-07-18 20:36:36 +00:00
mrg
d699caad5a reset uid & gid around calling rmthost(). 2001-07-17 10:56:53 +00:00
bad
4cda42fdd0 The way pmsg_addrs() is used requires that it always prints a newline and
flushes stdout before returning.

Previously the decoded output for a message was stuck in stdio buffers until
the next arrived.
2001-07-16 17:22:07 +00:00
mrg
5c897ed92f display what signal, not "unknown" 2001-07-16 13:30:13 +00:00
thorpej
8f43f0ca06 Fix printf format on LP64. 2001-07-13 21:09:55 +00:00
perseant
4e3fced95b Merge the short-lived perseant-lfsv2 branch into the trunk.
Kernels and tools understand both v1 and v2 filesystems; newfs_lfs
generates v2 by default.  Changes for the v2 layout include:

- Segments of non-PO2 size and arbitrary block offset, so these can be
  matched to convenient physical characteristics of the partition (e.g.,
  stripe or track size and offset).

- Address by fragment instead of by disk sector, paving the way for
  non-512-byte-sector devices.  In theory fragments can be as large
  as you like, though in reality they must be smaller than MAXBSIZE in size.

- Use serial number and filesystem identifier to ensure that roll-forward
  doesn't get old data and think it's new.  Roll-forward is enabled for
  v2 filesystems, though not for v1 filesystems by default.

- The inode free list is now a tailq, paving the way for undelete (undelete
  is not yet implemented, but can be without further non-backwards-compatible
  changes to disk structures).

- Inode atime information is kept in the Ifile, instead of on the inode;
  that is, the inode is never written *just* because atime was changed.
  Because of this the inodes remain near the file data on the disk, rather
  than wandering all over as the disk is read repeatedly.  This speeds up
  repeated reads by a small but noticeable amount.

Other changes of note include:

- The ifile written by newfs_lfs can now be of arbitrary length, it is no
  longer restricted to a single indirect block.

- Fixed an old bug where ctime was changed every time a vnode was created.
  I need to look more closely to make sure that the times are only updated
  during write(2) and friends, not after-the-fact during a segment write,
  and certainly not by the cleaner.
2001-07-13 20:30:18 +00:00
lukem
364e3039be * add -G, which lists the configuration of the given raid set in the
same configuration format that -c and -C use.
  this is useful if you're using autoconfig and you've misplaced the
  /etc/raidXXX.conf files
* "filesystem" -> "file system", and other man page cleanups.
2001-07-10 01:30:52 +00:00
thorpej
0614e02cbd Need rtsock.c 2001-07-09 20:04:32 +00:00
itojun
32a3de2268 clarify -a. sync with kame 2001-07-05 06:35:08 +00:00
hubertf
1adda5370d EVEN IF YOU SCREAM, THE COMMANT IS STILL CALLED fsck_ffs ! 2001-07-04 22:43:35 +00:00
jdolecek
0fe5bf8257 pipe sysctl stuff is now in <sys/pipe.h> 2001-07-02 20:55:16 +00:00
jhawk
18883403cb Update Dd to rev 1.31 (ipsec changes)
Some hosts and gateways ignore record route, but not "many." Of course,
  more are firewalled. But that's not what was meant here.
Expand flood-pinging admonition to include multicast addresses.
Note flags that conflict with ping under Solaris and FreeBSD.
Reorder BUGS in rough order of significance.
2001-06-25 01:12:53 +00:00
itojun
1d7e1a7cda sync with latest kame.
- sync usage/manpage with reality.
- stop pinging on "-f -c N".
2001-06-22 13:25:03 +00:00
onoe
c4eb8932f8 Add support of persistent key of IEEE 802.11 wireless LAN card.
Currently, only Aironet ("an") driver/card can be used.
     nwkey persist   (IEEE 802.11 devices only) Enable WEP encryption for IEEE
                     802.11-based wireless network interfaces with the persis-
                     tent key written in the network card.
     nwkey persist:key
                     (IEEE 802.11 devices only) Write the key to the persis-
                     tent memory of the network card, and enable WEP encryp-
                     tion for IEEE 802.11-based wireless network interfaces
                     with the key.
2001-06-21 13:36:24 +00:00
mrg
6aca287eb4 expand -n documentation; from sunos. 2001-06-20 02:07:02 +00:00
wiz
3f9984fc90 existent', not existant' 2001-06-19 13:42:07 +00:00
fvdl
e2ff2f5762 Use ELFSIZE 64 for x86-64. 2001-06-19 00:40:57 +00:00
lukem
172a636b48 - Don't attempt to fsck a file system that is mounted read-write unless -f
(force) is given. fsck(8) will return with a zero exit status if "fsck -p"
  is used in this circumstance, but all other invocations (e.g, "fsck",
  "fsck /filesystem", "fsck -p /filesystem") will return with a non-zero exit
  status in this circumstance.
  Per discussions with various people including Bill Sommerfeld.
- Use "file system" instead of "filesystem"
2001-06-18 06:28:59 +00:00
lukem
9e2e804c1c use TAILQ_xxx instead of referencing tqe_xxx elements directly 2001-06-18 02:43:32 +00:00
lukem
f97f509658 ansi knf 2001-06-18 02:31:09 +00:00
lukem
dacdbbf6ac use TAILQ_xxx instead of referencing tqh_xxx elements directly 2001-06-18 02:22:33 +00:00
lukem
4905fe31e2 -d is always compiled in; there's no specific #define to remove it 2001-06-18 01:55:12 +00:00
lukem
684735b97b complete conversion to ANSI C 2001-06-18 01:38:05 +00:00
lukem
df639a1b6b remove references to /etc/rbootd.conf, since it's the config file for
a little used server daemon which can be controlled with rc.conf in any case.
(xxx: list of files probably should be totally configurable, but that's
another story). from [bin/13061] by matthew green.
2001-06-18 00:01:51 +00:00
jdolecek
ee882e3a09 Add port of high performance pipe implementation written by John S. Dyson
for FreeBSD project. Besides huge speed boost compared with socketpair-based
pipes, this implementation also uses pagable kernel memory instead of mbufs.

Significant differences to FreeBSD version:
* uses uvm_loan() facility for direct write
* async/SIGIO handling correct also for sync writer, async reader
* limits settable via sysctl, amountpipekva and nbigpipes available via sysctl
* pipes are unidirectional - this is enforced on file descriptor level
	for now only, the code would be updated to take advantage of it
	eventually
* uses lockmgr(9)-based locks instead of home brew variant
* scatter-gather write is handled correctly for direct write case, data
  is transferred by PIPE_DIRECT_CHUNK bytes maximum, to avoid running out of kva

All FreeBSD/NetBSD specific code is within appropriate #ifdef, in preparation
to feed changes back to FreeBSD tree.

This pipe implementation is optional for now, add 'options NEW_PIPE'
to your kernel config to use it.
2001-06-16 12:00:02 +00:00
nonaka
978de91e79 Fix big-endian vs. MBR parameters. 2001-06-15 18:49:37 +00:00
wiz
0f1cb57c85 Note usage of getbootfile(3); sort SEE ALSO section according to
mdoc.samples(7).
2001-06-13 23:24:32 +00:00
wiz
f91f11f51f Use getbootfile(3) instead of _PATH_UNIX by default.
Sprinkle some const.
2001-06-13 23:16:27 +00:00
fredette
48b3bae7e9 Enable edlabel on sun2, too. 2001-06-13 18:09:15 +00:00
mrg
55e0fea74f s/primary swap area/first swap area/ 2001-06-07 14:52:50 +00:00
wiz
ea23c08f2a Typos and grammar fixes (last part of misc/13133 by Michael K. Sanders) 2001-06-07 13:58:23 +00:00
wiz
cbd2a2a6a6 Drop trailing dot in Nd. 2001-06-05 12:46:08 +00:00
wiz
d12a675883 Fix Nd and some whitespace and punctuation. 2001-06-05 12:44:43 +00:00
wiz
821db49ac7 Remove some trailing whitespace. 2001-06-05 12:42:56 +00:00
wiz
b2935aaaf6 Drop argument of .Os. 2001-06-05 11:24:51 +00:00
wiz
73f545bb5b Drop arguments of .Os. 2001-06-05 11:22:41 +00:00
hannken
de85f7e43e Assign a saved copy of dt->fs_file to mountpoint. dt->fs_file will be freed
otherwise resulting in a wrong spcl.c_filesys .
2001-06-03 09:51:10 +00:00
thorpej
ca4d373730 Implement support for IP/TCP/UDP checksum offloading provided by
network interfaces.  This works by pre-computing the pseudo-header
checksum and caching it, delaying the actual checksum to ip_output()
if the hardware cannot perform the sum for us.  In-bound checksums
can either be fully-checked by hardware, or summed up for final
verification by software.  This method was modeled after how this
is done in FreeBSD, although the code is significantly different in
most places.

We don't delay checksums for IPv6/TCP, but we do take advantage of the
cached pseudo-header checksum.

Note: hardware-assisted checksumming defaults to "off".  It is
enabled with ifconfig(8).  See the manual page for details.

Implement hardware-assisted checksumming on the DP83820 Gigabit Ethernet,
3c90xB/3c90xC 10/100 Ethernet, and Alteon Tigon/Tigon2 Gigabit Ethernet.
2001-06-02 16:17:06 +00:00
lukem
9af1692ef1 * improve parsing of file-systems-to-dump when a path is given:
- if it's a path to an unmounted file-system listed in /etc/fstab, use
	that instead of assuming the user wanted a subtree dump of the parent
	directory. this restores the behaviour of dump before the subtree
	dumping code went in.
      - if it's a path to a mounted file-system which is not in /etc/fstab,
	use the info from getmntinfo(3). previously, dump would choke.
* implement error checked malloc(), calloc(), strdup(), and use
  appropriately (some of the calloc()s weren't being checked)
* use 'file-system' instead of 'filesystem' in the man page
2001-05-28 01:09:54 +00:00
lukem
cc5935ebba unifdef !__STDC__ (missed in previous) 2001-05-28 00:41:14 +00:00
lukem
713ffa0ec4 more KNF 2001-05-27 15:07:34 +00:00
lukem
99feaf5b29 knf to ansi 2001-05-27 14:17:56 +00:00
christos
7956951247 - KNF printlabel.c
- add a function to print only one partition's info.
- print the partition information if it was modified in interactive mode.
- improve on the chaining code. [still assumes that partition offsets increase
  monotonically]. We could check for overlap too.
2001-05-26 19:48:32 +00:00
lukem
e7bcd6bf17 use strdup appropriately 2001-05-26 07:48:15 +00:00
bouyer
1047a6a764 Adapt for MODE SENSE/SELECT changes in kernel. 2001-05-15 15:11:02 +00:00
tron
b82fe09a8d Add "e" option to usage message. Problem pointed out by Takahiro Kambe
in private e-mail.
2001-05-12 10:26:22 +00:00
tron
b72a1f53d6 Fix bug in new "e" option: only eject tape if it is full, not if the dump
was finished.
2001-05-12 08:03:01 +00:00
itojun
8306609bc4 correct -n handling. 2001-05-09 11:22:22 +00:00
itojun
219df672ab fix signal handling on ping6 -f <nonexisting peer>. from hash@iij.ad.jp.
sync with kame
2001-05-09 11:19:13 +00:00
tron
d6be44d3c8 Add a new option "e" to "dump" which allows to eject tapes automatically
if a tape change is required.
2001-05-07 21:17:48 +00:00
kleink
017a840cd9 getopt(3): EOF -> -1. 2001-05-07 14:51:46 +00:00
simonb
1547b056d0 If the position of the formatted panic string can be found in the
message buffer, use that instead of the raw panic string.

Suggested by Jason Thorpe eons ago.
2001-05-06 13:36:51 +00:00
wiz
bd49a98652 Improve wording of a sentence. misc/10893 by Jim Bernard, part 2. 2001-05-06 12:30:05 +00:00
wiz
ccb6f40539 Improve usage of `comprise' according to Webster and misc/10893
by Jim Bernard.
2001-05-06 12:29:18 +00:00
fvdl
60f029933e Remove BUGS section, which only referred to performance tuning.
Instead, add a PERFORMANCE section which explains the most common
optimizations.
2001-05-02 12:18:45 +00:00
lukem
49137c3ddc clarify that -w updates the in-core label if changed, and if -r is
given as well, the on-disk label will then be updated.
2001-05-01 11:51:21 +00:00
itojun
cb58c8c6b6 make -A a default. present MAC adderss on all ifconfig operations. 2001-04-28 04:11:10 +00:00
itojun
7d54359fb0 assume the presense of getifaddrs(3). 2001-04-28 00:00:06 +00:00
manu
e0e227f2a3 Added a few examples and a reference to sysctl to enable IP forwarding
Approved by Christos
2001-04-27 19:33:06 +00:00
itojun
59ba739cf6 sync usage() more to the reality. document alias/-alias. 2001-04-27 09:10:04 +00:00
itojun
be4c7a7c16 allow ifconfig to take "deprecated" and "-deprecated" for IPv6. sync with kame
sync usage() with reality.  take "up" and "down" outside of "[af ...],
as "up" and "down" are independent from interface address configuration.
2001-04-27 09:08:44 +00:00
wiz
09fc203c72 Add arch to Dt, and lots of whitespace fixes. 2001-04-21 14:44:13 +00:00
ad
bd8e0b62fb Let '\377' be whitespace. 2001-04-17 13:31:00 +00:00
lukem
f5cf87f961 add fix by Minoura Makoto to correctly support recursive extended partitions.
the offset of an extended sub-partition is the offset of the top-level
extended partition, not the partition before it (this is annoying, and
makes `clean' recursive mbr descent difficult).  fixes PRs 11829 and 12677.
2001-04-16 10:47:15 +00:00
itojun
5b3c802193 sync with if_lmcioctl.h change.
From: Bernd Ernesti <netbsd@arresum.inka.de>
2001-04-12 23:52:22 +00:00
agc
c286afd376 "It's" is short for "it is". The possessive pronoun is "its". 2001-04-11 15:17:51 +00:00
mrg
32aec0200a add a section on swap priorities. document the round robin scheme.
fixes half of PR#12610.
2001-04-11 14:10:17 +00:00
wiz
8e78c80273 Make WARNS=2 safe, and set WARNS to 2. 2001-04-06 16:52:41 +00:00
wiz
14dbdf5518 Negative exit code cleanup: Replace exit(-x) with exit(x).
As seen on tech-userlevel.
2001-04-06 11:13:45 +00:00
jhawk
5e3565be65 Xr icmp(6), inet(6), ip(6) 2001-04-03 14:06:31 +00:00
jhawk
1277f0fe42 Xr icmp(4), inet(4), ip(4) 2001-04-03 14:00:09 +00:00
jdolecek
4fe147ddbf xref se(4) now that the manpage is built and installed 2001-04-03 11:51:33 +00:00
wiz
6fccda72ed Don't xref format(8) -- the man pages we have for it (hp300/vax) don't
seem very interesting at all, if not even obsolete.
Whitespace fixes while I'm here.
2001-04-03 11:21:57 +00:00
wiz
b258a384eb Add section to .Xr. 2001-04-03 11:19:54 +00:00