Commit Graph

217 Commits

Author SHA1 Message Date
grog
9d2a740d4d *sigh* We can't remove VINUMDEBUG entirely, since we include kernel
header files and sources which depend on it.  For userland, define
VINUMDEBUG here.  Also remove a now superfluous #ifdef.
2001-05-23 23:27:08 +00:00
grog
0e32717daf Remove cruft. 2001-05-23 23:25:50 +00:00
grog
8cc17e93b3 Remove -DVINUMDEBUG. vinum(8) now always supports debug options if
the kernel module is built that way.
2001-05-23 05:24:53 +00:00
grog
198db21ec7 Remove #ifdef VINUMDEBUG. vinum(8) now always supports debug options
if the kernel module is built that way.

Remove the gross debug device/non-debug device hack used to recognize
whether the kernel module was in sync with the userland module.
2001-05-23 05:23:03 +00:00
grog
4bcc31e369 vinum_debug: Check for kernel module debug support, print error
message if not present.
2001-05-23 05:22:19 +00:00
grog
8e11e49303 Remove #ifdef VINUMDEBUG. vinum(8) now always supports debug options
if the kernel module is built that way.

vinum_info: Check for kernel module debug support, print error message
if not present.
2001-05-23 05:21:22 +00:00
grog
5402ddb39e Update description of the stripe size created by vinum_stripe,
vinum_mirror, vinum_raid4, vinum_raid5.

Correct typos.

Show new output of the 'list' and 'ls' commands.

Update examples to use 279 kB stripe sizes instead of 256 kB.

Clarify some text.

Remove the description of the 'invalid ioctl' messages which now no
longer occur.

Add a description of the 'retryerrors' keyword.
2001-05-22 02:40:40 +00:00
grog
3f5c94f026 Major tidy up. Add explicit header files, thus enabling the .c files
to avoid including the kernel headers.

Move a number of definitions of userland functions from
dev/vinum/vinumext.h.

Desired by:	   bde

This commit is the first of a general cleanup of the header files..
It won't be enough to make bde happy.

Remove vinum_perror and associated DEVBUG definition.
2001-05-22 02:39:48 +00:00
grog
6532c66271 Tidy up header files. Don't include stuff we don't need.
Use userland expurgated versions of kernel structures, since that's
what the ioctls return now.

Remove vinum_perror.

main: Check kernel version with userland version in _vinum_conf.  This
      field is a constant which gets incremented every time the
      kernel-userland interface changes.  This enables vinum(8) to
      check for the correct kernel version and to produce a useful
      message if it doesn't match.  For previous versions, which don't
      have a version number, the length of the structure is different,
      so we can recognize it via the EINVAL return from ioctl.

Supply count parameter to tokenize().

Change method of recognizing active devfs: replace devfs_is_active
with (complemented) no_devfs.

make_devices: remove references to devfs.  If we're running devfs,  we
don't need to call make_devices at all.

vinum_makedev (user command 'makedev'): Print a warning message if
devfs is running and don't do anything else.
2001-05-22 02:39:24 +00:00
grog
1c309e7d29 Tidy up header files. Don't include stuff we don't need.
Remove vinum_perror.

Modify 'list' brief printout to fit in 80 columns.

Modify 'ls' brief printout to show the drive to which the subdisk
before instead of the plex offset, which is usually less interesting.
The verbose printout remains unchanged.

Use userland expurgated versions of kernel structures, since that's
what the ioctls return now.

Move checkupdates here to simplify header file mess.
2001-05-22 02:38:52 +00:00
grog
79d1772ca9 Tidy up header files. Don't include stuff we don't need.
Remove 'vinum_perror'.

Only call make_devices if we're not running devfs.

Use userland expurgated versions of kernel structures, since that's
what the ioctls return now.

Update help list, which was lagging behind reality.

checkupdates: move to list.c to simplify header file mess.

vinum_stripe, vinum_mirror, vinum_raid4, vinum_raid5: change the
default stripe size from 256 k to 279 k, thus hopefully spreading
superblocks more evenly.
2001-05-22 02:38:11 +00:00
ru
7e34350ffd mdoc(7) police: fix markup. 2001-04-27 10:32:48 +00:00
ru
86642a4ab4 - Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.
2001-03-26 14:33:27 +00:00
ru
56b5d7535b Set the default manual section for sbin/ to 8. 2001-03-20 18:13:31 +00:00
obrien
68b225051b Use _PATH_DEV.
Reviewed by:	grog
2001-02-28 17:50:29 +00:00
alfred
557b41f4e9 Fix vinum for both devfs and non-devfs systems.
userland tool:

  Use the vfs.devfs.generation sysctl to test for devfs presense
  (thanks phk!) when devfs is active it will not try to create the
  device nodes in /dev and therefore will not complain about the
  failure to do so.

  Revert the change in the #define for VINUM_DIR in the kernel
  header so that vinum can find its device nodes.

  Replace perror() with vinum_perror() to print file/line when
  DEVBUG is defined (not defined by default).

kernel:

  Don't use the #define names for the "superdev" creation since
  they will be prepended by "/dev/" (based on VINUM_DIR), instead
  use string constants.

  Create both debug and non-debug "superdev" nodes in the devfs.

Problem noticed and fix tested by: Martin Blapp <mblapp@fuchur.lan.attic.ch>
2001-02-20 22:07:36 +00:00
grog
14a2cceb12 Fix typo.
Submitted by:	Jimmy Olgeni <olgeni@uli.it>
PR:		24233

Fix typos.

Submitted by:	"Jeroen C. van Gelderen" <jeroen@vangelderen.org>
2001-01-15 22:15:05 +00:00
grog
ffc1b6907f Remove references to lockinfo.plex.
Reported by: 	dougb
2001-01-14 11:42:19 +00:00
ru
6c6a7d3786 Prepare for mdoc(7)NG. 2000-12-27 14:40:52 +00:00
grog
9b04a6e609 Cosmetics.
Correct location of history file.

Change references from /dev/wd to /dev/ad.

Use more appropriate defaults for stripe size in examples.
2000-12-20 05:08:41 +00:00
grog
8558894ebc roughlength: Use correct format strings. 2000-12-20 05:07:36 +00:00
grog
acdbf93b97 Correct some comments.
vinum_attach: Get correct names (were being overwritten).

Submitted by:	Terry Glanfield <Terry.Glanfield@program-products.co.uk>
2000-12-20 05:05:39 +00:00
ru
bb320bb874 mdoc(7) police: use canonical form of .Dd macro. 2000-12-11 15:20:31 +00:00
grog
45350b13e3 Correct the pathname of the history file.
Reported by:	Crist J . Clark <cjclark@alum.mit.edu>
2000-11-23 01:41:11 +00:00
ru
ea31070695 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 16:52:27 +00:00
ru
eb8c554f56 mdoc(7) police: use certified section headers wherever possible. 2000-11-17 11:44:16 +00:00
grog
455a2b4476 Document the correct default states for additional plexes of a
multi-plex volume.

Confusion reported by: many

Clarify recommendations for default plex stripe size.
2000-11-14 20:54:37 +00:00
ru
bd085010ca Spell the `daemon' correctly. 2000-11-14 13:53:03 +00:00
ru
7d99729431 Use Fx macro wherever possible. 2000-11-14 11:20:58 +00:00
grog
5015ce0260 Add 'setupstate' to RAID-10 example.
Tripped-over-by:	Nicole Harrington <nicole@picturetrail.com>
2000-09-23 00:18:31 +00:00
grog
7c31a7e63d Bring LDADD in line with DPADD.
Reported by:	bde
2000-09-06 04:18:16 +00:00
grog
c4591f8f2e Clean up now that setproctitle() is in libc.
Submitted by: 	brian
2000-09-03 01:29:29 +00:00
grog
74e66fd323 Clarify which bit of the daemon config disables configuration saves.
This is still terrible.  I need to finally implement variables.

Reported-by:	jmg
2000-06-08 07:27:35 +00:00
grog
92ca76b833 Update description of checkparity and rebuildparity commands. 2000-06-07 04:15:40 +00:00
grog
43c1f97188 continue_revive: Set the revive blocksize correctly in the ioctl request. 2000-06-07 04:12:39 +00:00
grog
5f0f53bcd2 vinum_start: Set the revive blocksize correctly.
checkparity: Allow the -v flag to display progress.
2000-06-07 04:09:55 +00:00
grog
83a3e081eb Add new function declarations. 2000-06-02 03:55:01 +00:00
grog
a5eea96d8a Change the default command history file from /var/tmp/vinum_history to
/var/log/vinum_history.  Also check that any existing history file is
a regular file.

Admonished-by: imp

Allow stopping long-running commands with ^C (well, SIGINTR).
Previously this would stop the program.
2000-06-02 03:54:33 +00:00
grog
5e6b4a395e Add new function dumpconfig: dump the configuration information
directly off the drives.

This command shows a minor problem: it requires that the device nodes
exist, whereas kernel Vinum does not.  Thus dumpconfig may show no
configuration for certain drives which are up and happily running.
This is documented in the man page.
2000-06-02 03:53:33 +00:00
grog
d4d500418a attach command: allow attaching striped or parity plexes if the -f
option is given.  This will break the data in the plex.
2000-06-02 03:52:05 +00:00
grog
283efb624e Add external for -i option. 2000-05-11 08:57:09 +00:00
grog
f716ae0b0f Remove description of the -v option for init and start.
Describe -i option for start.

Update description of start command (will now work on plexes).

Update discussion of choice of stripe size (don't use power of 2).

Remove references to raw devices.
2000-05-11 07:34:54 +00:00
grog
554e67bb30 Add -i (interval) option, for use with start command. 2000-05-11 07:33:53 +00:00
grog
f36acfe526 vinum_info: Use the correct field to determine whether trace entries
are read or write.

Bug-introduced-in:	Revision 1.26

Show percentage complete in brief status of reviving and initializing
subdisks.
2000-05-11 07:32:09 +00:00
grog
cbda1426e3 start plex/subdisk:
Add -i option to delay between blocks copied, to reduce performance
   impact.

   Remove -v option, things work now.

Rewrite parity maintenance functions.

Rebuildparity: Add -v option to check whether it was broken before
rebuilding each block.
2000-05-11 07:29:09 +00:00
grog
89dde410b7 Remove MAINTAINER. 2000-04-16 00:17:46 +00:00
bde
4fe2aa11ba Fixed a missing library in DPADD.
Fixed some misformattings.
2000-03-27 18:38:29 +00:00
phk
a6fcf56263 B_READ is gone, check for BIO_READ instead.
Not tested.
2000-03-20 17:12:45 +00:00
grog
d5a01916c2 Remove description of defunct DEBUG_NUMOUTPUT by commenting out.
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
2000-03-01 07:22:10 +00:00
grog
cf44ef7326 Add declaration for parityops.
Implicitly-sanctioned-by:	jkh
2000-03-01 07:21:21 +00:00
grog
090cc794ba Increase the time we'll wait for a reviving disk to carry on and not
be marked as stalled, from 1 second to 5 seconds.

Implicitly-sanctioned-by:	jkh
2000-03-01 07:20:32 +00:00
grog
9301681b2f Implement vinum_rebuildparity, which had got forgotten. In the
process, move the body of vinum_rebuildparity and vinum_checkparity to
a new function, parityops.

Implicitly-sanctioned-by:	jkh
2000-03-01 07:19:33 +00:00
grog
72dbae65b9 Add definitions for vinum_raid[45] and checkupdates.
Approved-by:  jkh
2000-02-29 06:22:09 +00:00
grog
726ca37d80 Don't print any error message if we can't open the history file. This
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
2000-02-29 06:21:38 +00:00
grog
83943ac967 vinum_ldi: Honour the 'recurse' flag and show the subdisks on this
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
2000-02-29 06:20:57 +00:00
grog
dfb30d0b63 New function checkupdates: check whether configuration updates are
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
2000-02-29 06:19:42 +00:00
peter
e5f21c38e3 Don't use /dev/vinum/rsd/XXX for init as it doesn't exist any more.
Without this change, you cannot do the required init on a new raid5 volume.

Reviewed by:	grog
Approved by:	jkh
2000-02-06 02:40:22 +00:00
grog
256d6ab5ab make_devices(): Create devices with permissions 640, not 740.
Pointed-out-by:	"Rodney W. Grimes" <freebsd@gndrsh.dnsmgr.net>
2000-01-05 23:56:33 +00:00
grog
38b2dbfb9a Describe 'move' function.
Submitted-by:	Marius Bendiksen <marius@marius.scancall.no>

Describe state transitions in more detail, in particular how to revive
subdisks.
2000-01-05 05:59:08 +00:00
grog
fc064a10ef Change parameters of some declarations.
Add declaration for vinum_mv.
2000-01-05 05:58:01 +00:00
grog
5163962841 makedev: Give all devices permissions 740.
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.
2000-01-05 05:57:31 +00:00
grog
3a196d655e Explicitly type large scalar parameters to avoid compilation warnings
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.
2000-01-05 05:56:47 +00:00
grog
91cc3e9837 Explicitly type large scalar parameters to avoid compilation warnings
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.
2000-01-05 05:55:57 +00:00
marcel
5ed0012e79 Remove -g compiler flag. 2000-01-03 12:01:30 +00:00
grog
1e09a99ada Describe the new options of start and init commands. 1999-10-13 03:30:29 +00:00
grog
00578e9ef1 Change default init sizes from 64 kB to 60 kB, since the block device
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.
1999-10-13 03:29:13 +00:00
grog
61c0c72ac5 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.
1999-10-13 03:28:40 +00:00
grog
6615755ffc Change the name of the v flag variable from 'verbose' to 'vflag',
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.
1999-10-13 03:27:55 +00:00
grog
dc37e533a4 Change the name of the v flag variable from 'verbose' to 'vflag',
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.
1999-10-13 03:27:06 +00:00
grog
2343e64423 Add description of checkparity and rebuildparity.
Remove a half-started message.

Reported-by:	      "Jeffrey J. Mountin" <jeff@mountin.net>
1999-09-28 23:03:29 +00:00
grog
3d140252e4 Brucify comments.
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).
1999-09-28 23:02:14 +00:00
grog
dd9fd20194 vinum_init: Fix message typo.
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.
1999-09-28 23:00:05 +00:00
peter
76f0c923fe $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
grog
e225ec605b Update and tidy descriptions of info -V.
Describe use of -w option with start.
Tidy up descriptions of scale factor suffixes.
1999-08-26 03:24:02 +00:00
grog
10d42c8b30 Document the setstate command. 1999-08-24 02:36:23 +00:00
grog
b699dd5427 Change declaration for initsd.
Add declarations for vinum_setstate, vinum_checkparity and
vinum_rebuildparity.
1999-08-24 02:35:07 +00:00
grog
92e50861c3 parseline(): Reset the -w flag.
continue_revive: Implement the -w flag.
1999-08-24 02:33:55 +00:00
grog
edde6ee75c vinum_info(): Add support for logging subdisk I/O. 1999-08-24 02:32:57 +00:00
grog
922bb45cf9 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
mpp
2037b3d265 Minor mdoc fix. 1999-08-15 12:16:59 +00:00
mpp
ebc58e0b20 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
grog
5913fc232b 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
grog
e8c163e370 Correct typo. 1999-08-14 09:15:43 +00:00
grog
72af637c3c Add declarations for initvol, initplex and initsd helper functions for
vinum_init.
1999-08-14 06:20:55 +00:00
grog
8effe71628 vinum_info: add code to print out lock events.
modify format of other event printouts.
1999-08-14 06:20:20 +00:00
grog
a0bee57f34 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
grog
b435818c5a 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
grog
c45cdc42a2 Correct typo.
PR:	docs/13050
Reported-by:	Dan Langille<junkmale@xtra.co.nz>
1999-08-09 23:28:03 +00:00
grog
85f9772cfe Update to reflect recent changes. 1999-08-07 09:27:25 +00:00
grog
e66df31c62 Remove code to detect RAID-5/non-RAID-5 kernel modules. 1999-08-07 08:20:07 +00:00
grog
14c3e50601 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
grog
150ef09ae8 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
grog
644b832941 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
grog
83880cb904 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
grog
ed93915465 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
grog
3d2b8409c4 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
grog
7e432c6ca1 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
grog
1adddabe0f 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
grog
551ca3931f Document simplified configuration commands. 1999-07-02 07:58:54 +00:00
grog
1f87f11ed6 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