Describe stop -f to stop when config updates are disabled.
Explain in more detail why Vinum needs its own partition type, and why
you can't make it the c partition.
Implicitly-sanctioned-by: jkh
replaces an older attempt to silence vinum(8) when started in
single-user mode.
Add entries for vinum_raid[45].
Replace the preprocessor variable name CDEV_MAJOR with
VINUM_CDEV_MAJOR.
continue_revive: Set the proc title to 'reviving <sdname>' so that it
can be recognized in a ps list.
Approved-by: jkh
drive if it is set.
vinum_lvi: Change line spacing. This is still not right.
Change checks for striped or RAID-5 plexes to a macro 'isstriped',
which now also includes RAID-4.
Change checks for RAID-5 plexes to a macro 'isparity', which now also
includes RAID-4.
vinum_lsi: If the subdisk is initializing or reviving, don't wait a
whole second to check whether it's advancing; wait in increments of 50
ms up to 1 second. This makes for a barely perceptible delay.
Approved-by: jkh
enabled and print a warning message in varous places if they are not.
Fix typos in comments.
Change some indents to approach style(9).
initvol: If init fails, place the subdisks in a "down" state.
vinum_start(): If we're starting a plex, try doing it directly. It's
possible that the state of the plex differs from that of the subdisks,
for example if somebody has used 'setupstate'.
New functions vinum_raid4 and vinum_raid5 to create RAID-4 and RAID-5
volumes, analagous to vinum_mirror and vinum_stripe.
vinum_checkparity: Don't try to check the parity of a non-parity plex,
print a rude remark instead.
Approved-by: jkh
DIR I=64512 CONNECTED. PARENT WAS I=4032
fsck: cannot find inode 995904
fsdb found the inodes with no problem:
fsdb (inum: 64512)> inode 995904
current inode: directory
I=995904 MODE=40777 SIZE=512
MTIME=Feb 14 15:27:07 2000 [0 nsec]
CTIME=Feb 14 15:27:07 2000 [0 nsec]
ATIME=Feb 24 10:31:58 2000 [0 nsec]
OWNER=nobody GRP=nobody LINKCNT=4 FLAGS=0 BLKCNT=2 GEN=38a41386
Direct blocks: 8094568 0 0 0 0 0 0 0 0 0 0 0
Indirect blocks: 0 0 0
The problem turns out to be a program logic error in fsck. It stores
directory inodes internally in hash lists, using the number of
directories to form the hash key:
inpp = &inphead[inumber % numdirs];
Elsewhere, however, it increments numdirs when it finds unattached
directories. I've made the following fix, which solved the problem in
the case in hand.
Submitted by: Greg Lehey <grog@lemis.com>
Reviewed by: Matthew Dillon <dillon@apollo.backplane.com>
Approved by: Kirk McKusick <mckusick@mckusick.com>
Improve compatibility with BSD/OS, and also more accurately reflect that
IP aliases aren't really any different than the primary IP address on an
interface.
Reviewed by: dcs
Approved by: jkh
-Open socket() at first and then setuid() to actual user.
-Allow ping6 preload option only for root.
Approved by: jkh
Submitted by: Neil Blakey-Milner <nbm@mithrandr.moria.org>
Kirk argees that the comment about corruption caused by switching the flags
on an already mounted manpage are bogus, it doesn't happen.
Ok by: mckusick
256 bytes) caused it to break on many devices.
The SCSI spec says that for commands with 8-bit length fields, a value of 0
means 256 bytes. As it turns out, many devices don't deal with that
properly. Some interpret the 0 as 0, and return no data. Others return
more than 256 bytes of data, and cause an overrun.
The fix is to tell the device we've only allocated SHORT_INQUIRY_LENGTH (36
bytes) of inquiry data, instead of sizeof(struct scsi_inquiry_data).
camcontrol.c: Change inq_len in the call to scsi_inquiry() to
SHORT_INQUIRY_LENGTH, and add a long comment
explaining the reason for the change.
scsi_all.h: Add a comment above the definitinon of
SHORT_INQUIRY_LENGTH alerting people that it is
both the initial probe inquiry length, and the
minimum amount of data needed for scsi_print_inquiry()
to function.
scsi_all.c: Add a comment about SHORT_INQUIRY_LENGTH being the
minimum amount of data needed for
scsi_print_inquiry() to function.
Reviewed by: gibbs
Approved by: jkh
Reported by: "John W. DeBoskey" <jwd@unx.sas.com>
Sorry for the flapping, but no change will be done for 4.0 anymore.
Official standard will be published around April or later.
If different format would be adopted at that time, then support for
the new format will be added to the succeeding FreeBSD 4.x.
Approved by: jkh
include a copy of the 3.0.1 firmware for the PCA200E card in the fore_dnld
program.
There are various and subtle compatibility issues between the hfa driver and
the microcode, this version is belived to work best.
If a file is specified on the command line it will be used instead of the
embedded image.
Approved by: jkh
IPv6 scoped addr display is not yet supported by ifconfig
and route. Now almost of IPv6 apps support it, so its support
in ifconfig and route is important to keep consisetncy, and
to avoid user confusion.
Approved by: jkh
Yes it is almost code freeze, but as the result of many thought, now I
think this should be added before 4.0...
make world check, kernel build check is done.
Reviewed by: green
Obtained from: KAME project
add an upper limit to -t
match the types of return values and the variables they are stuffed in
make the man page and usage() a little more consistantly ugly
less obfuscation.
Submitted by: adrian, billf
Changes are:
- rpc.umntall is called at the right places now in /etc/rc*
- rpc.umntall timeout has been lowered from two days (too high) to one
- verbose messages in rpc.umntall have been clarified
- kill double entries in /var/db/mounttab when rpc.umntall is invoked
- ${early_nfs_mounts} has been removed from /etc/rc
- patched mount(8) -p to print different pass/dump values for ufs filesystems.
(last patch recieved from dan <bugg@bugg.strangled.net>)
Submitted by: Martin Blapp <mbr@imp.ch>, dan <bugg@bugg.strangled.net>
Also, in addition to the previous log message, the last change had a fix
for the case where where f.mntfromname is a relative path like da0a.
Submitted by: bde
- Don't use realpath as stat does the right thing.
- Only check ufs filesystems in getmntpt.
- Dont' bother checking that the ufs-mounted-on
device is a special file. It *must* be a special
file, or ufs wouldn't have mounted it.
Submitted by: Paul Saab <ps@yahoo-inc.com>
Suggested-by: Bernd Walter (ticso@cicely.de)
Add key pairs for 'mv' and 'move' (a synonym for 'mv'). Required for
the move command code submitted by Marius Bendiksen
<marius@marius.scancall.no>
make_devices: Don't create symlinks for drives if they are only
referenced. Previously, spurious symlinks appeared in the current
directory.
Problem-reported-by: Bernd Walter (ticso@cicely.de)
No longer create character devices, now that there is no difference.
Make the devices as character devices, not block devices.
on alpha.
Submitted-by: Bernd Walter <ticso@cicely.de>
Replace %q formats with %lld.
Desired-by: bde
Remove #ifdef RAID5
vinum_lsi: If a subdisk is in 'reviving' state, check the status of
the revive and report the status of the revive. In verbose mode,
display the pid of the reviver.
on alpha.
Submitted-by: Bernd Walter <ticso@cicely.de>
Add function vinum_mv, which moves subdisks to different drives. This
function just does the low-level configuration changes; the resultant
subdisk is stale if it previously had any contents, otherwise it is
empty (i.e. in need of initializing if it's RAID-5). We still need to
handle getting the contents moved over, but the current version will
suffice to migrate subdisks from a disk which has failed.
Submitted-by: Marius Bendiksen <marius@marius.scancall.no>
vinum_start: Get the revive block size right.
(1)added error check of if_nameindex() return value at getaddrinfo().
(2)print out more detailed information when getaddrinfo() error value
is EAI_SYSTEM.(in this case system error num is kept in errno)
(1) is Discovered by: jinmei@kame.net in KAME environment.
packet divert at kernel for IPv6/IPv4 translater daemon
This includes queue related patch submitted by jburkhol@home.com.
Submitted by: queue related patch from jburkhol@home.com
Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
assumption that only getty processes can be managed. Describe the
SysV-like ability to keep arbitrary long-running processes alive
using a non-device first field in /etc/ttys.
PR: 12767
Submitted by: Peter Jeremy <peter.jeremy@alcatel.com.au>
Packets that match a tee rule should not be immediately accepted,
but should continue going through the rule list. This may be fixed
in a later version.
I hope to fix this soon in a separate commit.
rundown script 'reboot' or 'single'. ISO support (which never
worked) has been removed from mount_nfs. mount_nfs and umount
now use mounttab, which allows umntall to work properly. The
rc scripts now call umntall as appropriate.
Submitted by: Martin Blapp <mb@imp.ch>
(2) Check for ENOENT when checking for /var/db/mountdtab
(3) Remove a signal handler that called broken functions.
(4) Remove the broken functions.
Submitted by: Martin Blapp <mb@imp.ch>
Reviewed by: bde (1), billf ([234])
option and add explicit option to bind to the wildcard address. The
default is to bind to the wildcard address when no -h option has been
specified and thus backwards compatibility is maintained.
PR: kern/13049
Reviewed by: David Malone <dwmalone@maths.tcd.ie>
Submitted by: Matt Dillon <dillon@freebsd.org>, David Malone <dwmalone@maths.tcd.ie>
camcontrol was setup to use the old scheme of going through the xpt(4)
device, which never worked properly (and has been disabled for a while).
camcontrol now sends BDRs through the pass(4) device, and XPT_RESET_DEV
CCBs are put on the device queue in the transport layer, as they should be.
Submitted by: luoqi
Reviewed by: ken
1. Get rid of the evilly bogus strdup(fstab) and free if (fstab == "")
as in umount.
2. Don't use /etc/fstab info if the mount instance does not exactly match
the fstab entry.
3. Reversed the mountpoint checking order in getmntpt().
4. Clarify the "not mounted" error message in mount -u. The previous
"unknown special file or file system" wasn't quite right.
5. Get rid of a 1-byte memory leak; this was reported by jhb.
Submitted by: Martin Blapp <mb@imp.ch>
Delete references to cam(9) and xpt(9) which do not exist.
Delete statement in BUGS that cam(9) and xpt(9) will be added soon.
PR: 14567
Submitted by: Ronald F. Guilmette <rfg@monkeys.com>
Approved by: ken
- Completly changed the internals of umount(8). We do three
checks now to see if 'argv' is in the mounttable. It they
all fail, we return to main and print a warning.
- fixed the umount mount-order. The checks are rather complex
to do this. Cause umount(8) should also be able to unmount
several devices at once ('umount -a', 'umount -A',
'umount /mnt /mnt2'), the mount-order get's important.
I added checks to mark and unmark already unmounted devices.
- Various fixes with nfs-unmounts (no rpc-calls were done,
or they were done although there was an existing mount).
Since we allow overlay-mounts, we should also handle them
properly.
- Translate the deprecated nfs-syntax with '@' to ':' like
mount_nfs does. The ':' syntax has now precedence, but '@'
still works.
- 'umount -v' is now fixed for all cases and doesn't print
garbage like two times the mountpoint etc.
- removed non documented and useless umount '-F'.
- hanged nfsmounts can now unmounted 'without' any problems.
I've removed stat() and realpath() checks on the mountpoint.
Instead we just do a realpath() on the basedir of the
mountpath and add the dirname again.
Implemented this as an idea from phk. But there are still
vfs-restrictions if the nfs_mount is busy. If there are
unwritten metadata on a hanged nfs-mount, and we modify
nfs_vfsops.c to not return EBUSY, we get a deadlock :(
The problem has now moved from userland to kernel.
- removed the BUGS part from the umount(8) manpage.
- Converted it to ANSI C (more than 60% of the code have
changed).
Martin_Blapp
Fixed PR's
----------
o [1999/02/03] bin/9893 NFS umount of regular file impossible
s [1995/11/27] bin/841 stale nfs mounts cannot be umounted
o [1999/08/01] bin/12911 alfred NFS umounts are not properly done
if just the mountpoint gets umounted
Only partially solved:
----------------------
The problem is now in kernel:
o [1999/04/07] bin/11005 `umount -f' does not work if the
NFS-server is down.
PR: bin/9893 bin/841 bin/12911 bin/11005
Submitted by: Martin Blapp <mb@imp.ch>
interface limits it to this anyway.
Change the name of the v flag variable from 'verbose' to 'vflag',
indicating the multiple use (verbose or verify).
Add -S flag to specify the size of some operations.
indicating the multiple use (verbose or verify).
vinum_ldi:
Show active requests for the drive if -v is specified.
White space cleanup.
vinum_lsi:
Show the progress of an init command if -v is specified.
vinum_info:
Print the number of active requests.
Print out loginfo_sdio and loginfo_sdiodone log entries.
indicating the multiple use (verbose or verify).
initsd: rewrite:
Initialization is now done in the kernel.
Verify (again!) if -v is specified.
Allow specification of a blocksize, the length to be transferred in
one transfer.
vinum_revive:
Allow specification of a blocksize, the length to be transferred in
one transfer.
Made mount more userfriendly (bad slashes are now filtered out)
and we remove in mount_nfs trailing slashes if there are any.
Fixed mount_xxx binarys to resolve with realpath(3)
the mountpoint.
Translate the deprecated nfs-syntax with '@' to ':' .
The ':' syntax has now precedence, but '@' still works.
Notify the user that the '@' syntax should not be used.
PR: 7846
PR: 13692
Submitted by: Martin Blapp <mb@imp.ch>
Reviewed by: phk
Original patch from Adrian. Martin added a check for free().
- Included the filesystem type in output of mount
PR: bin/13143
Submitted-By: Martin Blapp <mblapp@kassiopeja.lan.attic.ch>
request.
Fix some uninitialized warnings and a style bug while we are here.
Problem still exists where a failed umount can be misreported as
success.
Submitted by: Martin Blapp <mb@imp.ch>
- Move intrhook stuff into kernel.h
- Remove all occurrences of #device <device.h>
- Add kernel.h were necessary (nowhere)
- delete device.h
This file contained the structures for cfdata (old style config) and is no
longer used. It was included by most drivers.
It confuses the remote debugger as the definition of 'struct device' in
device.h is found before the one in bus_private.h.
vinum_lpi: Add information about progress of rebuildparity and
checkparity commands.
listconfig: Print object counts in a different format, don't refer to
the internal number of slots allocated:
Caused-confusion-to: Norbert Meissner <norbert.meissner@daimlerchrysler.com>
vinum_info: Change format of device numbers so that they fit in the
column (ignore high-order minor number bits, which aren't really of
much interest).
vinum_start: bzero the statinfo.dinfo struct. The lack of this was
causing sporadic failures of the start command.
Add body of vinum_checkparity command.
CAM_PASS_ERR_RECOVER flag to be set unconditionally on READ DEFECTS
commands, and also caused the CAM_DIR_IN flag to not be set. This was
the cause of all of the "camcontrol defects doesn't work with my NCR
controller" bugs.
The second prevented camcontrol negotiate from negotiating any bus width
other than 8 bits.
Submitted by: groudier@club-internet.fr (Gerard Roudier)
we're about to operate on, try to load one. Don't complain if the
load fails, and always press on regardless (there may not be a module
suitable or required).
With the renaming of the PCI ethernet driver modules and the addition
of appropriate miibus dependancies on those modules that need it, it is
now no longer necessary to compile many ethernet drivers into the kernel;
they will be loaded on demand the first time they are ifconfig'ed.
Inspiration from: mount
Reviewed by: obrien
- Trailing spaces and empty lines are ignored.
- A `#' sign will mark the remaining of the line as a comment.
Reviewed by: Ari Suutari <ari@suutari.iki.fi>
init(8) cannot decrease securelevel. The manual page explains this
and single_user() doesn't try to downgrade kernel to insecure mode.
Reviewed by: bde (manual page)
vinum_init(): Change name of variable plexindex to objindex, which
better describes its purpose.
initsd(): Add a second parameter to determine whether it should wait
for completion or not. This allows it to DTRT when called
with the -w flag either directly or via initplex().
Add 'setstate' command (function vinum_setstate ()) to implement the
VINUM_SETSTATE_FORCE ioctl for diddling individual object states.
This is a repair tool which can also be used for panicing the system.
Use with utmost care if at all.
Add unimplemented commands 'checkparity' and 'rebuildparity'. Watch
this space.
This wipes the MBR and creates slice 1 as a FreeBSD slice covering the
disk starting from the second track to the cylinder aligned end of the disk.
This is the most compatibly layout we have as far as I know.
using syslog(3) (log(9)) for its various purposes! This long-awaited
change also includes such nice things as:
* macros expanding into _two_ comma-delimited arguments!
* snprintf!
* more snprintf!
* linting and criticism by more people than you can shake a stick at!
* a slightly more uniform message style than before!
and last but not least
* no less than 5 rewrites!
Reviewed by: committers
Add function definition for readpol command.
Rewrite make_devices with a view to incremental making. In the
process, effectively kill off plex-bound subdisk device numbers.
Add Cybernet copyright.
OK'd-by: Chuck Jacobus <chuck@cybernet.com>
vinum_ldi:
Calculate the percentage used correctly.
vinum_lsi:
Flag detached subdisks.
vinum_info:
Request info: get the major and minor numbers and print them
correctly.
list_defective_objects:
New function, for listing objects which aren't up after vinum_start.
Requested-by: Steve Taylor <staylor@cybernet.com>
wait correctly for completion.
set object in initializing state before initializing.
Don't set the plex up, it should go up automatically.
vinum_start:
If any objects are not up on start, list them.
Requested-by: Steve Taylor <staylor@cybernet.com>
vinum_attach:
Make sure we always have the object information before examining it.
vinum_replace:
Start writing.
create_drive, vinum_concat, vinum_stripe, vinum_mirror:
Check the ioctl return values correctly
vinum_readpol:
Start writing.
_or_ you may specify "log logamount number" to set logging specifically
the rule.
In addition, "ipfw resetlog" has been added, which will reset the
logging counters on any/all rule(s). ipfw resetlog does not affect
the packet/byte counters (as ipfw reset does), and is the only "set"
command that can be run at securelevel >= 3.
This should address complaints about not being able to set logging
amounts, not being able to restart logging at a high securelevel,
and not being able to just reset logging without resetting all of the
counters in a rule.