Commit Graph

6140 Commits

Author SHA1 Message Date
Ulrich Spörlein
2b6974bf61 Bump WARNS where possible.
Checked by:	make universe
Approved by:	ed (co-mentor)
2010-02-15 14:07:40 +00:00
Konstantin Belousov
75fb535394 Rename fields to match better the msdosfs headers. This work is still
incomplete as some info doesn't really belong to the structs where it is
defined.

Submitted by:	Pedro F. Giffuni <giffunip tutopia com>
Reviewed by:	bde
MFC after:	2 weeks
2010-02-14 12:31:28 +00:00
Konstantin Belousov
6069db97f6 Bug fixes from NetBSD
- fix sign-compare issues.
- ANSIfy a couple of functions.
- Remove more duplicate #includes.
- Memory leak found by Coverity on NetBSD.

Submitted by:	Pedro F. Giffuni <giffunip tutopia com>
Reviewed by:	bde
MFC after:	2 weeks
2010-02-14 12:30:30 +00:00
Konstantin Belousov
a1882ff2a2 License changes from NetBSD.
Move to 2 clause license, approved by Wolfgang Solfrank.

Submitted by:	Pedro F. Giffuni <giffunip tutopia com>
MFC after:	2 weeks
2010-02-14 12:28:43 +00:00
Konstantin Belousov
2490c5654b Rename variables to match msdosfs headers.
Submitted by:	Pedro F. Giffuni <giffunip tutopia com>
Reviewed by:	bde
MFC after:	2 weeks
2010-02-14 12:25:39 +00:00
Konstantin Belousov
fb95e056a5 Some cleanups from NetBSD:
- C99 initializers.
- Change the default volume label from "NO NAME" to "NO_NAME".
- Set OEM String to "BSD4.4 " following the unnamed spacing convention
  in that other OS that suggests "MSWIN4.1"
Also, David Naylor's changes for Clang, mostly changing the signess
of constants.

Submitted by:	Pedro F. Giffuni <giffunip tutopia com>
Clang fixes by:	David Naylor <naylor.b.david gmail com>
Reviewed by:	bde (with some disagreement about Clang issues)
MFC after:	2 weeks
2010-02-14 12:25:03 +00:00
Gavin Atkinson
08f353ebe3 When growing a UFS1 filesystem, we need to initialise all inodes in any new
cylinder groups that are created.  When the filesystem is first created,
newfs always initialises the first two blocks of inodes, and then in the
UFS1 case will also initialise the remaining inode blocks.  The changes in
growfs.c 1.23 broke the initialisation of all inodes, seemingly based on
this implementation detail in newfs(8).  The result was that instead of
initialising all inodes, we would actually end up initialising all but the
first two blocks of inodes.  If the filesystem was grown into empty
(all-zeros) space then the resulting filesystem was fine, however when
grown onto non-zeroed space the filesystem produced would appear to have
massive corruption on the first fsck after growing.
A test case for this problem can be found in the PR audit trail.

Fix this by once again initialising all inodes in the UFS1 case.

PR:		bin/115174
Submitted by:	Nate Eldredgei  nge cs.hmc.edu
Reviewed by:	mjacob
MFC after:	1 month
2010-02-13 16:22:08 +00:00
Jaakko Heinonen
384e3c00a0 Don't try to determine tape block size when the -P option is used.
This was missed in r203157.

PR:		bin/121502
2010-02-13 10:22:07 +00:00
Kirk McKusick
81479e688b One last pass to get all the unsigned comparisons correct. 2010-02-11 18:14:53 +00:00
Kirk McKusick
14a176a0e2 Quiet spurious warnings. 2010-02-11 06:42:08 +00:00
Kirk McKusick
a6cc0cf692 Quiet spurious warnings. 2010-02-11 06:33:35 +00:00
Kirk McKusick
cb464c69c0 Ensure that newfs will never create a filesystem with more than 2^32
inodes by cutting back on the number of inodes per cylinder group if
necessary to stay under the limit. For a default (16K block) file
system, this limit begins to take effect for file systems above 32Tb.

This fix is in addition to -r203763 which corrected a problem in the
kernel that treated large inode numbers as negative rather than unsigned.
For a default (16K block) file system, this bug began to show up at a
file system size above about 16Tb.

Reported by: Scott Burns, John Kilburg, Bruce Evans
Followup by: Jeff Roberson
PR:          133980
MFC after:   2 weeks
2010-02-10 20:17:46 +00:00
Jaakko Heinonen
24e2959e41 - Remove reference to nfs4. mount_nfs4(8) was removed in r192578.
- Add newnfs.
2010-02-10 16:18:28 +00:00
Gavin Atkinson
aea5fda5dc Add -i to usage()
Noticed by:	ru
MFC after:	5 days
2010-02-09 19:13:45 +00:00
Gavin Atkinson
7402a88ded Add the -i option to the synopsis.
Submitted by:	dhw
MFC after:	1 week (with r203310)
2010-02-06 13:39:08 +00:00
Xin LI
e475c594e4 Correct two typos.
Reported by:	Brandon Falk <falkman gamozo org>
MFC after:	1 week
2010-02-06 00:25:46 +00:00
Matt Jacob
f5111a1fc3 Add the long missing "destroy" option.
MFC after:	2 weeks
2010-02-04 21:51:33 +00:00
Hajimu UMEMOTO
a505d4352f Introduce '[ipaddr]:path' notation.
Since the existing implementation searches ':' backward, a path which
includes ':' could not be mounted.  You can now mount such path by
enclosing an IP address by '[]'.
Though we should change to search ':' forward, it will break
'ipv6addr:path' which is currently working.  So, it still searches ':'
backward, at least for now.

MFC after:	2 weeks
2010-02-04 15:17:49 +00:00
Ruslan Ermilov
440ff1b90d Shortening a passphrase caused wrong authentication key to be used.
Fix this in a FreeBSD and OpenBSD compatible way.

MFC after:	3 days
2010-02-04 11:43:22 +00:00
Xin LI
b352972b00 static'ify function prototypes and convert K&R to ANSI.
MFC after:	1 month
2010-02-03 23:59:52 +00:00
Xin LI
03040ae1cb pukeText is an internal function so define it as static rather than
exporting it.

MFC after:	1 month
2010-02-03 23:58:00 +00:00
Xin LI
80ca1f34b5 Plug two memory leaks in error case.
MFC after:	1 month
2010-02-03 23:56:12 +00:00
Alexander Motin
4cca153030 - Give ATA/SATA SIMs info about ATAPI packet size, supported by device.
- Make ATA XPT to reject longer SCSI CDBs then supported by device, or
any SCSI CDBs, if device doesn't support ATAPI.
2010-02-02 11:09:28 +00:00
Gavin Atkinson
24b2aa3259 Implement the "-i" option to sysctl(8), to ignore failures while
retrieving individual OIDs.  This allows the same list of OIDs to be
passed to sysctl(8) across different systems where particular OIDs may not
exist, and still get as much information as possible from them.

PR:		bin/123644
Submitted by:	dhw
Approved by:	ed (mentor)
MFC after:	2 weeks
2010-01-31 19:33:25 +00:00
Ed Schouten
04e532d50b Allow mknod(8) to be only invoked with a pathname as an argument.
In 99% of the cases people just want to recreate device nodes they
removed from /dev. There is no reason to pass the additional "c 0 0"
anymore.

Also slightly improve the manpage. Remove references to non-existent
device names and platforms.
2010-01-31 11:48:25 +00:00
Jaakko Heinonen
9312d906aa - Handle short reads when the -P option is used. Short reads must be
handled when reading from pipes.
- Remove dead code related to the -P option from getvol(). pipein and
  pipecmdin are never set at the same time.

PR:		bin/121502
Approved by:	trasz (mentor)
MFC after:	2 weeks
2010-01-29 10:04:00 +00:00
Jaakko Heinonen
cca1b3aa87 - Cast time_t, int64_t and some int32_t values to intmax_t and use "%jd"
in format strings.
- Use (void) instead of (void *) when discarding strcat(3) return value.
- Format string fixes to match variable types.
- Change canon() len parameter and getcmd() size parameter type from
  int to size_t.
- Style Makefile and increase WARNS to 2.

PR:		bin/140061
Submitted by:	uqs
Approved by:	trasz (mentor)
2010-01-29 10:00:42 +00:00
Ed Schouten
a21dd5e9dd Remove stale inclusion of <ulog.h>.
This tool doesn't require libulog anymore.
2010-01-27 20:32:58 +00:00
Xin LI
215940b3fa Revised revision 199201 (add interface description capability as inspired
by OpenBSD), based on comments from many, including rwatson, jhb, brooks
and others.

Sponsored by:	iXsystems, Inc.
MFC after:	1 month
2010-01-27 00:30:07 +00:00
Jaakko Heinonen
a4ca6a4926 Make mdconfig(8) WARNS=6 clean:
- Constify geom_config_get() name argument.
- Add void keyword for usage().
- Initialize mdunit to NULL.
- Don't call md_prthumanval() at all if length is NULL.

Approved by:	trasz (mentor)
2010-01-22 08:51:58 +00:00
Rick Macklem
30607997bf Document the negnametimeo option for mount_nfs as implemented
by r202767. This is a content change.

MFC after:	2 weeks
2010-01-21 21:21:00 +00:00
Ed Schouten
0806dd9238 Remove stale references to utmp(5) and its corresponding filenames.
I removed utmp and its manpage, but not other manpages referring to it.
2010-01-21 17:25:12 +00:00
Alexander Motin
757e402dc6 - Add -v argument to camcontrol identify command. It makes camcontrol
print full identify data block.
- Improve identify result view and add TRIM support.
2010-01-20 13:31:12 +00:00
Xin LI
00b236aac2 Also output stripeoffset for consumer even if stripesize is zero, while
stripeoffset is non-zero.

Pointed out by:	mav
2010-01-18 19:39:55 +00:00
Jaakko Heinonen
0e3ebc63e6 Print sizes up to INT64_MAX in md_prthumanval().
PR:		bin/125365
Approved by:	trasz (mentor)
MFC after:	2 weeks
2010-01-18 14:07:41 +00:00
Ed Schouten
f6d189a9e4 Raise WARNS for various tools where possible.
Submitted by:	Marius Nünnerich <marius@nuenneri.ch>
2010-01-17 21:56:27 +00:00
Ed Schouten
7154ce64ab Mute some (hidden) warnings about old-style function definitions.
Submitted by:	Marius Nünnerich <marius nuenneri ch>
2010-01-17 21:53:41 +00:00
Christian Brueffer
d298cb40c5 Small fixes. 2010-01-17 19:33:32 +00:00
Xin LI
e192c6e8e8 Stripe offset may be usable even without stripe size known,
so give the output when either is non-zero.

Suggested by:	mav
2010-01-17 08:10:37 +00:00
Xin LI
35daa28f30 Expose stripe offset and stripe size through libgeom and geom(8) userland
utilities.

Reviewed by:	pjd, mav (earlier version)
2010-01-17 06:20:30 +00:00
Edward Tomasz Napierala
b3f9d8c804 Add gmountver, disk mount verification GEOM class.
Note that due to e.g. write throttling ('wdrain'), it can stall all the disk
I/O instead of just the device it's configured for.  Using it for removable
media is therefore not a good idea.

Reviewed by:	pjd (earlier version)
2010-01-16 09:52:49 +00:00
Ruslan Ermilov
aa4a335bae Use the newly brought %U macro. 2010-01-15 16:01:22 +00:00
Ed Maste
40efe37e07 Reject invalid CIDR widths rather than silently stopping at the first
non-digit character.

Due to an issue with rc(8) in a test configuration, ifconfig was being
invoked with the address used again as the width - for example,

  ifconfig vlan0 10.0.0.1/10.0.0.1

Prior to this change, that address/width would be interpreted as
10.0.0.1/10.
2010-01-14 15:27:18 +00:00
Ed Schouten
bf8959b05d Port the remaining apps in sbin/ to utmpx; only reboot(8). 2010-01-13 17:59:23 +00:00
Ed Schouten
bb6c761206 Migrate init(8) towards utmpx.
According to a comment, we cannot safely remove utmpx entries here
anymore. This is because the libc routines may block on file locking. In
an ideal world login(1) should just remove the entries, which is why I'm
disabling this code for now. If it turns out we get lots of stale
entries here, we should figure out a way to deal with that.
2010-01-13 17:58:49 +00:00
Gavin Atkinson
7964930201 Spell "Hz" correctly wherever it is user-visible.
PR:		bin/142566
Submitted by:	N.J. Mann   njm njm.me.uk
Approved by:	ed (mentor)
MFC after:	2 weeks
2010-01-12 17:59:58 +00:00
Kirk McKusick
f83a0037c6 Cast 64-bit quantity to intptr_t rather than int so as to work properly
with 64-bit architectures (such as amd64).

Reported by:  Xin LI and Josh Paetzel
2010-01-11 23:33:30 +00:00
Kirk McKusick
77355ce0c0 This update utilizes new fsck sysctl commands that allow fsck running
in background mode to correct expected inconsistencies that arise
during directory rename (see immediately previous update to this
file for details). If run on a kernel without the new functionality,
background fsck will simply ignore these inconsistencies rather
than fail.

Reported by:    jeff
2010-01-11 20:05:38 +00:00
Kirk McKusick
3777607646 When renaming a directory it passes through several intermediate
states. First its new name will be created causing it to have two
names (from possibly different parents). Next, if it has different
parents, its value of ".." will be changed from pointing to the old
parent to pointing to the new parent. Concurrently, its old name
will be removed bringing it back into a consistent state. When fsck
encounters an extra name for a directory, it offers to remove the
"extraneous hard link"; when it finds that the names have been
changed but the update to ".." has not happened, it offers to rewrite
".." to point at the correct parent. Both of these changes were
considered unexpected so would cause fsck in preen mode or fsck in
background mode to fail with the need to run fsck manually to fix
these problems.

This update changes these errors to be expected so that in preen
mode fsck will simply fix these transitional errors. For now,
background fsck will note these errors, but will need additional
kernel support to fix them, so will simply ignore them rather than
fail. A future update will allow background fsck to fix these
problems.

Reported by:	jeff
2010-01-11 19:52:40 +00:00
Kirk McKusick
21be55cc4b Add some error messages suggested in PR bin/138043. The code to
correct the problem was added in r176575 by delphij on 2008-02-25.

PR:		138043
Reported by:	Heikki Suonsivu
2010-01-07 01:10:49 +00:00
Kirk McKusick
36ef6b65ff This corrects a bug that manifested itself as identifying the last
cylinder group of a UFS1 filesystem as bad. The error was in the check
and not in the cylinder group itself. So even though fsck fixed the
cylinder group correctly, it was still endlessly reported as bad.

PR:		141992
MFC after:	2 weeks
Reported by:	Dan Strick
2010-01-07 00:17:36 +00:00
Alexander Motin
2cf8fb9be3 Increase default block size from 4K to 64K. It was reduces 6 yeard ago,
when trees were big and FAST mode was enabled by default.

So small block size doesn't benefits linear I/O operations in FAST and
significantly slowdowns in ECONOMIC (default) mode. For single stream random
I/Os so small block doesn't give much benefits, as access time is usually
bigger then transfer time there. Same time it requires all heads to seek
together for every single request, reducing performance on parallel load.
2010-01-06 17:12:18 +00:00
Gavin Atkinson
8f70111670 Print leading zeros in the UFS2 FSID.
PR:		bin/142155
Submitted by:	Efstratios Karatzas  gpf.kira gmail.com
Approved by:	ed (mentor)
MFC after:	2 weeks
2010-01-06 14:01:28 +00:00
Alexander Motin
b4ebb02af5 For completeness, add -s argument, manually specifying array block size. 2010-01-05 13:25:12 +00:00
Edward Tomasz Napierala
cf7710e1da Add manual page for gcache(8). 2010-01-03 15:20:52 +00:00
Gavin Atkinson
eb747250e6 Remove dead code. This section of code is only run in the
(sblock.fs_magic == FS_UFS1_MAGIC) case, so the check within the
loop is redundant.

Submitted by:	Nate Eldredge  nge cs.hmc.edu
Reviewed by:	mjacob
Approved by:	ed (mentor)
MFC after:	1 month
2010-01-02 20:18:10 +00:00
Konstantin Belousov
5033fdb761 Remove reference to the bug in FreeBSD 2.0.
Submitted by:	Valentin Nechayev <netch segfault kiev ua>
MFC after:	3 days
2010-01-02 17:45:53 +00:00
Martin Blapp
1457e0cdac Fix typo: s/partion/partition/
Submitted by:	Marc Balmer <marc@msys.ch>
MFC after:	3 days
2010-01-02 17:32:40 +00:00
Ed Schouten
ca25fa25db Let umount build with -Wold-style-definition. 2009-12-30 06:36:42 +00:00
Ed Schouten
10bc3a7f42 ANSIfy almost all applications that use WARNS=6.
I was considering committing all these patches one by one, but as
discussed with brooks@, there is no need to do this. If we ever
need/want to merge these changes back, it is still possible to do this
per application.
2009-12-29 22:53:27 +00:00
Ed Schouten
f709df34c3 ANSIfy ldconfig and the aout bits it still uses from rtld-aout.
(Why is aout support still there?)
2009-12-29 21:07:17 +00:00
Ed Schouten
88a8f792b6 Add forgotten `void' keyword. This function has no arguments. 2009-12-29 09:13:20 +00:00
Ed Schouten
27d434af3e Add missing `void' for functions without arguments.
While there, rename die_you_gravy_sucking_pig_dog() to something that's
less moronic.
2009-12-29 08:49:43 +00:00
Kirk McKusick
46d2decf1a Add the -c option to quotacheck to use the quota_convert(3) function to
convert between quota file formats.
2009-12-28 23:01:47 +00:00
Antoine Brodin
13e403fdea (S)LIST_HEAD_INITIALIZER takes a (S)LIST_HEAD as an argument.
Fix some wrong usages.
Note: this does not affect generated binaries as this argument is not used.

PR:		137213
Submitted by:	Eygene Ryabinkin (initial version)
MFC after:	1 month
2009-12-28 22:56:30 +00:00
Xin LI
7f471a3289 Make umount(8) WARNS=6 clean:
- Cast delimiter width to integer [1]
 - Solve name conflicts against system header
 - Constify parameters to avoid qualifier conflict

PR:		bin/140017 [1]
Submitted by:	Ulrich Spörlein <uqs spoerlein net> [1]
MFC after:	1 month
Sponsored by:	iXsystems, Inc
2009-12-28 17:57:37 +00:00
Kirk McKusick
3af26d4abb Convert quotacheck to use new quotafile functions in libutil.
Still to come, conversion between 64-bit and 32-bit quotafile formats.
2009-12-27 06:28:01 +00:00
Ruslan Ermilov
48660452c1 - Display current settings when run without options.
- Revise a manpage to NOT sound confusing. [1]

In collaboration with:	sat [1]
2009-12-26 08:36:02 +00:00
Edward Tomasz Napierala
9340fc72e6 Implement NFSv4 ACL support for UFS.
Reviewed by:	rwatson
2009-12-21 19:39:10 +00:00
Gavin Atkinson
a7874572c7 ifconfig(8) is documented to take a ISO 3166-1 country code to set the
regulatory domain with the "country" parameter, but will also take a full
country name.  The man page warns that only the ISO code is unambiguous.
In reality, however, the first match on either would be accepted, leading
to "DE" being interpreted as the "DEBUG" country rather than Germany, and
"MO" selecting Morocco rather than the correct country, Macau.

Fix this by always checking for an ISO CC match first, and only search on
the full country name if that fails.

PR:		bin/140571
Tested by:	Dirk Meyer dirk.meyer dinoex.sub.org
Reviewed by:	sam
Approved by:	ed (mentor)
MFC after:	1 month
2009-12-15 20:44:12 +00:00
Luigi Rizzo
472099c4b0 implement a new match option,
lookup {dst-ip|src-ip|dst-port|src-port|uid|jail} N

which searches the specified field in table N and sets tablearg
accordingly.
With dst-ip or src-ip the option replicates two existing options.
When used with other arguments, the option can be useful to
quickly dispatch traffic based on other fields.

Work supported by the Onelab project.

MFC after:	1 week
2009-12-15 09:46:27 +00:00
Luigi Rizzo
2f12516b1f fix the indentation for addr: values
MFC after:	3 days
2009-12-15 09:32:35 +00:00
Ruslan Ermilov
471bf5f612 The default balance algorithm has changed from "split" to
(the improved version of) "load".
2009-12-09 11:00:00 +00:00
Alexander Motin
20cad71f00 Change gmirror default balance algorithm from "split" to "load".
"split" is very ineffective for devices with rotating media as HDDs.
To be effective, it needs that transfer time reduction due to block
splitting was bigger then access time increase due to non-sequential
access. For modern HDDs I was able to reproduce it only with read sizes
of 2MB and above, which is almost not applicable in real life.
"load" algorithm same time is more universal and effective now.

Reviewed by:	pjd
2009-12-08 22:43:29 +00:00
Luigi Rizzo
6e47ca1bc5 restore setting of sin_len (was removed in 1.146 last february) as
it seems that now it is necessary for 'forward' to work outside lo0.
The bug (and fix) was reported on 8.0. This patch probably applies
to RELENG_7 as well.
It seems that 'pf' has a similar bug.

Submitted by:	Lytochkin Boris
MFC after:	3 days
2009-12-06 18:04:26 +00:00
Alexander Motin
066f913a94 MFp4:
Introduce ATA_CAM kernel option, turning ata(4) controller drivers into
cam(4) interface modules. When enabled, this options deprecates all ata(4)
peripheral drivers (ad, acd, ...) and interfaces and allows cam(4) drivers
(ada, cd, ...) and interfaces to be natively used instead.

As side effect of this, ata(4) mode setting code was completely rewritten
to make controller API more strict and permit above change. While doing
this, SATA revision was separated from PATA mode. It allows DMA-incapable
SATA devices to operate and makes hw.ata.atapi_dma tunable work again.

Also allow ata(4) controller drivers (except some specific or broken ones)
to handle larger data transfers. Previous constraint of 64K was artificial
and is not really required by PCI ATA BM specification or hardware.

Submitted by:	nwitehorn (powerpc part)
2009-12-06 00:10:13 +00:00
Ed Schouten
14c69f2136 Let init(8) and reboot(8) use utmpx to log wtmp entries.
logwtmp() gets called with the raw strings that are written to disk. For
regular user entries, this isn't too bad, but when booting/shutting
down, the contents get rather cryptic.

Just call the standardized pututxline().
2009-12-05 20:26:55 +00:00
Luigi Rizzo
7139c5c496 fix argument type in the call to expand_number
Submitted by:	gcc 4.3
MFC after:	3 days
2009-12-04 14:18:30 +00:00
Luigi Rizzo
01ab76323b use qsort_r instead of heapsort;
staticize two functions.

MFC after:	3 days
2009-12-03 12:23:48 +00:00
Alexander Motin
bcbe578a6a Drop USB mass storage devices support from ata(4). It is out of the build as
long as I remember, and completely superseded by better maintained umass(4).
It's main idea was to optionally avoid CAM dependency for such devices, but
with move ATA to CAM, it is not actual any more.

No objections:	hselasky@, thompsa@, arch@
2009-11-26 12:41:43 +00:00
Alexander Motin
b447e682d6 MFp4:
Improve ATA mode/SATA revision control.
2009-11-26 08:49:46 +00:00
Will Andrews
c3582a1967 Make ``ifconfig -l ether'' only list interfaces that speak Ethernet.
PR:		118987
Approved by:	ken (mentor)
2009-11-25 00:00:57 +00:00
Alexander Motin
c8039fc667 MFp4:
- Extend XPT-SIM transfer settings control API. Now it allows to report to
SATA SIM number of tags supported by each device, implement ATA mode and
SATA revision negotiation for both SATA and PATA SIMs.
- Make ahci(4) and siis(4) to use submitted maximum tag number, when
scheduling requests. It allows to support NCQ on devices with lower tags
count then controller supports.
- Make PMP driver to report attached devices connection speeds.
- Implement ATA mode negotiation between user settings, device and
controller capabilities.
2009-11-24 12:47:58 +00:00
Alexander Motin
72e2ce370d Add some missing WDMA/UDMA modes. 2009-11-22 10:53:26 +00:00
Alexander Leidinger
ac2e492b19 Fix minor resource leak in a function.
Reviewed by:	luigi
MFC after:	1 week
2009-11-21 10:46:49 +00:00
Alexander Leidinger
9bf9af1004 Fix minor memory leak in a function.
MFC after:	1 week
2009-11-20 15:28:38 +00:00
Alexander Leidinger
4b2d15efe5 Fix minor resource leak in a function which was introduced by changing an
err() to a return in r106254.

MFC after:	1 week
2009-11-20 15:27:00 +00:00
Xin LI
1a9d4dda9b Revert revision 199201 for now as it has introduced a kernel vulnerability
and requires more polishing.
2009-11-12 19:02:10 +00:00
Xin LI
41c8c6e876 Add interface description capability as inspired by OpenBSD.
MFC after:	3 months
2009-11-11 21:30:58 +00:00
Edward Tomasz Napierala
40350c1b23 Add links to zfs(8) and zpool(8) to mount(8) manual page. 2009-11-11 12:55:58 +00:00
Dag-Erling Smørgrav
c574558f28 More rational usage() 2009-11-10 09:44:55 +00:00
Alexander Motin
88cbe43d65 Fix variable type. 2009-11-09 19:47:46 +00:00
Alexander Motin
50c9a27603 Add support for ATA Power Management. 2009-11-09 11:39:51 +00:00
Alexander Motin
c1bd46c2d3 MFp4:
- Add support for sector size > 512 bytes and physical sector of several
logical sectors, introduced by ATA-7 specification.
- Remove some obsoleted code.
2009-11-04 15:24:32 +00:00
Ed Schouten
8f1c21a6e3 Just use devname(3) to print device names.
Right now sysctl just prints the major/minor numbers of a device.
Instead of rolling our own routine for this, we'd better just call
devname(3) to perform a translation to a device name for us.
2009-11-03 11:41:21 +00:00
John Baldwin
5ef5fd6e53 Ensure 'kvm' is always initialized. If "-M" was not specified and the
garbage value on the stack was not zero, then 'ddb capture' would try to
use the garbage value as a kvm_t pointer.

MFC after:	1 week
2009-11-02 20:18:50 +00:00
Christian Brueffer
91b010c9d9 Refine r198714, it's not as easy as just leaving the major number zero.
Submitted by:	ed
MFC after:	1 week
2009-11-01 18:25:11 +00:00
Christian Brueffer
a65653d16a The majors file was removed long ago, 0 should be used instead.
PR:		139230
Submitted by:	pluknet <pluknet@gmail.com>
MFC after:	1 week
2009-10-31 12:22:23 +00:00
Alexander Motin
7f8fbd60d4 MFp4:
Sync connection speed reporting with kernel.
Report speed in identify command, same as done by inquiry.
2009-10-31 10:47:47 +00:00
John Baldwin
742765c971 When extracting the capture buffer from a crashdump, only read the valid
portion of the capture buffer (db_capture_bufoff vs db_capture_bufsize).
This could result in outputting garbage (e.g. lots of 'p' characters if
DIAGNOSTIC is enabled) after the end of the capture buffer.  While here,
fix a spelling nit.

Reported by:	Mikolaj Golub  to my trociny of gmail
MFC after:	3 days
2009-10-29 13:44:58 +00:00
Jaakko Heinonen
bdb403798c Fix parsing of mount options specified with -o in case an option with
value is preceded by an option without value (for example -o
option1,option2=value). Options must be separated before searching for
'='. Also compare pnextopt explicitly against NULL.

PR:		bin/134069
Approved by:	trasz (mentor)
2009-10-26 14:57:33 +00:00
Ulf Lilleengen
0fdcb6f055 - Initialize variable in order to avoid GCC warning and enable WARNS=6.
PR:		bin/139970
Submitted by:	Ulrich Spörlein <uqs -at- spoerlein.net>
2009-10-26 07:43:41 +00:00
Philip Paeps
9b683f8da6 Make dhclient use bootpc (68) as the source port for unicast DHCPREQUEST
packets instead of allowing the protocol stack to pick a random source port.

This fixes the behaviour where dhclient would never transition from RENEWING
to BOUND without going through REBINDING in networks which are paranoid about
DHCP spoofing, such as most mainstream cable-broadband ISP networks.

Reviewed by:	brooks
Obtained from:	OpenBSD (partly - I'm not convinced their solution can work)
MFC after:	1 week (pending re approval)
2009-10-21 23:50:35 +00:00
Ed Schouten
a7b5ad271c Make input parsing in Farhenheit actually work.
Don't clobber *p with '\0' when testing whether it has the value of 'F'.
Just use the semantics of strtof() properly. If it returns p, we know
that it parsed the string until it reached 'C' or 'F'.

The code has not changed since it has been imported (r161951, Sep 3,
2006).

Submitted by:	Alexandre Perrin <kaworu@kaworu.ch>
MFC after:	1 week
2009-10-21 18:31:54 +00:00
Remko Lodder
32ae24b7d7 The tunefs utility does not work on active filesystems.
PR:		docs/139705
Submitted by:	Warren Block <wblock at wonkity dot com>
Approved by:	imp (mentor, implicit)
2009-10-21 10:15:26 +00:00
Ruslan Ermilov
106d839190 Switch the default WARNS level for sbin/ to 6.
Submitted by:	Ulrich Spörlein
2009-10-19 16:00:24 +00:00
Ruslan Ermilov
605c493e90 Clean up markup (mainly). 2009-10-19 15:50:59 +00:00
Ruslan Ermilov
f807cca1a3 Properly re-create "-s size" argument to newfs(8). 2009-10-19 14:04:19 +00:00
Hiroki Sato
7590eb54ce Use printb() to display the "nd6 options=" line. 2009-10-12 21:11:50 +00:00
Rui Paulo
57c81ff830 Update for latest 802.11s changes in meshconf format.
MFC after:	3 days
2009-10-12 14:51:19 +00:00
Matt Jacob
4bdcc9c7d7 The cylinder group tag cg_initediblk needs to match the number of inodes
actually initialized. In the growfs case for UFS2, no inodes were actually
being initialized and the number of inodes noted as initialized was the
number of inodes per group. This created a filesystem that was deemed
corrupted because the inodes thus added were full of garbage.

MFC after:	1 month
2009-10-05 01:31:16 +00:00
Xin LI
9534110f48 Static'ify internal methods and use prototype. 2009-09-28 07:42:52 +00:00
Alexander Motin
7365f12882 Fethch more information from IDENTIFY result. 2009-09-27 22:00:26 +00:00
Hiroki Sato
2e77c5abfb Fix several logic bugs in the previous IPv6 variable change and
re-add $ipv6_enable support for backward compatibility.  From
UPDATING:

 1. To use IPv6, simply define $ifconfig_IF_ipv6 like $ifconfig_IF
    for IPv4.  For aliases, $ifconfig_IF_aliasN should be used.
    Note that both variables need the "inet6" keyword at the head.

    Do not set $ipv6_network_interfaces manually if you do not
    understand what you are doing.  It is not needed in most cases.

    $ipv6_ifconfig_IF and $ipv6_ifconfig_IF_aliasN still work, but
    they are obsolete.

 2. $ipv6_enable is obsolete.  Use $ipv6_prefer and/or
    "inet6 accept_rtadv" keyword in ifconfig(8) instead.

    If you define $ipv6_enable=YES, it means $ipv6_prefer=YES and
    all configured interfaces have "inet6 accept_rtadv" in the
    $ifconfig_IF_ipv6.  These are for backward compatibility.

 3. A new variable $ipv6_prefer has been added.  If NO, IPv6
    functionality of interfaces with no corresponding
    $ifconfig_IF_ipv6 is disabled by using "inet6 ifdisabled" flag,
    and the default address selection policy of ip6addrctl(8)
    is the IPv4-preferred one (see rc.d/ip6addrctl for more details).
    Note that if you want to configure IPv6 functionality on the
    disabled interfaces after boot, first you need to clear the flag by
    using ifconfig(8) like:

         ifconfig em0 inet6 -ifdisabled

    If YES, the default address selection policy is set as
    IPv6-preferred.

    The default value of $ipv6_prefer is NO.

 4. If your system need to receive Router Advertisement messages,
    define "inet6 accept_rtadv" in $ifconfig_IF_ipv6.  The rc(8)
    scripts automatically invoke rtsol(8) when the interface becomes
    UP.  The Router Advertisement messages are used for SLAAC
    (State-Less Address AutoConfiguration).
2009-09-26 18:59:00 +00:00
Alexander Motin
a3f00c8abf MFp4:
Reduce code duplication.
2009-09-22 22:17:14 +00:00
Christian Brueffer
8fba046b09 Fix setfib(1) section number.
PR:		133765
Submitted by:	Konstantin Zolotukhin <erebus@gorodok.net>
MFC after:	3 days
2009-09-18 14:17:00 +00:00
Ruslan Ermilov
20ba6b0d61 Fixed markup. 2009-09-17 19:15:49 +00:00
Rick Macklem
c5a0c16f80 Change the default transport protocol for use by the Mount protocol
from UDP to TCP, so that it is consistent with TCP for NFS, which
became the default at r176198. Without this change, doing an NFS mount
against a server that only supports UDP would result in an unusable
mount point if a transport protocol option wasn't specified for the
mount.

Approved by:	kib (mentor)
MFC after:	3 days
2009-09-17 19:08:15 +00:00
Christian Brueffer
9d9cf6adf5 Fix an xref.
PR:		138833
Submitted by:	Alex Keda <admin@lissyara.su>
MFC after:	3 days
2009-09-17 13:09:08 +00:00
Christian Brueffer
897e93cc72 Fix the example, -w is the right switch for write failure probability.
PR:		136219
Submitted by:	Kouki Hashimoto <hsmtkk@gmail.com>
Patch by:	gavin
MFC after:	3 days
2009-09-17 13:04:46 +00:00
Pawel Jakub Dawidek
8abb2a6ed9 Modify mount(8) to skip MNT_IGNORE file systems by default, just like df(1)
does. This is not POLA violation, because there is no single file system in the
base that use MNT_IGNORE currently, although ZFS snapshots will be mounted with
MNT_IGNORE after next commit.

Reviewed by:	kib
MFC after:	3 days
2009-09-14 21:08:22 +00:00
Hiroki Sato
6dcd0ad85d Document accept_rev_ethip_ver and send_rev_ethip_ver flags of
EtherIP (gif(4) + if_bridge(8)).

MFC after:	3 days
2009-09-12 22:17:13 +00:00
Hiroki Sato
a283298ce3 Improve flexibility of receiving Router Advertisement and
automatic link-local address configuration:

- Convert a sysctl net.inet6.ip6.accept_rtadv to one for the
  default value of a per-IF flag ND6_IFF_ACCEPT_RTADV, not a
  global knob.  The default value of the sysctl is 0.

- Add a new per-IF flag ND6_IFF_AUTO_LINKLOCAL and convert a
  sysctl net.inet6.ip6.auto_linklocal to one for its default
  value.  The default value of the sysctl is 1.

- Make ND6_IFF_IFDISABLED more robust.  It can be used to disable
  IPv6 functionality of an interface now.

- Receiving RA is allowed if ip6_forwarding==0 *and*
  ND6_IFF_ACCEPT_RTADV is set on that interface.  The former
  condition will be revisited later to support a "host + router" box
  like IPv6 CPE router.  The current behavior is compatible with
  the older releases of FreeBSD.

- The ifconfig(8) now supports these ND6 flags as well as "nud",
  "prefer_source", and "disabled" in ndp(8).  The ndp(8) now
  supports "auto_linklocal".

Discussed with:	bz and jinmei
Reviewed by:	bz
MFC after:	3 days
2009-09-12 22:08:20 +00:00
Pawel Jakub Dawidek
21038751aa Actually component with the greatest priority is used by the prefer balance
algorithm.
2009-09-09 19:06:01 +00:00
Hiroki Sato
53ac3451a7 Use printb() instead of rolling its own routine to display
bits in options=<>.

Pointed out by:	ume
MFC after:	3 days
2009-09-07 15:52:15 +00:00
Hajimu UMEMOTO
ad334ef082 Suppress an options line when no bit is on.
Reviewed by:	hrs
MFC after:	3 days
2009-09-07 15:22:54 +00:00
Pawel Jakub Dawidek
b740e905a4 Add support for changing providers priority.
Submitted by:	Mel Flynn
2009-09-06 06:52:06 +00:00
Pawel Jakub Dawidek
87070efb4d Update copyright years. 2009-09-06 06:49:59 +00:00
Pawel Jakub Dawidek
963feac4e9 For any given subcommand allow to specify multi-line usage (separated by \n).
Submitted by:	Mel Flynn
2009-09-06 06:48:50 +00:00
Kip Macy
996de02413 remove stale references to RTF_CLONING and RTF_LLINFO
MFC after:	3 days
2009-09-04 18:52:26 +00:00
Alexander Motin
80976615e3 Add to camcontrol cmd support for sending arbitrary ATA commands.
It could be used for broad range of tasks, such as configuring drive
power management modes, caching, security and any other features and tasks,
not supported by existing drivers.
2009-09-04 18:21:40 +00:00
Alexander Motin
7606b4450b Short ATA command format has 28bit address, not 36bit.
Rename ata_36bit_cmd() into ata_28bit_cmd(), while it didn't become legacy.

MFC after:	2 days
2009-08-30 16:31:25 +00:00
Alexander Motin
36cf18d4f9 MFp4:
- Tune protocol version reporting,
 - Add supported DMA/PIO modes reporting.
 - Fix IDENTIFY for ATAPI devices.
 - Remove confusing "-" for NCQ status.
2009-08-30 16:08:25 +00:00
Ulf Lilleengen
0d239eefe5 - Add a SIGINFO handler for savecore. 2009-08-25 06:21:45 +00:00
Philippe Charnier
80469c1b25 ANSIfy functions declarations, adjust prototypes. Rename local variable
to not conflict with err().
2009-08-25 04:09:09 +00:00
Ivan Voras
43ec3cc665 Remove (c) line.
Requested by:	pjd
Approved by:	gnn (mentor)
MFC after:	1 month
2009-08-23 18:15:13 +00:00
Marcel Moolenaar
eb0ea23e83 Remove the dependency on the kernel -- in particular the gctl request to
the GEOM_BSD class -- to translate the absolute offsets in the label to
relative ones. This makes bslabel(8) work correctly with GEOM_PART and
also when the BSD label is nested under arbitrary partitioning schemes.

Inspired by:	Eygene Ryabinkin <rea-fbsd@codelabs.ru>
Approved by:	re (kib)
2009-08-19 16:29:20 +00:00
Pawel Jakub Dawidek
48423f5d8f Be more precise how to get fsids - 'mount -v' doesn't show fsids unless is run
by root.

Approved by:	re (kib)
2009-08-17 07:38:47 +00:00
Marcel Moolenaar
cee5f0ca2d Emit a proper error message instead of dumping core when 1)
GEOM_PART does not exist in the kernel, and 2) the GEOM in
question does not exist.
Additionally abort in case of programming errors that result
in neither the class nor geom not being present in the gctl
request.

Submitted by:	"Andrey V. Elsukov" <bu7cher@yandex.ru>
Approved by:	re (kib)
2009-08-16 21:27:35 +00:00
Rick Macklem
ef89cb79cc Delete the descriptions of the gssname and allgssname optionss from
mount_nfs.8 since these options are not implemented in FreeBSD8.
This is content change for the man page.

Approved by:	re (kensmith), kib (mentor)
2009-07-29 14:44:09 +00:00
Rui Paulo
3ca80f0dbc Mesh fixes, namely:
* don't clobber proxy entries
* HWMP seq number processing, including discard of old frames
* flush routing table entries based on nexthop
* print route flags in ifconfig
* more debugging messages and comments

Proxy changes submitted by sam.

Approved by:	re (kib)
2009-07-27 14:22:09 +00:00
Bjoern A. Zeeb
00dc5f8e66 Make ifconfig ifN -vnet <jname|jid> actually work:
- fix ifconfig to ignore the non-existent interface in the current
  network stack in case of '-vnet'.
- in ifconfig: actually use the local variables defined for the
  vnet functions rather than modifying the global.

Reviewed by:	rwatson
Approved by:	re (kib)
2009-07-26 11:25:57 +00:00
Sam Leffler
f8c44ada2e Fix the logic to count the number of "live interfaces". With this change
dhclient now terminates when the underlying ifnet is destroyed (e.g.
on card eject).

Reviewed by:	brooks
Approved by:	re (kib)
2009-07-21 15:06:10 +00:00
Rui Paulo
c104cff26e More mesh bits, namely:
* bridge support (sam)
* handling of errors (sam)
* deletion of inactive routing entries
* more debug msgs (sam)
* fixed some inconsistencies with the spec.
* decap is now specific to mesh (sam)
* print mesh seq. no. on ifconfig list mesh
* small perf. improvements

Reviewed by:	sam
Approved by:	re (kib)
2009-07-20 19:12:08 +00:00
Rui Paulo
59aa14a91d Implementation of the upcoming Wireless Mesh standard, 802.11s, on the
net80211 wireless stack. This work is based on the March 2009 D3.0 draft
standard. This standard is expected to become final next year.
This includes two main net80211 modules, ieee80211_mesh.c
which deals with peer link management, link metric calculation,
routing table control and mesh configuration and ieee80211_hwmp.c
which deals with the actually routing process on the mesh network.
HWMP is the mandatory routing protocol on by the mesh standard, but
others, such as RA-OLSR, can be implemented.

Authentication and encryption are not implemented.

There are several scripts under tools/tools/net80211/scripts that can be
used to test different mesh network topologies and they also teach you
how to setup a mesh vap (for the impatient: ifconfig wlan0 create
wlandev ... wlanmode mesh).

A new build option is available: IEEE80211_SUPPORT_MESH and it's enabled
by default on GENERIC kernels for i386, amd64, sparc64 and pc98.

Drivers that support mesh networks right now are: ath, ral and mwl.

More information at: http://wiki.freebsd.org/WifiMesh

Please note that this work is experimental. Also, please note that
bridging a mesh vap with another network interface is not yet supported.

Many thanks to the FreeBSD Foundation for sponsoring this project and to
Sam Leffler for his support.
Also, I would like to thank Gateworks Corporation for sending me a
Cambria board which was used during the development of this project.

Reviewed by:	sam
Approved by:	re (kensmith)
Obtained from:	projects/mesh11s
2009-07-11 15:02:45 +00:00
Scott Long
e69811df21 Fix alignment issue with ATA IDENTIFY structure.
Approved by:	re
2009-07-10 17:42:53 +00:00
Scott Long
52c9ce25d8 Separate the parallel scsi knowledge out of the core of the XPT, and
modularize it so that new transports can be created.

Add a transport for SATA

Add a periph+protocol layer for ATA

Add a driver for AHCI-compliant hardware.

Add a maxio field to CAM so that drivers can advertise their max
I/O capability.  Modify various drivers so that they are insulated
from the value of MAXPHYS.

The new ATA/SATA code supports AHCI-compliant hardware, and will override
the classic ATA driver if it is loaded as a module at boot time or compiled
into the kernel.  The stack now support NCQ (tagged queueing) for increased
performance on modern SATA drives.  It also supports port multipliers.

ATA drives are accessed via 'ada' device nodes.  ATAPI drives are
accessed via 'cd' device nodes.  They can all be enumerated and manipulated
via camcontrol, just like SCSI drives.  SCSI commands are not translated to
their ATA equivalents; ATA native commands are used throughout the entire
stack, including camcontrol.  See the camcontrol manpage for further
details.  Testing this code may require that you update your fstab, and
possibly modify your BIOS to enable AHCI functionality, if available.

This code is very experimental at the moment.  The userland ABI/API has
changed, so applications will need to be recompiled.  It may change
further in the near future.  The 'ada' device name may also change as
more infrastructure is completed in this project.  The goal is to
eventually put all CAM busses and devices until newbus, allowing for
interesting topology and management options.

Few functional changes will be seen with existing SCSI/SAS/FC drivers,
though the userland ABI has still changed.  In the future, transports
specific modules for SAS and FC may appear in order to better support
the topologies and capabilities of these technologies.

The modularization of CAM and the addition of the ATA/SATA modules is
meant to break CAM out of the mold of being specific to SCSI, letting it
grow to be a framework for arbitrary transports and protocols.  It also
allows drivers to be written to support discrete hardware without
jeopardizing the stability of non-related hardware.  While only an AHCI
driver is provided now, a Silicon Image driver is also in the works.
Drivers for ICH1-4, ICH5-6, PIIX, classic IDE, and any other hardware
is possible and encouraged.  Help with new transports is also encouraged.

Submitted by:	scottl, mav
Approved by:	re
2009-07-10 08:18:08 +00:00
Oleg Bulyzhin
a6f1444804 - 'burst' description rewritten.
Submitted by:	Ben Kaduk
Approved by:	re (kib)
2009-06-26 19:49:06 +00:00
Maxim Konovalov
067e91e8c2 o Kill grammar nits.
PR:		docs/136061
Submitted by:	Ben Kaduk
MFC after:	1 week
2009-06-26 05:09:00 +00:00
Oleg Bulyzhin
6882bf4d92 - fix dummynet 'fast' mode for WF2Q case.
- fix printing of pipe profile data.
- introduce new pipe parameter: 'burst' - how much data can be sent through
  pipe bypassing bandwidth limit.
2009-06-24 22:57:07 +00:00