summaryrefslogtreecommitdiffstats
path: root/sbin
Commit message (Collapse)AuthorAgeFilesLines
* Make dhclient use a pid file. Modify the rc script accordingly; whiledes2011-10-135-3/+48
| | | | | | | there, clean it up and add some error checks. Glanced at by: brooks@ MFC after: 3 weeks
* After creating a filesystem using newfs -j the time stamps are allmckusick2011-10-111-0/+10
| | | | | | | | | | | zero and thus report as having been made in January 1970. Apart from looking a bit silly, it also triggers alarms from scripts that detect weird time stamps. This update sets all 4 (or 3, in the case of UFS1) time stamps to the current time when enabling journaling during newfs or later when enabling it with tunefs. Reported by: Hans Ottevanger <hans@beastielabs.net> MFC after: 1 week
* Add a "kern.features.ata_cam" sysctl in the kernel when the ATA_CAM kernelrodrigc2011-10-092-1/+32
| | | | | | | | | | | | | | | | | | | | | option is defined. This sysctl can be queried by feature_present(3). Query for this feature in /sbin/atacontrol and /usr/sbin/burncd. If these utilities detect that ATA_CAM is enabled, then these utilities will error out. These utilities are compatible with the old ATA driver, but are incomptible with the new ATA_CAM driver. By erroring out, we give end-users an idea as to what remedies to use, and reduce the need for them to file PR's. For atacontrol, camcontrol must be used instead, and for burncd, alternative utilties from the ports collection must be used such as sysutils/cdrtools. In future, maybe someone can re-write burncd to work with ATA_CAM, but at least for now, we give a somewhat useful error message to end users. PR: 160979 Reviewed by: jh, Arnaud Lacombe <lacombar at gmail dot com> Reported by: Joe Barbish <fbsd8 at a1poweruser dot com> MFC after: 3 days
* Add descriptor sense support to CAM, and honor sense residuals properly inken2011-10-031-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CAM. Desriptor sense is a new sense data format that originated in SPC-3. Among other things, it allows for an 8-byte info field, which is necessary to pass back block numbers larger than 4 bytes. This change adds a number of new functions to scsi_all.c (and therefore libcam) that abstract out most access to sense data. This includes a bump of CAM_VERSION, because the CCB ABI has changed. Userland programs that use the CAM pass(4) driver will need to be recompiled. camcontrol.c: Change uses of scsi_extract_sense() to use scsi_extract_sense_len(). Use scsi_get_sks() instead of accessing sense key specific data directly. scsi_modes: Update the control mode page to the latest version (SPC-4). scsi_cmds.c, scsi_target.c: Change references to struct scsi_sense_data to struct scsi_sense_data_fixed. This should be changed to allow the user to specify fixed or descriptor sense, and then use scsi_set_sense_data() to build the sense data. ps3cdrom.c: Use scsi_set_sense_data() instead of setting sense data manually. cam_periph.c: Use scsi_extract_sense_len() instead of using scsi_extract_sense() or accessing sense data directly. cam_ccb.h: Bump the CAM_VERSION from 0x15 to 0x16. The change of struct scsi_sense_data from 32 to 252 bytes changes the size of struct ccb_scsiio, but not the size of union ccb. So the version must be bumped to prevent structure mis-matches. scsi_all.h: Lots of updated SCSI sense data and other structures. Add function prototypes for the new sense data functions. Take out the inline implementation of scsi_extract_sense(). It is now too large to put in a header file. Add macros to calculate whether fields are present and filled in fixed and descriptor sense data scsi_all.c: In scsi_op_desc(), allow the user to pass in NULL inquiry data, and we'll assume a direct access device in that case. Changed the SCSI RESERVED sense key name and description to COMPLETED, as it is now defined in the spec. Change the error recovery action for a number of read errors to prevent lots of retries when the drive has said that the block isn't accessible. This speeds up reconstruction of the block by any RAID software running on top of the drive (e.g. ZFS). In scsi_sense_desc(), allow for invalid sense key numbers. This allows calling this routine without checking the input values first. Change scsi_error_action() to use scsi_extract_sense_len(), and handle things when invalid asc/ascq values are encountered. Add a new routine, scsi_desc_iterate(), that will call the supplied function for every descriptor in descriptor format sense data. Add scsi_set_sense_data(), and scsi_set_sense_data_va(), which build descriptor and fixed format sense data. They currently default to fixed format sense data. Add a number of scsi_get_*() functions, which get different types of sense data fields from either fixed or descriptor format sense data, if the data is present. Add a number of scsi_*_sbuf() functions, which print formatted versions of various sense data fields. These functions work for either fixed or descriptor sense. Add a number of scsi_sense_*_sbuf() functions, which have a standard calling interface and print the indicated field. These functions take descriptors only. Add scsi_sense_desc_sbuf(), which will print a formatted version of the given sense descriptor. Pull out a majority of the scsi_sense_sbuf() function and put it into scsi_sense_only_sbuf(). This allows callers that don't use struct ccb_scsiio to easily utilize the printing routines. Revamp that function to handle descriptor sense and use the new sense fetching and printing routines. Move scsi_extract_sense() into scsi_all.c, and implement it in terms of the new function, scsi_extract_sense_len(). The _len() version takes a length (which should be the sense length - residual) and can indicate which fields are present and valid in the sense data. Add a couple of new scsi_get_*() routines to get the sense key, asc, and ascq only. mly.c: Rename struct scsi_sense_data to struct scsi_sense_data_fixed. sbp_targ.c: Use the new sense fetching routines to get sense data instead of accessing it directly. sbp.c: Change the firewire/SCSI sense data transformation code to use struct scsi_sense_data_fixed instead of struct scsi_sense_data. This should be changed later to use scsi_set_sense_data(). ciss.c: Calculate the sense residual properly. Use scsi_get_sense_key() to fetch the sense key. mps_sas.c, mpt_cam.c: Set the sense residual properly. iir.c: Use scsi_set_sense_data() instead of building sense data by hand. iscsi_subr.c: Use scsi_extract_sense_len() instead of grabbing sense data directly. umass.c: Use scsi_set_sense_data() to build sense data. Grab the sense key using scsi_get_sense_key(). Calculate the sense residual properly. isp_freebsd.h: Use scsi_get_*() routines to grab asc, ascq, and sense key values. Calculate and set the sense residual. MFC after: 3 days Sponsored by: Spectra Logic Corporation
* Get rid of major/minor number distinction.ed2011-09-281-4/+2
| | | | | | | | | | | | | | | | | | | | | | As of FreeBSD 6, devices can only be opened through devfs. These device nodes don't have major and minor numbers anymore. The st_rdev field in struct stat is simply based a copy of st_ino. Simply display device numbers as hexadecimal, using "%#jx". This is allowed by POSIX, since it explicitly states things like the following (example taken from ls(1)): "If the file is a character special or block special file, the size of the file may be replaced with implementation-defined information associated with the device in question." This makes the output of these commands more compact. For example, ls(1) now uses approximately four columns less. While there, simplify the column length calculation from ls(1) by calling snprintf() with a NULL buffer. Don't be afraid; if needed one can still obtain individual major/minor numbers using stat(1).
* Correct typo.pjd2011-09-281-1/+1
| | | | MFC after: 3 days
* If the underlying provider doesn't support BIO_FLUSH, log it only oncepjd2011-09-284-4/+24
| | | | | | and don't bother trying in the future. MFC after: 3 days
* Break a bit earlier.pjd2011-09-281-0/+1
| | | | MFC after: 3 days
* After every activemap change flush disk's write cache, so that writepjd2011-09-286-7/+118
| | | | | | | | | | | | reordering won't make the actual write to be committed before marking the coresponding extent as dirty. It can be disabled in configuration file. If BIO_FLUSH is not supported by the underlying file system we log a warning and never send BIO_FLUSH again to that GEOM provider. MFC after: 3 days
* Use PJDLOG_ASSERT() and PJDLOG_ABORT() everywhere instead of assert().pjd2011-09-279-161/+192
| | | | MFC after: 3 days
* No need to wrap pjdlog functions around with KEEP_ERRNO() macro.pjd2011-09-271-2/+1
| | | | MFC after: 3 days
* Prefer PJDLOG_ASSERT()/PJDLOG_ABORT() over assert().pjd2011-09-271-6/+5
| | | | MFC after: 3 days
* - Convert some impossible conditions into assertions.pjd2011-09-271-11/+10
| | | | | | - Add missing 'if' in comment. MFC after: 3 days
* Correct two mistakes when converting asserts to PJDLOG_ASSERT()/PJDLOG_ABORT().pjd2011-09-271-4/+2
| | | | MFC after: 3 days
* Prefer PJDLOG_ASSERT() and PJDLOG_ABORT() over assert() and abort().pjd2011-09-273-33/+31
| | | | | | | pjdlog versions will log problem to syslog when application is running in background. MFC after: 3 days
* No need to use KEEP_ERRNO() macro around pjdlog functions, as they don'tpjd2011-09-272-23/+20
| | | | | | modify errno. MFC after: 3 days
* Ensure that pjdlog functions don't modify errno.pjd2011-09-271-0/+25
| | | | MFC after: 3 days
* - Document inet6 no_radr flag.hrs2011-09-191-1/+26
| | | | | | | - Add descriptions of sysctl(8) variables which can control the default configuration of the inet6 flags. Approved by: re (kib)
* Do not try to change the mode or ownership of the root of the mountpointkib2011-09-131-0/+27
| | | | | | | | | when newly established mdmfs mount is readonly. PR: bin/128427 Tested and reviewed by: jchandra MFC after: 1 week Approved by: re (bz)
* Don't use the whole free space when resizing partition to a larger sizeae2011-09-081-6/+6
| | | | | | | | | | | on a disk with non zero stripesize (e.g. disks with 4k sector size)[1]. Also do not use automatic alignment when size is exactly specified, but an alignment is not. Use automatic alignment only for case when user omits both "-s" and "-a" options. Reported by: Mikael Fridh <frimik at gmail> [1] Approved by: re (kib) MFC after: 1 week
* dd -t switch for mdmfs to enable TRIM on the configured filesystem.kib2011-09-062-6/+16
| | | | | | | | While there, fix minor style issues. Submitted by: Alex Kozlov <spam rm-rf kiev ua> MFC after: 1 week Approved by: re (bz)
* Forgot this nit in r221107.des2011-09-031-1/+1
| | | | Approved by: re (kib)
* Clear the mountprog variable after each mountfs() call so that mountprogjhb2011-09-021-0/+5
| | | | | | | | | options don't leak over into subsequent mounts listed in /etc/fstab. While here, fix a memory leak in debug mode. Reported by: rank1seeker @ gmail Approved by: re (kib) MFC after: 1 week
* Fix the check in dircheck() on namlen.delphij2011-09-021-2/+2
| | | | | | | | | | | | | | The value of namlen is copied from on-disk d_namlen, which is a 8-bit unsigned integer which can never exceed MAXNAMLEN (255) so the test is always true. Moreover, UFS does not allow d_namelen being zero. Change namlen from u_int to u_int8_t, and replace the unneeded test with a useful test. PR: bin/160339 Submitted by: Eugene Grosbein <eugen grosbein.pp.ru> MFC after: 2 weeks Approved by: re (kib)
* Add support for IPv6 to ipfw fwd:bz2011-08-202-22/+90
| | | | | | | | | | | | | | | | | | | Distinguish IPv4 and IPv6 addresses and optional port numbers in user space to set the option for the correct protocol family. Add support in the kernel for carrying the new IPv6 destination address and port. Add support to TCP and UDP for IPv6 and fix UDP IPv4 to not change the address in the IP header. Add support for IPv6 forwarding to a non-local destination. Add a regession test uitilizing VIMAGE to check all 20 possible combinations I could think of. Obtained from: David Dolson at Sandvine Incorporated (original version for ipfw fwd IPv6 support) Sponsored by: Sandvine Incorporated PR: bin/117214 MFC after: 4 weeks Approved by: re (kib)
* o Fix mdoc formatting for the '.Fx' macro. [1]ae2011-08-201-3/+13
| | | | | | | | o Add information about APM scheme and fix typos. [2] Submitted by: gjb [1], nwhitehorn [2] Approved by: re (kib) MFC after: 1 week
* Fix WWN printing in `camcontrol identify` output.mav2011-08-191-1/+1
| | | | | Approved by: re (kib) MFC after: 1 week
* The decimal() function was changed in r217808 to take theae2011-08-191-1/+1
| | | | | | | | | | maximum value instead of number of bits. But for case when limitation is not needed it erroneously skips conversion to number and always returns zero. So, don't skip conversion for case when limitation is not needed. PR: bin/159765 Approved by: re (kib)
* Add new section "BOOTSTRAPPING" to the gpart(8), that describesae2011-08-191-12/+90
| | | | | | | | | bootstrap code images used to boot from MBR, GPT, BSD and VTOC8 schemes. Reviewed by: marius (previous version) Approved by: re (kib) MFC after: 1 week
* Fix a regression where a rule containing a source port option after ajhb2011-08-171-0/+2
| | | | | | | | | destination IP would incorrectly display the source port as a destination port. Reviewed by: luigi Approved by: re (kib) MFC after: 1 week
* Gavin documented these alternate options in good faith in r222751dougb2011-08-061-7/+4
| | | | | | | | | based on the patch in the PR, however he was unaware that they were undocumented intentionally. This patch moves the information about these alternates into a comment which also explains why they are undocumented. Approved by: re (hrs)
* Update to -r224294 to ensure that only one of MNT_SUJ or MNT_SOFTDEPmckusick2011-07-301-2/+2
| | | | | | | is set so that mount can revert back to using MNT_NOWAIT when doing getmntinfo. Approved by: re (kib)
* Move the MNTK_SUJ flag in mnt_kern_flag to MNT_SUJ in mnt_flagmckusick2011-07-241-2/+3
| | | | | | | | | so that it is visible to userland programs. This change enables the `mount' command with no arguments to be able to show if a filesystem is mounted using journaled soft updates as opposed to just normal soft updates. Approved by: re (bz)
* This patch removes a check in ifconfig which disables HT/40 channelsadrian2011-07-201-12/+0
| | | | | | | | | | | | | on frequency bands with DFS. All Atheros chipsets >= AR9001 support radar event detection on HT40 extension channels. This should be a chipset specific item rather than enforced in the regulatory domain database. In addition, it's irrelevant for STA mode, as the radar detection is done by the access point, not the STA. Approved by: re (kib)
* This patch enables listing DFS related flags when 'ifconfig -v wlanXadrian2011-07-191-3/+14
| | | | | | | | | | | | | | | list channel' is run. The following new options are introduced: * D: channel requires DFS * R: channel has a radar event * I: channel has detected inteference * C: the CAC period has completed on a channel that requires it (ie, DFS + PASSIVE.) It's relevant for developing, debugging and using the DFS and interference options. Approved by: re (bz)
* If compiling RESCUE always ignore feature_present(3) calls so thatbz2011-07-183-0/+7
| | | | | | | | | | a /rescue/ifconfig more modern than the kernel could still configure IPv4 or IPv6 addresses. Reported by: Andrzej Tobola (ato iem.pw.edu.pl) Reported by: gcooper MFC after: 1 day X-MFC: will not MFC any time soon, just reminder for r222527
* The MBR uses a 32-bit unsigned integer to store the size of a slice, butrstone2011-07-171-4/+4
| | | | | | | | | | | | | | | | fdisk(1) internally uses a signed int. Should a user attempt to specify a slice containing more than 2^31 - 1 sectors, an error will be reported on systems with sizeof(long) == 4 and the slice size will be silently truncated on systems with sizeof(long) > 4. Instead use an unsigned long to store the slice size in fdisk(1). This allows the user to specify a slice size up to the maximum permitted by the MBR on-disk format and does not have any problems with silent truncation should the use specify an slice size larger than 2^32 on systems with sizeof(long) > 4. Submitted by: Mark Johnston (markjdb AT gmail DOT com) MFC after: 2 weeks
* Break out the pass 5 inode and block map updating into a separate functionmckusick2011-07-152-28/+45
| | | | so that the function can be used by the journaling soft updates recovery.
* When using -A option (unmount all mounted filesystems), do not attemptmckusick2011-07-141-0/+2
| | | | to unmount /dev as it will always fail.
* Use _PATH_DEV and make the format more consistent with GEOM_LABEL.delphij2011-07-141-1/+2
| | | | Submitted by: ivoras
* Add a -l option to show file system's corresponding /dev/ufsid path.delphij2011-07-142-5/+26
| | | | | | | This is useful for scripts that converts existing system's fstab to use their /dev/ufsid devices. MFC after: 2 weeks
* Remove trailing whitespace in the shutdown(8) manual.gjb2011-07-141-2/+2
| | | | MFC after: 1 week
* Improvements to the shutdown(8) manual.gjb2011-07-141-12/+14
| | | | | | PR: 158807 Submitted by: arundel MFC after: 1 week
* When exiting with error because of an invalid command line argumenttrociny2011-07-131-3/+3
| | | | | | use errx(3), not err(3), and the exit code from sysexits(3). Approved by: pjd (mentor)
* Fix indentation.trociny2011-07-131-1/+1
| | | | Approved by: pjd (mentor)
* Use NULL instead of 0 for third argument of sigaction(2).ae2011-07-121-1/+1
| | | | | Pointed by: kib MFC after: 2 weeks
* Add SIGINFO handler.ae2011-07-121-0/+24
| | | | | | Reviewed by: kib Obtained from: NetBSD (partly) MFC after: 2 weeks
* Remove useless initialization.trociny2011-07-051-2/+1
| | | | | Approved by: pjd (mentor) MFC after: 3 days
* Add infrastructure to allow all frames/packets received on an interfacebz2011-07-033-1/+118
| | | | | | | | | | | | | | to be assigned to a non-default FIB instance. You may need to recompile world or ports due to the change of struct ifnet. Submitted by: cjsp Submitted by: Alexander V. Chernikov (melifaro ipfw.ru) (original versions) Reviewed by: julian Reviewed by: Alexander V. Chernikov (melifaro ipfw.ru) MFC after: 2 weeks X-MFC: use spare in struct ifnet
* Fix a typo.sem2011-07-011-1/+1
| | | | Approved by: kib
OpenPOWER on IntegriCloud