summaryrefslogtreecommitdiffstats
path: root/sbin/vinum/commands.c
Commit message (Collapse)AuthorAgeFilesLines
* vinum_start: examine storage array devices, not just disks.grog2002-04-261-3/+4
| | | | | | | Submitted by: Holger Kipp <holger.kipp@alogis.com> PR: 37458 MFC after: 5 days (to get 4.6 code freeze)
* Usage style sweep: spell "usage" with a small 'u'.des2002-04-221-11/+11
| | | | | Also change one case of blatant __progname abuse (several more remain) This commit does not touch anything in src/{contrib,crypto,gnu}/.
* Correct typo.grog2001-06-111-2/+2
| | | | Submitted by: Normand Leclerc <leclercn@videotron.ca>
* vinum_debug: Check for kernel module debug support, print errorgrog2001-05-231-10/+11
| | | | message if not present.
* Tidy up header files. Don't include stuff we don't need.grog2001-05-221-108/+107
| | | | | | | | | | | | | | | | | 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.
* Use _PATH_DEV.obrien2001-02-281-2/+3
| | | | Reviewed by: grog
* Fix vinum for both devfs and non-devfs systems.alfred2001-02-201-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Correct some comments.grog2000-12-201-3/+6
| | | | | | vinum_attach: Get correct names (were being overwritten). Submitted by: Terry Glanfield <Terry.Glanfield@program-products.co.uk>
* Clean up now that setproctitle() is in libc.grog2000-09-031-1/+0
| | | | Submitted by: brian
* vinum_start: Set the revive blocksize correctly.grog2000-06-071-1/+3
| | | | checkparity: Allow the -v flag to display progress.
* attach command: allow attaching striped or parity plexes if the -fgrog2000-06-021-1/+2
| | | | option is given. This will break the data in the plex.
* start plex/subdisk:grog2000-05-111-57/+31
| | | | | | | | | | | | 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.
* Implement vinum_rebuildparity, which had got forgotten. In thegrog2000-03-011-35/+58
| | | | | | | process, move the body of vinum_rebuildparity and vinum_checkparity to a new function, parityops. Implicitly-sanctioned-by: jkh
* New function checkupdates: check whether configuration updates aregrog2000-02-291-5/+357
| | | | | | | | | | | | | | | | | | | | | | 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
* Don't use /dev/vinum/rsd/XXX for init as it doesn't exist any more.peter2000-02-061-1/+1
| | | | | | | Without this change, you cannot do the required init on a new raid5 volume. Reviewed by: grog Approved by: jkh
* Explicitly type large scalar parameters to avoid compilation warningsgrog2000-01-051-10/+132
| | | | | | | | | | | | | | | | | 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.
* Change the name of the v flag variable from 'verbose' to 'vflag',grog1999-10-131-43/+110
| | | | | | | | | | | | | | | | 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.
* vinum_init: Fix message typo.grog1999-09-281-1/+50
| | | | | | | 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.
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Tidy up some indentation and comments.grog1999-08-241-15/+109
| | | | | | | | | | | | | | | | | 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.
* initsd: On completion, put the subdisk in 'initialized' status, notgrog1999-08-151-34/+34
| | | | | | | 'up'. This matches changes in the kernel module. Reported-by: Bernd Walter <ticso@cicely.de> Remy Nonnenmacher <remy@synx.com>
* vinum_init: add code to initialize subdisks as well as plexes. Alsogrog1999-08-141-129/+159
| | | | provide for initializing volumes; this code is not yet complete.
* vinum_init:grog1999-08-071-29/+83
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Remove the volume, plex, sd and drive commands which allowed the usergrog1999-07-021-66/+493
| | | | | | | | | | | | | | 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
* Allow a 'start <drive>' command.grog1999-06-221-1/+4
|
* vinum_create:grog1999-05-021-57/+97
| | | | | | | | | | 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.
* vinum_init: count dead children correctly when waiting for completion.grog1999-04-171-2/+5
| | | | vinum_resetstats: count objects correctly.
* Add -w option to init command: wait for init to complete beforegrog1999-04-101-63/+71
| | | | returning.
* vinum_resetstats: Reset stats for drives correctly when recursing.grog1999-03-311-2/+4
|
* vinum_start: Allow user to specify a plex. In this case, revive allgrog1999-03-281-2/+28
| | | | | | | | 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.
* 'start' command: check that the objects in question aren't already up,grog1999-03-241-17/+49
| | | | and produce an intelligble message if they are.
* Correct ioctl calls VINUM_STARTCONFIG. The last commit broke thegrog1999-03-231-3/+3
| | | | 'vinum start' command.
* vinum_create: pass 'force' flag to ioctl VINUM_STARTCONFIG.grog1999-03-231-1/+1
| | | | | | | | | | 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>
* create command: get the message right if an error occurs with agrog1999-03-141-3/+5
| | | | non-verbose create.
* create command: if an error occurs, print the offending line even ifgrog1999-03-131-0/+2
| | | | the -v flag has not been set.
* resetconfig: don't log the "obliterated" message, the kernel does thatgrog1999-03-021-11/+47
| | | | | | | | | | | | | | 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.
* Extend 'start' command: if used without any parameters, vinum scansgrog1999-02-111-3/+41
| | | | | all disks known to devstat for vinum drives and reads their configuration.
* Update to reflect changes in kernel lkmgrog1999-01-211-84/+169
|
* Complete change from DEBUG to VINUMDEBUG. Now it still builds whengrog1999-01-061-2/+2
| | | | VINUMDEBUG is set as well.
* Tweaks as a result of having vinum statically buildable in a kernel.peter1998-12-281-2/+2
|
* Remove kludge to set subdisk states when bringing up a plexgrog1998-11-021-50/+1
|
* Import base vinum userland sourcesgrog1998-09-161-0/+1030
OpenPOWER on IntegriCloud