Commit Graph

35 Commits

Author SHA1 Message Date
trhodes
896f3841bf more file system > filesystem 2002-05-16 04:10:46 +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
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
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
c4591f8f2e Clean up now that setproctitle() is in libc.
Submitted by: 	brian
2000-09-03 01:29:29 +00:00
grog
43c1f97188 continue_revive: Set the revive blocksize correctly in the ioctl request. 2000-06-07 04:12:39 +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
554e67bb30 Add -i (interval) option, for use with start command. 2000-05-11 07:33:53 +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
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
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
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
peter
76f0c923fe $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
grog
92e50861c3 parseline(): Reset the -w flag.
continue_revive: Implement the -w flag.
1999-08-24 02:33:55 +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
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
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
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
b864899297 Remove ancient, mouldy comments. 1999-06-22 05:54:39 +00:00
grog
c75d7e89c3 timestamp:
Assign explicit variable for sec to get it to compile on Alpha.

Submitted by: dfr
1999-05-02 22:23:18 +00:00
grog
505f21361b 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
grog
86d7f72953 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
grog
b3fa99a769 Add -w option to init command: wait for init to complete before
returning.
1999-04-10 04:00:49 +00:00
grog
b8d0fb1938 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
grog
0db5fed97f main (): Don't loop waiting for children to finish. 1999-03-28 08:51:29 +00:00
grog
b05d4b54a5 Print correct message if the wrong module is loaded. 1999-03-23 04:55:23 +00:00
grog
ed579de08d 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
grog
581f2d2446 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
grog
8eec767f72 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
grog
216db4f79f Update to reflect major changes in vinum kernel module 1999-01-21 00:45:11 +00:00
grog
36761a1db4 Complete previous commit: change debug macro from DEBUG to VINUMDEBUG
Reported by: dg
1999-01-06 04:09:01 +00:00
peter
684dcece36 Tweaks as a result of having vinum statically buildable in a kernel. 1998-12-28 16:32:39 +00:00
grog
22d3d93a1e Import base vinum userland sources 1998-09-16 05:57:36 +00:00