Commit Graph

38 Commits

Author SHA1 Message Date
Greg Lehey
807b7ff353 Move most #includes to vext.h.
Change name of history file to History to avoid name conflicts.

Rewrite minor number decoding.  Now we have only three types of
object: subdisks, plexes and volumes.  The encoding for plexes and
subdisks no longer reflects the object to which they belong.  The
super devices are high-order volume numbers.  This gives vastly more
potential volumes (4 million instead of 256).

Don't try to chown directories if they haven't been created.
2003-05-01 01:39:42 +00:00
Joerg Wunsch
80aea80e6f Make vinum disk-related devices readable by group "operator" to match
the configuration of any other disk-like devices.

This is the non-DEVFS part which is normally not used in 5.x, but due
for MFC into 4.x.

PR:		bin/28294, bin/32588
MFC after:	1 week
2003-01-16 23:48:34 +00:00
Tom Rhodes
ce66ddb763 s/filesystem/file system/g as discussed on -developers 2002-08-21 18:11:48 +00:00
Tom Rhodes
3468b317cb more file system > filesystem 2002-05-16 04:10:46 +00:00
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