Commit Graph

34 Commits

Author SHA1 Message Date
Greg Lehey 66ea29917c 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
Greg Lehey 598607ea9a 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
David E. O'Brien 1d9153d7ad Use _PATH_DEV.
Reviewed by:	grog
2001-02-28 17:50:29 +00:00
Alfred Perlstein 729d4f1db0 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
Greg Lehey 25bcb8d376 Clean up now that setproctitle() is in libc.
Submitted by: 	brian
2000-09-03 01:29:29 +00:00
Greg Lehey 86ed226506 continue_revive: Set the revive blocksize correctly in the ioctl request. 2000-06-07 04:12:39 +00:00
Greg Lehey b6847cd633 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
Greg Lehey 371cbd825b Add -i (interval) option, for use with start command. 2000-05-11 07:33:53 +00:00
Greg Lehey f9c32ccded 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
Peter Wemm ea3ea274b1 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
Greg Lehey dac2aaa459 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
Greg Lehey af5f43cbd7 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
Greg Lehey 08b9eaf32b 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
Peter Wemm 7f3dea244c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
Greg Lehey 684e6c47e5 parseline(): Reset the -w flag.
continue_revive: Implement the -w flag.
1999-08-24 02:33:55 +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 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 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 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 c9a9cf971a Remove ancient, mouldy comments. 1999-06-22 05:54:39 +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 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 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 0fea12cf01 main (): Don't loop waiting for children to finish. 1999-03-28 08:51:29 +00:00
Greg Lehey 170cfb0311 Print correct message if the wrong module is loaded. 1999-03-23 04:55:23 +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 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 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 52e80fad69 Update to reflect major changes in vinum kernel module 1999-01-21 00:45:11 +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
Peter Wemm 6d553badba Tweaks as a result of having vinum statically buildable in a kernel. 1998-12-28 16:32:39 +00:00
Greg Lehey 8644f7188f Import base vinum userland sources 1998-09-16 05:57:36 +00:00