25801 Commits

Author SHA1 Message Date
phk
843f91864f Remove the empty uscannerioctl() and use noioctl() instead. 2001-05-23 17:51:43 +00:00
phk
c8d4d78546 Change the way deletes are managed in DEVFS.
This fixes a number of warnings relating to removed cloned devices.

It also makes it possible to recreate deleted devices with
mknod(2).  The major/minor arguments are ignored.
2001-05-23 17:48:20 +00:00
gallatin
8ae035b51b catch up to i386:
- remove Giant for vm related traps
- don't hold Giant for MP safe syscalls

Reviewed-by: jhb
2001-05-23 16:34:07 +00:00
alfred
edd79c680a ufs_bmaparray() may block on IO, drop vm mutex and aquire Giant when
calling it from the pager routine
2001-05-23 10:30:25 +00:00
alfred
587340efa6 aquire Giant when playing with the buffercache and doing IO.
use msleep against the vm mutex while waiting for a page IO to complete.
2001-05-23 10:28:11 +00:00
alfred
ba66967415 aquire vm_mutex a little bit earlier to protect a pmap call. 2001-05-23 10:26:36 +00:00
ru
08c28f0caa The following modules were renamed:
fdesc -> fdescfs
portal -> portalfs
umap -> umapfs
union -> unionfs
2001-05-23 10:06:48 +00:00
ru
77a4013189 Name this module `umapfs'. 2001-05-23 10:02:22 +00:00
ru
35437d86aa - FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file
systems were repo-copied from sys/miscfs to sys/fs.

- Renamed the following file systems and their modules:
  fdesc -> fdescfs, portal -> portalfs, union -> unionfs.

- Renamed corresponding kernel options:
  FDESC -> FDESCFS, PORTAL -> PORTALFS, UNION -> UNIONFS.

- Install header files for the above file systems.

- Removed bogus -I${.CURDIR}/../../sys CFLAGS from userland
  Makefiles.
2001-05-23 09:42:29 +00:00
grog
627a25efaa Move objflags from vinumvar.h to vinumobj.h in preparation for
requiring fewer header files for userland programs.

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:27:40 +00:00
grog
ff282a70a1 Move objflags from vinumvar.h to vinumobj.h in preparation for
requiring fewer header files for userland programs.
2001-05-23 05:27:15 +00:00
grog
6b50f8bebc Move external declaration to vinumhdr.h. 2001-05-23 05:26:40 +00:00
grog
1c15b201e0 Set flag VF_HASDEBUG in vinum_conf to indicate that the module was
compiled with debug support.  This can be used by userland programs to
recognize which ioctls the module supports.

As a result, remove the gross debug device/non-debug device hack used
to recognize whether the kernel module was in sync with the userland
module.

Replace explicit references to major/minor numbers of vinum
superdevice with the VINUM_SUPERDEV macro written for that purpose.
2001-05-23 05:25:45 +00:00
imp
4ebc84e616 Add better support for the Ricoh 5C296 and 5C396 chips. These chips
have a slightly different 3.3V support than the other clones, so
compensate as best we can.  Note: 3.3V support is untested since I do
not have any 3.3V cards that I know of to test it with.
2001-05-23 05:06:04 +00:00
imp
f5bcf454fa Add recognition for Toshiba ToPIC-100.
Submitted by: Shimodaira Toshio <tshimod1@ym.nsw.co.jp> in [bsd-nomads:15589]
2001-05-23 04:37:00 +00:00
dd
7943a92c34 Add a makefile for snp(4) since it can be compiled as a module now. 2001-05-22 22:56:47 +00:00
grog
aaf6ffd984 New header file.
Missed by:	Szilveszter Adam <sziszi@petra.hos.u-szeged.hu>
		David Wolfskill <david@catwhisker.org>
Pointy hat to:	grog
2001-05-22 22:29:35 +00:00
dd
adab6d99db Unifdef DEV_SNP; snp(4) no longer requires these ugly hacks.
Silence by:	-hackers, -audit
2001-05-22 22:16:18 +00:00
dd
3ad1483a6b Convert this driver to (ab?)use line disciplines to get the input it
needs instead of relying on idiosyncratic hacks in the tty subsystem.
Also add module code since this can now be compiled as a module.

Silence by:	-hackers, -audit
2001-05-22 22:13:14 +00:00
bde
5fd5877aef Convert npx interrupts into traps instead of vice versa. This is much
simpler for npx exceptions that start as traps (no assembly required...)
and works better for npx exceptions that start as interrupts (there is
no longer a problem for nested interrupts).

Submitted by:	original (pre-SMPng) version by luoqi
2001-05-22 21:20:49 +00:00
alfred
5382981252 aquire vm mutex in swp_pager_async_iodone. Don't call swp_pager_async_iodone
with the mutex held.
2001-05-22 19:01:26 +00:00
gallatin
8e0770e25c grab the vm mtx around exec_new_vmspace() 2001-05-22 18:45:12 +00:00
brian
7fdccd5e4c MALLOC -> malloc, FREE -> free 2001-05-22 18:10:57 +00:00
ume
24ad56d2ed M_COPY_PKTHDR has to be done before MCLGET.
Obtained from:	KAME
2001-05-22 17:32:02 +00:00
ru
d9df85866b Hide UNION in opt_dontuse.h (see vfs_syscalls.c,v 1.109). 2001-05-22 08:32:13 +00:00
jhb
376941ef28 Remove duplicate include and sort includes. 2001-05-22 07:21:46 +00:00
jhb
85efd8a1d6 Sort includes. 2001-05-22 07:01:11 +00:00
grog
5c77aeefb2 Add vinumobj.h to SRCS. 2001-05-22 06:12:47 +00:00
grog
e36c2b74e1 Remove Malloc definitions (now in vinumext.h) 2001-05-22 06:08:52 +00:00
jhb
fd51037384 Unlock the VM lock at the end of munlock() instead of locking it again. 2001-05-22 06:07:36 +00:00
jhb
c2bd2e9bd5 Sort includes from previous commit. 2001-05-22 05:35:45 +00:00
dd
0ec004ce3f Correct the vm_mtx handling; specifically, don't acquire it in
shm_deallocate_segment because shmexit_myhook calls it, and the latter
should always be called with it already held.

Submitted by:	dwmalone, dd
Approved by:	alfred
2001-05-22 03:56:26 +00:00
grog
32e728a5c9 Add a field 'version' to 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.

Requested by:	Too many to count.

Move the definitions of struct drive, sd, plex and volume to
vinumobj.h.

Add a new debug flag, DEBUG_LOCKREQS, which logs only lock requests.
2001-05-22 02:37:28 +00:00
grog
9fadf0687c vinumstart: If a write request is for a RAID-[45] plex or a volume
with more than one plex, the data will be accessed
            multiple times.  During this time, userland code could
            potentially modify the buffer, thus causing data
            corruption.  In the case of a multi-plexed volume this
            might be cosmetic, but in the case of a RAID-[45] plex it
            can cause severe data corruption which only becomes
            evident after a drive failure.  Avoid this situation by
            making a copy of the data buffer before using it.

	    Note that this solution does not guarantee any particular
	    content of the buffer, just that it remains unchanged for
	    the duration of the request.

Suggested by:	alfred
2001-05-22 02:36:47 +00:00
grog
282262c302 tokenize: Take third parameter specifying the maximum number of
parameters to return.  This code is used both in userland and in the
kernel.
2001-05-22 02:35:57 +00:00
grog
1691b48778 Cosmetics: wrap long lines to be < 80 characters. 2001-05-22 02:35:19 +00:00
grog
436eef361c Add a new debug flag, DEBUG_LOCKREQS, which logs only lock requests.
Use this instead of DEBUG_LASTREQS to decide whether to log lock
requests.

MFS:

vinumlock: Catch a potential race condition where one process is
           waiting for a lock, and between the time it is woken and
           it retries the lock, another process gets it and places it
           in the first entry in the table.

           This problem has not been observed, but it's possible, and
           it's easy enough to fix.

Submitted by:   tegge

vinumunlock: Catch a real bug capable of hanging a system.  When
             releasing a lock, vinumunlock() called wakeup_one.  This
             caused wakeups to sometimes get lost.  After due
             consideration, we think that this is due to the fact that
             you can't guarantee that some other process is also
             waiting on the same address.  This makes wakeup_one a
             very dangerous function to use.
2001-05-22 02:34:30 +00:00
grog
86233b07ba Change ioctls to use the expurgated userland version of the Vinum
structures.
2001-05-22 02:33:32 +00:00
grog
e7843236bc format_config: Replace long format lines.
Requested by:  bde

Add retryerrors keyword.

vinum_scandisk: Print a different message if an inadvertent start
command did not find any additional drives.  The previous message "no
drives found" confused and worried many people.

MFS:

vinum_open: Recognize Mylex devices as storage devices.
2001-05-22 02:32:22 +00:00
grog
aa9ab5296b complete_rqe:
In case of error, check the VF_RETRYERRORS flag in the subdisk and
  don't take the subdisk down if it's set, just retry the I/O.

  Requested by:	peter

  If the buffer has been copied (XFR_COPYBUF), release the copied
  buffer when the I/O completes.

  Suggested by:	alfred
2001-05-22 02:31:08 +00:00
grog
0e53f607e9 Remove unnecessary declarations of userland functions.
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.

Move debug definitions from vinumhdr.h.
2001-05-22 02:30:44 +00:00
grog
d37209863e config_sd: Add code to recognize "retryerrors" keyword.
config_plex: Don't create the device until we're finished.

parse_config: check for corrupted configuration, thus avoiding a
potential panic.

remove_sd_entry: Restore structure.
2001-05-22 02:29:54 +00:00
grog
bcea97656c free_vinum: Change some explicit struct member references to the SD,
PLEX and VOL.
2001-05-22 02:29:15 +00:00
grog
37b41ff62d Add xferinfo flag bit for copied buffers.
Create a new struct rangelockinfo.  In revision 1.21 of vinumlock.c,
the plex info was removed from struct rangelock, since it wasn't
needed there.  It *is* needed for trace information, however, so use
struct rangelockinfo for that.
2001-05-22 02:28:55 +00:00
grog
335e7f48ab New file containing definitions for separate views of objects for
userland and kernel.
2001-05-22 01:41:12 +00:00
alfred
81a30a0ee0 Remove KASSERT test for sleeping on mv_mtx, instead let WITNESS catch
it.

Requested by: jhb
2001-05-22 00:58:20 +00:00
jhb
1dc43912c8 Sort includes. 2001-05-22 00:56:25 +00:00
dd
97e810885f Fix a grammar nit.
PR:		27520
Submitted by:	Michael Lucas <mwlucas@blackhelicopters.org>
2001-05-22 00:29:42 +00:00
jhb
3fa1baf4de Remove a few more spl's I missed earlier.
Reported by:	Michael Harnois <mdharnois@home.com>
Pointy hat:	me
2001-05-22 00:09:26 +00:00
jhb
a445507567 Sort includes from previous commit. 2001-05-21 23:19:50 +00:00