Commit Graph

190 Commits

Author SHA1 Message Date
Greg Lehey
bfb9bed7bf vinum_info(): Add support for logging subdisk I/O. 1999-08-24 02:32:57 +00:00
Greg Lehey
b095b120af Tidy up some indentation and comments.
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.
1999-08-24 02:31:19 +00:00
Mike Pritchard
348e4e6c73 Minor mdoc fix. 1999-08-15 12:16:59 +00:00
Mike Pritchard
aa7c9adaea Various man page cleanup:
- Sort xrefs
- FreeBSD.ORG -> FreeBSD.org
- Properly xref RFCs.
- Be consistent with section names as outlined in mdoc(7).
- Other misc mdoc cleanup.

PR:		doc/13144
Submitted by:	Alexey M. Zelkin <phantom@cris.net>
1999-08-15 08:06:12 +00:00
Greg Lehey
fc58bdab83 initsd: On completion, put the subdisk in 'initialized' status, not
'up'.  This matches changes in the kernel module.

Reported-by:	Bernd Walter <ticso@cicely.de>
		Remy Nonnenmacher <remy@synx.com>
1999-08-15 02:32:19 +00:00
Greg Lehey
ff5bd28e70 Correct typo. 1999-08-14 09:15:43 +00:00
Greg Lehey
43b967dbef Add declarations for initvol, initplex and initsd helper functions for
vinum_init.
1999-08-14 06:20:55 +00:00
Greg Lehey
b6f7fc2505 vinum_info: add code to print out lock events.
modify format of other event printouts.
1999-08-14 06:20:20 +00:00
Greg Lehey
bcb0f98dbe make_plex_dev: make them raw. Volume-related plex devices will
probably die a death soon (yes, DES, that's correct usage).
1999-08-14 06:19:38 +00:00
Greg Lehey
f0012c01e2 vinum_init: add code to initialize subdisks as well as plexes. Also
provide for initializing volumes; this code is not yet complete.
1999-08-14 06:18:39 +00:00
Greg Lehey
6017572204 Correct typo.
PR:	docs/13050
Reported-by:	Dan Langille<junkmale@xtra.co.nz>
1999-08-09 23:28:03 +00:00
Greg Lehey
b13c5ac72b Update to reflect recent changes. 1999-08-07 09:27:25 +00:00
Greg Lehey
4426dd567f Remove code to detect RAID-5/non-RAID-5 kernel modules. 1999-08-07 08:20:07 +00:00
Greg Lehey
1e0e802f79 Remove code to detect RAID-5/non-RAID-5 kernel modules.
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.
1999-08-07 08:19:45 +00:00
Greg Lehey
4391e2334d Import RAID-5 code.
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>
1999-08-07 08:19:15 +00:00
Greg Lehey
d9170b4e00 vinum_init:
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.
1999-08-07 08:18:39 +00:00
Greg Lehey
aa30608b44 Modify device numbering method to work with latest -CURRENT. Briefly,
the device numbers are now minor number only, so that we can still
compare them after dev_t has turned into a blob.

Broken-by:	dev_t changes
Reported-by:	Vallo Kallaste <vallo@matti.ee>
		"Niels Chr. Bank-Pedersen" <ncbp@bank-pedersen.dk>
1999-07-22 08:40:37 +00:00
Greg Lehey
d0448064fc Add definitions for simplified config commands
Change definition of sflag

Reported-by:	Johan Karlsson <k@numeri.campus.luth.se>
		Doug <Doug@gorean.org>
		green

World-broken-by:	grog
Pointy-hat-passed-to:	grog
1999-07-02 23:57:45 +00:00
Greg Lehey
ec2e2a6723 Remove the volume, plex, sd and drive commands which allowed the user
to bypass the create command.

vinum_stop:
  Allow -f option.

Add commands for simplified configuration:
  concat - create a volume with one concatenated plex
  stripe - create a volume with one striped plex
  mirror - create a volume with two concatenated or striped plexes

Egged-on-by:	  jkh
1999-07-02 08:01:12 +00:00
Greg Lehey
a490e68466 Change the name of the s option to indicate that it wears more than
one hat.

Change formats as the result of changes in drive structure.
1999-07-02 08:00:31 +00:00
Greg Lehey
2c1ba0bcf7 Change the name of the s option to indicate that it wears more than
one hat.

Add -n option for specifying names of volumes created with the
simplified commands.

Add function find_drive_by_devname to help the simplified
configuration commands.
1999-07-02 07:59:45 +00:00
Greg Lehey
738407d497 Document simplified configuration commands. 1999-07-02 07:58:54 +00:00
Greg Lehey
f3a65ee32e Document the -f flag to detach.
Document the dangers of adding subdisks to striped and RAID-5 plexes.
1999-06-22 05:55:32 +00:00
Greg Lehey
c9a9cf971a Remove ancient, mouldy comments. 1999-06-22 05:54:39 +00:00
Greg Lehey
b1cdcf849c vinum_ldi:
Show the available sectors relative to the user-available part of
  the drive (don't include the config space at the beginning).  This
  stops an empty drive reporting only 99% available.

Requested-by: staylor

printconfig:

  Show sizes in sectors with the suffix 's' instead of the
  now-deprecated 'b'.
1999-06-22 05:53:57 +00:00
Greg Lehey
c3d71cfc5e Allow a 'start <drive>' command. 1999-06-22 05:53:11 +00:00
Greg Lehey
8fea704025 Arrange the "CONFIGURATION FILE" section in the order in which the
entries go into the config file.

Clarify what names can be used for Vinum drives, and what will happen
to you if you use other names.

Forcibly-demonstrated-by:  Thomas Stromberg <tstromberg@rtci.com>
			   Peter K Campbell <PCampbel@vtrlmel1.telstra.com.au>
			   George Cox <george.cox@sophos.com>
			   many others, but those were the only three today.
1999-05-07 07:11:01 +00:00
Greg Lehey
1b3859ce9a timestamp:
Assign explicit variable for sec to get it to compile on Alpha.

Submitted by: dfr
1999-05-02 22:23:18 +00:00
Greg Lehey
e2375c635f Update documentation of new functions.
Describe new scale letter for sizes: 's' (sector) instead of 'b'
(block).  Both mean 512 bytes, but 'b' is deprecated because it's
confusing.

Document log file and environment variables.
1999-05-02 08:03:30 +00:00
Greg Lehey
895bd9b191 Add definitions for history functions and printconfig split. 1999-05-02 08:02:48 +00:00
Greg Lehey
0f76af59ba printconfig:
split into vinum_printconfig (interactive) and printconfig (called
  from vinum_printconfig and from vinum_create when starting an
  interactive update.
1999-05-02 08:02:03 +00:00
Greg Lehey
e0e022fc69 vinum_create:
If no file name is specified, create one and edit it with the editor
  specified in the EDITOR environment variable, by default vi.

vinum_help:
  Update.

Fix typos in messages.
1999-05-02 08:01:21 +00:00
Greg Lehey
1976254102 Maintain a log file, by default /var/log/vinum.history, showing what
has been done.  This name can be overridden by the value of the
VINUM_HISTORY environment variable.

Print dates in log file according to the variable VINUM_DATEFORMAT, by
default %e %b %Y %H:%M:%S.
1999-05-02 08:00:30 +00:00
Greg Lehey
0aff4757c8 When looking at all objects, look at all objects.
main:
  If the wrong version is started, execve the correct version.
1999-04-17 04:13:04 +00:00
Greg Lehey
cc2023a984 When looking at all objects, look at all objects.
vinum_lsi:
  Print rough size of plex in parentheses.
  Print drive info with -v option (previously required -V).
1999-04-17 04:12:33 +00:00
Greg Lehey
409d8396f9 vinum_init: count dead children correctly when waiting for completion.
vinum_resetstats: count objects correctly.
1999-04-17 04:11:48 +00:00
Greg Lehey
f83b075baa Add external declaration for wait flag, rather later than intended.
Complained-about-by:  jkh
		      Jim Bloom <bloom@acm.org>
		      Michael Reifenberger <root@nihil.plaut.de>
1999-04-10 23:39:14 +00:00
Greg Lehey
9690aae346 Document -w option for init command.
Reorganize OPTIONS section into alphabetical order.
1999-04-10 04:02:23 +00:00
Greg Lehey
fc7fafc1a1 Add -w option to init command: wait for init to complete before
returning.
1999-04-10 04:00:49 +00:00
Greg Lehey
033916740b If the wrong version of vinum(8) has been started (i.e. non-RAID-5
when the kernel module is RAID-5, or the other way round), execve()
the correct one.

Add \n to an error message.
1999-04-09 01:14:36 +00:00
Greg Lehey
8a465c4217 Add GOTCHAS entries warning against using partition c for vinum, and
explaining the syntax of the 'read' command.

Shot-in-foot-by:  Bob Gustwick <gustwick@oldzoom.bga.com>
1999-04-05 04:06:27 +00:00
Greg Lehey
4bd1924ddf vinum_resetstats: Reset stats for drives correctly when recursing. 1999-03-31 08:44:20 +00:00
Greg Lehey
95869fbbd3 Change the meaning of the combination of -s and no -v option in the
list functions.  Previously, it would produce a non-verbose listing of
the objects followed individually by a statistics listing.  Now it
produces only a one-line-per-object statistics listing.
1999-03-31 08:43:40 +00:00
Greg Lehey
60349886f9 Get date right.
Remove comments about not being able to unload from the command line.

Add another example configuration output.

Clarify when to use 'vinum start' and when to use 'vinum read'.
1999-03-28 08:51:51 +00:00
Greg Lehey
0fea12cf01 main (): Don't loop waiting for children to finish. 1999-03-28 08:51:29 +00:00
Greg Lehey
22093445f5 vinum_start: Allow user to specify a plex. In this case, revive all
subdisks in need of revival.

vinum_stop:  sleep for a second before unloading.  This solves a race
	     condition with a potential daemon when the stop command
	     is specified on the command line.
1999-03-28 08:51:10 +00:00
Greg Lehey
35755b9f51 Add a tutorial-like section "How to set up Vinum" 1999-03-24 09:18:33 +00:00
Greg Lehey
1ea272a632 'start' command: check that the objects in question aren't already up,
and produce an intelligble message if they are.
1999-03-24 00:45:47 +00:00
Greg Lehey
1ae808e860 Correct ioctl calls VINUM_STARTCONFIG. The last commit broke the
'vinum start' command.
1999-03-23 23:24:00 +00:00
Greg Lehey
240b9c4449 Describe the new semantics of 'create':
When creating a new drive, if the drive already has a vinum label,
  and name doesn't match the specified drive, do it anyway if the
  'force' flag is specified.

Continually-tripped-over-by:  Karl Pielorz <kpielorz@tdx.co.uk>

Update information about partition type for Vinum drives.  They
*should* be of type 'vinum', but currently we still accept (and
complain about) partitions of type 'unused'.  At a later date, only
'vinum' will be accepted.

Threatened-since: over a year
1999-03-23 04:55:50 +00:00
Greg Lehey
170cfb0311 Print correct message if the wrong module is loaded. 1999-03-23 04:55:23 +00:00
Greg Lehey
7a4bec173b vinum_create: pass 'force' flag to ioctl VINUM_STARTCONFIG.
Semantics:

  When creating a new drive, if the drive already has a vinum label,
  and name doesn't match the specified drive, do it anyway if the
  'force' flag is specified.

Continually-tripped-over-by:  Karl Pielorz <kpielorz@tdx.co.uk>
1999-03-23 04:54:59 +00:00
Greg Lehey
fd20bb017e If we fail to open the super device, open the "wrong" device (that is,
the debug superdevice when we're compiled without debug, or the normal
superdevice when we're compiled with debug.  If this succeeds, print
an informative comment and exit.

make_devices: Create both debug and normal superdevices.
1999-03-19 07:21:27 +00:00
Greg Lehey
a542207223 Clarify the synchronization options in additional plexes to a volume. 1999-03-18 23:17:05 +00:00
Greg Lehey
5b76055cb5 Clarify that the stop command only works in interactive mode. 1999-03-14 04:06:49 +00:00
Greg Lehey
aa8e683270 create command: get the message right if an error occurs with a
non-verbose create.
1999-03-14 04:06:00 +00:00
Greg Lehey
6128bd0ff7 Describe the new debug flags DEBUG_EOFINFO and DEBUG_MEMFREE.
Fix a confusion between slices and partitions.

Clarify the problems of small stripe sizes (< 128 kB).
1999-03-13 07:45:52 +00:00
Greg Lehey
25641fed48 info command: Remove opencount parameter, print value of open flag. 1999-03-13 07:44:17 +00:00
Greg Lehey
ad4e71c7b7 create command: if an error occurs, print the offending line even if
the -v flag has not been set.
1999-03-13 07:43:28 +00:00
Greg Lehey
6cecf4e4b2 Document "stop" command with no parameters.
Document "printconfig" and "saveconfig" commands.

Add warning about running "create" multiple times.
1999-03-02 07:02:29 +00:00
Greg Lehey
327f3f618f Take definitions of VINUMMOD and WRONGMOD from v.c. 1999-03-02 07:02:09 +00:00
Greg Lehey
aa57f12990 Move definitions of VINUMMOD and WRONGMOD to vext.h.
Wait4 zombies.

make_devices: Don't try if the /dev directory is mounted read-only.
	      Create daemon superdevice /dev/vinum/controld.

Format a couple of multiline comments conformant with style(9).
1999-03-02 07:01:51 +00:00
Greg Lehey
04898b56e9 Change the format of the lists to reflect loss of pid field.
Show open state as a flag.

vinum_ldi: Show available space in short form listing.
1999-03-02 07:01:26 +00:00
Greg Lehey
5e2b0861ec resetconfig: don't log the "obliterated" message, the kernel does that
for us.

	     Rebuild the (almost empty) /dev/vinum directory.

vinum_start:  remove superflous "read" parameter when starting with no
	      parameters.

vinum_stop:  without an argument, stop Vinum and remove the kld if
	     it's idle.

vinum_saveconfig: New command to save configuration.
1999-03-02 07:00:57 +00:00
Greg Lehey
3628210aa7 Modify example configuration file to show more optimum stripe size of
256 kB instead of 16 kB.

Pointed-out-by: Steve Taylor <staylor@cybernet.com>

Modify description of start command to include 'start' with no
parameters, which reads the config from all drives found on the
system.
1999-02-11 06:14:49 +00:00
Greg Lehey
f2c4d303d7 Extend 'start' command: if used without any parameters, vinum scans
all disks known to devstat for vinum drives and reads their
configuration.
1999-02-11 06:14:15 +00:00
Greg Lehey
730ed31899 Check for both kinds of Vinum module (with and without RAID-5). Using
the wrong module can cause confusion, including loading both versions
(which conflict with each other) and incorrect ioctls, which cause
unintelligible error messages.

Extend 'start' command: if used without any parameters, vinum scans
all disks known to devstat for vinum drives and reads their
configuration.
1999-02-11 06:13:44 +00:00
Greg Lehey
77a14d66b8 Include libdevstat in executable, for extended start command. 1999-02-11 06:12:06 +00:00
Greg Lehey
ebf1694990 Correct include paths
Remove unnecessary additional CFLAGS
Remove BINGRP and BINMODE
1999-01-31 23:25:22 +00:00
Greg Lehey
1c315e7931 Add MAINTAINER 1999-01-30 01:00:19 +00:00
Greg Lehey
959c9a97a9 Fix broken command tables (change formatting from tbl to .Bl/.El)
Move the BUGS section to vinum.4: the only bug in vinum.8 was the man
page, fixed with this commit.
1999-01-27 03:12:23 +00:00
Greg Lehey
52e80fad69 Update to reflect major changes in vinum kernel module 1999-01-21 00:45:11 +00:00
Greg Lehey
0834a1f2db Update to reflect changes in kernel lkm 1999-01-21 00:44:11 +00:00
Greg Lehey
6ab8fef8a8 Remove -DRAID5 from CFLAGS 1999-01-21 00:43:00 +00:00
Greg Lehey
967e682830 Don't install vinum(8) sgid.
Reported-by:	Paul Hart <hart@iserver.com>
1999-01-13 23:05:26 +00:00
Greg Lehey
a5d5588506 - Format corrections for troff output
- Comment out the description of the unimplemented replace command
- Explain in even stronger language that resetconfig is not for
  everyday use

  Motivated by:  Marko Schütz <marko@ki.informatik.uni-frankfurt.de>

- Correct the description of the start command (no longer used to
  start vinum, just specific objects)

  Motivated by: dg

- Remove .TH N commands, which conflict badly with the doc macros,
  causing strange headings in nroff output and endless loops in troff.
  The current version produces warning messages with some screen
  sizes, and will be fixed when I have time.

  Bug-report: docs/9328 (nroff)
  Reported-by: joerg (troff)

- Add gotcha info for the setupstate keyword and the use of label and
  resetconfig.

- Add bug entry for the warning messages introduced by fixing
  docs/9328.

- Add references to web pages on Vinum
1999-01-09 03:00:01 +00:00
Greg Lehey
2d9a57cff5 Complete change from DEBUG to VINUMDEBUG. Now it still builds when
VINUMDEBUG is set as well.
1999-01-06 04:22:48 +00:00
Greg Lehey
c2218a2c9f Complete previous commit: change debug macro from DEBUG to VINUMDEBUG
Reported by: dg
1999-01-06 04:09:01 +00:00
Greg Lehey
a1f358450e Fix problems compiling without -DVINUMDEBUG
Reported by: dg
1999-01-06 04:07:49 +00:00
Peter Wemm
6d553badba Tweaks as a result of having vinum statically buildable in a kernel. 1998-12-28 16:32:39 +00:00
Søren Schmidt
580d0d02e8 Reenable vinum after repository copy.
Forgotten by:	Peter.
1998-12-28 11:06:21 +00:00
Greg Lehey
ef57f97a9d - Correct alphabetical order of commands
- Describe subdisk attachment in more detail
- Describe new 'makedev' command
- Correct use of 'partition' and 'slice'
- Describe 'setupstate' keyword
- Include performance guidelines for striped plexes
- Correct numerical values in examples
- Add examples for disklabel(8)
- Clarify problems creating Vinum drives on inappropriate partitions

Prodded by: NAGANUMA Yasuhiro <y_naga@carat.rim.or.jp> (slices and
            partitions)
1998-12-27 03:47:15 +00:00
Greg Lehey
07e7cd96c5 Correct u_int_64 casting to remove warnings in printf() 1998-11-03 06:39:39 +00:00
Greg Lehey
5ecb82d898 Show revive pointer in percentage complete as well as absolute value. 1998-11-02 04:12:51 +00:00
Greg Lehey
d67b685b04 Remove kludge to set subdisk states when bringing up a plex 1998-11-02 04:12:28 +00:00
Greg Lehey
8386a2b309 list.c:
Add dump of last requests with 'info -V'.  This requires the requests
  to be enabled with 'debug 8'.
1998-10-21 08:39:57 +00:00
Bruce Evans
dbf1004755 Honour the default CFLAGS. This fixes a spew of warnings for compiling
unused static inlines in headers without -O.

Fixed missing libraries in DPADD.

Use .PATH instead of a symlink farm.

Removed bogus dependency of util.c on statetext.h (only util.o depends
on it).  Removed rule for building statetext.h.  The dependency was used
to get statetext.h built, but statetext.h is a non-generated source file
so it doesn't need building.  This fixes an annoying message for the null
build and use of `make' instead of ${MAKE} to do the null build.

Fixed some style bugs.
1998-10-17 13:48:37 +00:00
Bruce Evans
794389cf5d Don't assume that time_t is long. 1998-10-17 13:02:46 +00:00
Greg Lehey
8814fd974a Bring man page up to date 1998-09-29 10:26:02 +00:00
Greg Lehey
8644f7188f Import base vinum userland sources 1998-09-16 05:57:36 +00:00