]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
19 years agoAdd quirk for easyRAID ER5 alias areca ARC-6010.
Michael Reifenberger [Tue, 25 Jan 2005 08:59:06 +0000 (08:59 +0000)]
Add quirk for easyRAID ER5 alias areca ARC-6010.
It reports itself as SCSI-3 but doesnt like getting probed on  high luns
because it hangs hard after finding itself again on lun 32...

Suggested by: Kenneth Merry

19 years agoRemove dummy vendor id for DIGITAL now that we have the real one.
Poul-Henning Kamp [Tue, 25 Jan 2005 08:51:28 +0000 (08:51 +0000)]
Remove dummy vendor id for DIGITAL now that we have the real one.

19 years agoUse new style declarations instead of K&R ones.
Xin LI [Tue, 25 Jan 2005 08:40:51 +0000 (08:40 +0000)]
Use new style declarations instead of K&R ones.

19 years agoUse modern style defination for main() and move a extern
Xin LI [Tue, 25 Jan 2005 08:37:04 +0000 (08:37 +0000)]
Use modern style defination for main() and move a extern
declaration to global section.

Bump WARNS?= to 6

19 years agoCode style tweaks: Use static and const where suitable.
Xin LI [Tue, 25 Jan 2005 08:24:06 +0000 (08:24 +0000)]
Code style tweaks:  Use static and const where suitable.

19 years agoThe kernel specified in main() of reboot(8) will be initialized
Xin LI [Tue, 25 Jan 2005 08:14:00 +0000 (08:14 +0000)]
The kernel specified in main() of reboot(8) will be initialized
with -k option and never be used without kflag.  This confuses
gcc because we set "kflag" at the same time with "kernel", but
the logic is not that apparant for gcc.

Since we can initialize "kernel" to NULL then know if "k" option
is set through determining whether it is still NULL, don't try
to have gcc to guess why we are connecting "kflag" with "kernel"
and use "kernel" directly in place of kflag.

Bump WARNS?= from 2 to 6

19 years agoMinor whitespace cleanup
Warner Losh [Tue, 25 Jan 2005 07:46:47 +0000 (07:46 +0000)]
Minor whitespace cleanup
Add Digitial vendor ID (from NetBSD)
Add Anycom vendor and products (from NetBSD)

19 years agoAdd NEXTCOM NEXTHAWK ethernet card.
Warner Losh [Tue, 25 Jan 2005 07:25:49 +0000 (07:25 +0000)]
Add NEXTCOM NEXTHAWK ethernet card.

From NetBSD

19 years agoBasic support for ZIP archives.
Tim Kientzle [Tue, 25 Jan 2005 06:07:28 +0000 (06:07 +0000)]
Basic support for ZIP archives.
Only supports "deflate" and "none" compression for now.

Also, add a few clarifications to the archive_read.3 manpage as
requested by William Dean DeVries.

19 years agoRemove obsolete comment from head this time. The RELENG_5 commit was
Warner Losh [Tue, 25 Jan 2005 04:45:25 +0000 (04:45 +0000)]
Remove obsolete comment from head this time.  The RELENG_5 commit was
accidental, but harmless and correct so I'll not be reverting it unless
there's some hidden damage I can't see right now...

19 years agoAdd "NTP pool servers" to the list, including Worldwide, Asia, Europe,
Makoto Matsushita [Tue, 25 Jan 2005 02:56:17 +0000 (02:56 +0000)]
Add "NTP pool servers" to the list, including Worldwide, Asia, Europe,
Oceania, and North America.

Obtained from: http://ntp.isc.org/bin/view/Servers/NTPPoolServers
MFC after: 1 week

19 years agontp.cyber-fleet.net is not in DNS database, remove it.
Makoto Matsushita [Tue, 25 Jan 2005 02:51:47 +0000 (02:51 +0000)]
ntp.cyber-fleet.net is not in DNS database, remove it.

Reported by: sarumaru at ReichaNet IRC, users-jp@jp.FreeBSD.org, etc.

19 years agoAdd MagicRAM PC Card Ethernet as ne2000 clone
Warner Losh [Tue, 25 Jan 2005 02:50:58 +0000 (02:50 +0000)]
Add MagicRAM PC Card Ethernet as ne2000 clone

19 years agoTake a swing at using roundup().
Juli Mallett [Tue, 25 Jan 2005 01:35:02 +0000 (01:35 +0000)]
Take a swing at using roundup().

19 years agoTake VOP_GETVOBJECT() out to pasture. We use the direct pointer now.
Poul-Henning Kamp [Tue, 25 Jan 2005 00:42:16 +0000 (00:42 +0000)]
Take VOP_GETVOBJECT() out to pasture.  We use the direct pointer now.

19 years agoDon't use VOP_GETVOBJECT, use vp->v_object directly.
Poul-Henning Kamp [Tue, 25 Jan 2005 00:40:01 +0000 (00:40 +0000)]
Don't use VOP_GETVOBJECT, use vp->v_object directly.

19 years agoKill VOP_CREATEVOBJECT(), it is now the responsibility of the filesystem
Poul-Henning Kamp [Tue, 25 Jan 2005 00:12:24 +0000 (00:12 +0000)]
Kill VOP_CREATEVOBJECT(), it is now the responsibility of the filesystem
for a given vnode to create a vnode_pager object if one is needed.

19 years agoDon't implement vop_createvobject(), vop_open() and vop_close() manages
Poul-Henning Kamp [Mon, 24 Jan 2005 23:54:45 +0000 (23:54 +0000)]
Don't implement vop_createvobject(), vop_open() and vop_close() manages
this for nullfs now.

19 years agoDon't call VOP_CREATEVOBJECT(), it's the responsibility of the
Poul-Henning Kamp [Mon, 24 Jan 2005 23:53:54 +0000 (23:53 +0000)]
Don't call VOP_CREATEVOBJECT(), it's the responsibility of the
filesystem which owns the vnode.

19 years agoCreate a vnode object when the file is opened. Trust that we did so.
Poul-Henning Kamp [Mon, 24 Jan 2005 23:04:33 +0000 (23:04 +0000)]
Create a vnode object when the file is opened.  Trust that we did so.

19 years agoCreate a vnode_pager object when a file is opened.
Poul-Henning Kamp [Mon, 24 Jan 2005 23:03:29 +0000 (23:03 +0000)]
Create a vnode_pager object when a file is opened.

19 years agoAdd null_open() and null_close() which calls null_bypass() and managed
Poul-Henning Kamp [Mon, 24 Jan 2005 22:56:24 +0000 (22:56 +0000)]
Add null_open() and null_close() which calls null_bypass() and managed
the v_object pointer.

19 years agoAcquire the raw_cb mutex around LIST_REMOVE() of a raw socket control
Robert Watson [Mon, 24 Jan 2005 22:56:09 +0000 (22:56 +0000)]
Acquire the raw_cb mutex around LIST_REMOVE() of a raw socket control
block from the global raw socket list.

Submitted by: Roselyn Lee <rosel at verniernetworks dot com>
MFC after: 1 week

19 years agoDon't create vnode_pager objects for the disk device.
Poul-Henning Kamp [Mon, 24 Jan 2005 22:41:59 +0000 (22:41 +0000)]
Don't create vnode_pager objects for the disk device.
geom_vfs will do that.

19 years agoCreate a correctly sized vnode objects for disk devices.
Poul-Henning Kamp [Mon, 24 Jan 2005 22:41:21 +0000 (22:41 +0000)]
Create a correctly sized vnode objects for disk devices.

19 years agoEliminate the constant flags argument to vclean()
Poul-Henning Kamp [Mon, 24 Jan 2005 22:22:02 +0000 (22:22 +0000)]
Eliminate the constant flags argument to vclean()

19 years agoAdd a reference to the periodic.conf(5) manual page.
Giorgos Keramidas [Mon, 24 Jan 2005 22:21:13 +0000 (22:21 +0000)]
Add a reference to the periodic.conf(5) manual page.

Suggested by: simon

19 years agoDon't try to create vnode_pager objects on other filesystems vnodes,
Poul-Henning Kamp [Mon, 24 Jan 2005 22:09:13 +0000 (22:09 +0000)]
Don't try to create vnode_pager objects on other filesystems vnodes,
either they did it themselves or it won't happen.

19 years agoAdd a reference to rc.conf(5).
Giorgos Keramidas [Mon, 24 Jan 2005 21:52:32 +0000 (21:52 +0000)]
Add a reference to rc.conf(5).

PR: docs/35648
Submitted by: Gary W. Swearingen

19 years agoCreate a vp->v_object in VFS_FHTOVP() if we want to be exportable
Poul-Henning Kamp [Mon, 24 Jan 2005 21:51:19 +0000 (21:51 +0000)]
Create a vp->v_object in VFS_FHTOVP() if we want to be exportable
with NFS.

We are moving responsibility for creating the vnode_pager object into
the filesystems which own the vnode, and this is one of the places
we have to cover.

We call vnode_create_vobject() directly because we own the vnode.

If we can get the size easily, pass it as an argument to save the
call to VOP_GETATTR() in vnode_create_vobject()

19 years agoMove the body of vop_stdcreatevobject() over to the vnode_pager under
Poul-Henning Kamp [Mon, 24 Jan 2005 21:21:59 +0000 (21:21 +0000)]
Move the body of vop_stdcreatevobject() over to the vnode_pager under
the name Sande^H^H^H^H^Hvnode_create_vobject().

Make the new function take a size argument which removes the need for
a VOP_STAT() or a very pessimistic guess for disks.

Call that new function from vop_stdcreatevobject().

Make vnode_pager_alloc() private now that its only user came home.

19 years agoupdate node reference count debug msgs to include the node address
Sam Leffler [Mon, 24 Jan 2005 20:50:20 +0000 (20:50 +0000)]
update node reference count debug msgs to include the node address
since the mac address may not be sufficient to uniquely identify a node

19 years agoEISCONN may be returned by sendto() if an attempt is made to specify the
Giorgos Keramidas [Mon, 24 Jan 2005 20:41:44 +0000 (20:41 +0000)]
EISCONN may be returned by sendto() if an attempt is made to specify the
destination address to a datagram socket that is already connected.

Submitted by: Rudolf Cejka <cejkar@fit.vutbr.cz>
PR: docs/76399
MFC after: 1 week

19 years agoclear IEEE80211_F_WMEUPDATE when building the initial beacon frame so we
Sam Leffler [Mon, 24 Jan 2005 20:41:12 +0000 (20:41 +0000)]
clear IEEE80211_F_WMEUPDATE when building the initial beacon frame so we
don't do an update on the first beacon

19 years agonoop change so RUN->RUN transition isn't considered invalid
Sam Leffler [Mon, 24 Jan 2005 20:39:29 +0000 (20:39 +0000)]
noop change so RUN->RUN transition isn't considered invalid
(it happens on ibss merge)

19 years agoadd macros to convert between txop's and usecs
Sam Leffler [Mon, 24 Jan 2005 20:38:26 +0000 (20:38 +0000)]
add macros to convert between txop's and usecs

19 years agoFixup radiotap handling of FCS and QoS frames per discussion with David Young:
Sam Leffler [Mon, 24 Jan 2005 20:31:24 +0000 (20:31 +0000)]
Fixup radiotap handling of FCS and QoS frames per discussion with David Young:
o mark rx frames including FCS in the payload with the
  IEEE80211_RADIOTAP_F_FCS flag
o remove hack to copy 802.11 headers with padding out of line; instead mark
  the frames with IEEE80211_RADIOTAP_F_DATAPAD and require applications to
  do the work
o split precalculated radiotap flags into tx+rx now that they can be different

Note the full usefulness of these changes depends on updates to applications
that process radiotap data.

19 years agospell "file system" correctly
Philippe Charnier [Mon, 24 Jan 2005 20:06:16 +0000 (20:06 +0000)]
spell "file system" correctly

Approved by: ru

19 years agobeacon handling fixups for adhoc mode:
Sam Leffler [Mon, 24 Jan 2005 20:05:03 +0000 (20:05 +0000)]
beacon handling fixups for adhoc mode:
o don't reclaim any previous beacon state in ath_beacon_alloc; do it
  explicitly in ath_newstate
o reference count the node held in the beacon frame state block
o process ibss merge more intelligently; let the state machine do the
  right thing instead of explicitly setting the new bssi id
o explicitly stop tx dma before doing beacon setup to handle the ibss
  merge case

19 years agospell "file system" correctly
Philippe Charnier [Mon, 24 Jan 2005 20:01:28 +0000 (20:01 +0000)]
spell "file system" correctly

Approved by:  ru

19 years agospell "file system" correctly
Philippe Charnier [Mon, 24 Jan 2005 19:58:05 +0000 (19:58 +0000)]
spell "file system" correctly
Approved by: ru

19 years agoswitch to use bus_dmamap_load_mbuf_sg
Sam Leffler [Mon, 24 Jan 2005 19:51:59 +0000 (19:51 +0000)]
switch to use bus_dmamap_load_mbuf_sg

19 years agoo correct beacon interval calculation; the internal setting is in TU's not ms
Sam Leffler [Mon, 24 Jan 2005 19:45:59 +0000 (19:45 +0000)]
o correct beacon interval calculation; the internal setting is in TU's not ms
o replace the private macro to convert MS->TU with the common one

19 years agoo clarify that beacon interval settings are in TU's, not ms
Sam Leffler [Mon, 24 Jan 2005 19:39:07 +0000 (19:39 +0000)]
o clarify that beacon interval settings are in TU's, not ms
o add macros to convert between TU's and ms

19 years agostatically allocate the station/neighbor node table; the deferred
Sam Leffler [Mon, 24 Jan 2005 19:32:10 +0000 (19:32 +0000)]
statically allocate the station/neighbor node table; the deferred
allocation scheme introduced a race condition during device state
transitions

19 years agoThere have been a substantial number of changes to this file from the
Warner Losh [Mon, 24 Jan 2005 19:13:47 +0000 (19:13 +0000)]
There have been a substantial number of changes to this file from the
NetBSD original, so add our copyright notice as well.

19 years agoBegin the first phase of trying to add IRP support (and ultimately
Bill Paul [Mon, 24 Jan 2005 18:18:12 +0000 (18:18 +0000)]
Begin the first phase of trying to add IRP support (and ultimately
USB device support):

- Convert all of my locally chosen function names to their actual
  Windows equivalents, where applicable. This is a big no-op change
  since it doesn't affect functionality, but it helps avoid a bit
  of confusion (it's now a lot easier to see which functions are
  emulated Windows API routines and which are just locally defined).

- Turn ndis_buffer into an mdl, like it should have been. The structure
  is the same, but now it belongs to the subr_ntoskrnl module.

- Implement a bunch of MDL handling macros from Windows and use them where
  applicable.

- Correct the implementation of IoFreeMdl().

- Properly implement IoAllocateMdl() and MmBuildMdlForNonPagedPool().

- Add the definitions for struct irp and struct driver_object.

- Add IMPORT_FUNC() and IMPORT_FUNC_MAP() macros to make formatting
  the module function tables a little cleaner. (Should also help
  with AMD64 support later on.)

- Fix if_ndis.c to use KeRaiseIrql() and KeLowerIrql() instead of
  the previous calls to hal_raise_irql() and hal_lower_irql() which
  have been renamed.

The function renaming generated a lot of churn here, but there should
be very little operational effect.

19 years agoMarkup and grammar fixes.
Ruslan Ermilov [Mon, 24 Jan 2005 18:14:18 +0000 (18:14 +0000)]
Markup and grammar fixes.

19 years agoAdd an entry for Magic Ram, Inc's ETHERNET PC CARD 933926 card I just
Warner Losh [Mon, 24 Jan 2005 17:59:59 +0000 (17:59 +0000)]
Add an entry for Magic Ram, Inc's ETHERNET PC CARD 933926 card I just
won on ebay.  Also, add a pointer to the PCMCIA's web site for the
registered tuples (== manufacturer ID's).

19 years agoo Reorganize the previous delta to make it more style(9) compliant.
Maxim Konovalov [Mon, 24 Jan 2005 17:01:48 +0000 (17:01 +0000)]
o Reorganize the previous delta to make it more style(9) compliant.

Submitted by: ru

o Reduce an amount of memory we ask in advance.

19 years agoWhen "no_ccache" is set as an argument to the pam_krb5 module, don't
Robert Watson [Mon, 24 Jan 2005 16:49:50 +0000 (16:49 +0000)]
When "no_ccache" is set as an argument to the pam_krb5 module, don't
copy the acquired TGT from the in-memory cache to the on-disk cache
at login.  This was documented but un-implemented behavior.

MFC after: 1 week
PR: bin/64464
Reported and tested by: Eric van Gyzen <vangyzen at stat dot duke dot edu>

19 years agoFix spelling in a comment.
Yaroslav Tykhiy [Mon, 24 Jan 2005 15:48:00 +0000 (15:48 +0000)]
Fix spelling in a comment.

19 years agoFix NULL pointer dereference bug when parsing IPV6CP traffic.
Bruce M Simpson [Mon, 24 Jan 2005 14:56:48 +0000 (14:56 +0000)]
Fix NULL pointer dereference bug when parsing IPV6CP traffic.
This file is already off the vendor branch, and the fix will be
in future tcpdump.org vendor branch imports.

PR: bin/76497
MFC after: 1 week
Obtained from: tcpdump.org rev 1.89.2.4
Discussed with: fenner, keramida

19 years agoSave a line by unlocking before we test.
Poul-Henning Kamp [Mon, 24 Jan 2005 14:13:24 +0000 (14:13 +0000)]
Save a line by unlocking before we test.

19 years agoChange vprint() to vn_printf() which takes varargs.
Poul-Henning Kamp [Mon, 24 Jan 2005 13:58:08 +0000 (13:58 +0000)]
Change vprint() to vn_printf() which takes varargs.
Add #define for vprint() to call vn_printf().

19 years agoFix an evil typo.
Gleb Smirnoff [Mon, 24 Jan 2005 13:32:19 +0000 (13:32 +0000)]
Fix an evil typo.

Submitted by: Roselyn Lee
MFC after: 3 days

19 years agoRemove unused cred argument to ext2_reload()
Poul-Henning Kamp [Mon, 24 Jan 2005 13:31:22 +0000 (13:31 +0000)]
Remove unused cred argument to ext2_reload()

19 years agoo Try hard to guess a buffer size for a fast growing routing table.
Maxim Konovalov [Mon, 24 Jan 2005 13:27:24 +0000 (13:27 +0000)]
o Try hard to guess a buffer size for a fast growing routing table.
An approach taken from killall/killall.c.

PR: bin/76075
Submitted by: Dmitrij Tejblum
MFC after: 3 weeks

19 years agoKill the VV_OBJBUF and test the v_object for NULL instead.
Poul-Henning Kamp [Mon, 24 Jan 2005 13:13:57 +0000 (13:13 +0000)]
Kill the VV_OBJBUF and test the v_object for NULL instead.

19 years agoFix a list corruption issue in cloning device management using the
Poul-Henning Kamp [Mon, 24 Jan 2005 12:44:56 +0000 (12:44 +0000)]
Fix a list corruption issue in cloning device management using the
western strategy ("allocate first, ask questions later") so we can
extend the devmtx coverage to the clone list.

19 years agoRemove "register" keywords.
Poul-Henning Kamp [Mon, 24 Jan 2005 12:37:51 +0000 (12:37 +0000)]
Remove "register" keywords.

19 years agoRemove unused cred arg from nfs_vinvalbuf() and many bogus arguments
Poul-Henning Kamp [Mon, 24 Jan 2005 12:31:06 +0000 (12:31 +0000)]
Remove unused cred arg from nfs_vinvalbuf() and many bogus arguments
passed for it.

19 years ago- Convert so_qlen, so_incqlen, so_qlimit fields of struct socket from
Gleb Smirnoff [Mon, 24 Jan 2005 12:20:21 +0000 (12:20 +0000)]
- Convert so_qlen, so_incqlen, so_qlimit fields of struct socket from
  short to unsigned short.
- Add SYSCTL_PROC() around somaxconn, not accepting values < 1 or > U_SHRTMAX.

Before this change setting somaxconn to smth above 32767 and calling
listen(fd, -1) lead to a socket, which doesn't accept connections at all.

Reviewed by: rwatson
Reported by: Igor Sysoev

19 years agoPolish style.
Poul-Henning Kamp [Mon, 24 Jan 2005 12:19:28 +0000 (12:19 +0000)]
Polish style.

19 years agoStyle: Remove the commented out vop_foo_args replicas.
Poul-Henning Kamp [Mon, 24 Jan 2005 11:49:41 +0000 (11:49 +0000)]
Style: Remove the commented out vop_foo_args replicas.

19 years agoUpdate man pages to be in line with guidelines for IPv6 in FreeBSD.
George V. Neville-Neil [Mon, 24 Jan 2005 11:23:14 +0000 (11:23 +0000)]
Update man pages to be in line with guidelines for IPv6 in FreeBSD.

FreeBSD currently implements the most up to date IPv6 APIs for
option and route header parsing.   This checkin marks the older APIs
as deprecated and points the reader to the newer pages.

Reviewed by: Jun-ichiro Itojun
Approved by: rwatson (mentor)

19 years ago - Somehow I mangled KTR_CRITICAL.
Jeff Roberson [Mon, 24 Jan 2005 10:52:32 +0000 (10:52 +0000)]
 - Somehow I mangled KTR_CRITICAL.

Spotted by: ru

19 years ago - Regen for recent vfs syscall changes.
Jeff Roberson [Mon, 24 Jan 2005 10:50:42 +0000 (10:50 +0000)]
 - Regen for recent vfs syscall changes.

Sponsored By: Isilon Systems, Inc.

19 years ago - Change all VFS syscalls to MSTD as they all manually deal with giant
Jeff Roberson [Mon, 24 Jan 2005 10:49:26 +0000 (10:49 +0000)]
 - Change all VFS syscalls to MSTD as they all manually deal with giant
   or the appropriate filesystem locks.

Sponsored By: Isilon Systems, Inc.

19 years ago - Remove GIANT_REQUIRED where giant is no longer required.
Jeff Roberson [Mon, 24 Jan 2005 10:48:29 +0000 (10:48 +0000)]
 - Remove GIANT_REQUIRED where giant is no longer required.
 - Use VFS_LOCK_GIANT() rather than directly acquiring giant in places
   where giant is only held because vfs requires it.

Sponsored By:   Isilon Systems, Inc.

19 years ago - Don't acquire giant around calls to bufdone().
Jeff Roberson [Mon, 24 Jan 2005 10:47:46 +0000 (10:47 +0000)]
 - Don't acquire giant around calls to bufdone().

Sponsored By:   Isilon Systems, Inc.

19 years ago - Add CTR calls to trace the lifecycle of a buffer.
Jeff Roberson [Mon, 24 Jan 2005 10:47:04 +0000 (10:47 +0000)]
 - Add CTR calls to trace the lifecycle of a buffer.
 - Remove some KASSERTs which are invalid if the appropriate lock is
   not held.
 - Slightly restructure bremfree() so that it is more sane.
 - Change the flush code in bdwrite() to avoid acquiring a mutex
   whenever possible.
 - Change the flush code in bdwrite() to avoid holding the bufobj mutex
   while calling buf_countdeps().  This introduces a lock-order
   relationship with the softdep lock that can not otherwise be resolved.
 - Don't set B_DONE until bufdone() is complete, otherwise another
   processor may believe the buf is done before it is.
 - Only acquire Giant if the caller has set b_iodone.  Don't grab giant
   around normal bufdone() calls.

Sponsored By: Isilon Systems, Inc.

19 years ago - Add the tunable and sysctl for the mpsafevfs. It currently defaults
Jeff Roberson [Mon, 24 Jan 2005 10:41:01 +0000 (10:41 +0000)]
 - Add the tunable and sysctl for the mpsafevfs.  It currently defaults
   to off.
 - Protect access to mnt_kern_flag with the mointpoint mutex.
 - Remove some KASSERTs which are not legal checks without the appropriate
   locks held.
 - Use VCANRECYCLE() rather than rolling several slightly different
   checks together.
 - Return from vtryrecycle() with a recycled vnode rather than a locked
   vnode.  This simplifies some locking.
 - Remove several GIANT_REQUIRED lines.
 - Add a few KASSERTs to help with INACT debugging.

Sponsored By: Isilon Systems, Inc.

19 years ago - Add a VCANRECYCLE() which performs all the checks required to ensure
Jeff Roberson [Mon, 24 Jan 2005 10:34:58 +0000 (10:34 +0000)]
 - Add a VCANRECYCLE() which performs all the checks required to ensure
   that we are free to release a vnode.

19 years ago - Remove GIANT_REQUIRED where giant is no longer required.
Jeff Roberson [Mon, 24 Jan 2005 10:33:46 +0000 (10:33 +0000)]
 - Remove GIANT_REQUIRED where giant is no longer required.

Sponsored By: Isilon Systems, Inc.

19 years ago - Remove GIANT_REQUIRED where it is no longer required.
Jeff Roberson [Mon, 24 Jan 2005 10:32:14 +0000 (10:32 +0000)]
 - Remove GIANT_REQUIRED where it is no longer required.

Sponsored By: Isilon Systems, Inc.

19 years ago - Remove GIANT_REQUIRED where giant is no longer required.
Jeff Roberson [Mon, 24 Jan 2005 10:31:42 +0000 (10:31 +0000)]
 - Remove GIANT_REQUIRED where giant is no longer required.
 - Protect access to mnt_kern_flag with the mountpoint mutex.
 - Use the appropriate nd flags to deal with giant in vn_open_cred().
   We currently determine whether the caller is mpsafe by checking
   for a valid fdidx.  Any caller coming from user-space is now
   mpsafe and supplies a valid fd.  No kenrel callers have been
   converted to mpsafe, so this check is sufficient for now.
 - Use VFS_LOCK_GIANT instead of manual giant acquisition where
   appropriate.

Sponsored By: Isilon Systems, Inc.

19 years ago - Protect mnt_kern_flag with the mountpoint's mutex. This is required
Jeff Roberson [Mon, 24 Jan 2005 10:28:41 +0000 (10:28 +0000)]
 - Protect mnt_kern_flag with the mountpoint's mutex.  This is required
   to make the suspend related functions mpsafe.

Sponsored By: Isilon Systems, Inc.

19 years ago - Acquire and release Giant as we enter and leave filesystems which
Jeff Roberson [Mon, 24 Jan 2005 10:27:05 +0000 (10:27 +0000)]
 - Acquire and release Giant as we enter and leave filesystems which
   require it.
 - Track the status of Giant with the nd flag HASGIANT.
 - Release giant on return of namei() callers are not marked MPSAFE as
   they already own giant.

Sponsored By: Isilon Systems, Inc.

19 years ago - Change all vfs syscalls to use VFS_LOCK_GIANT(), and MPSAFE nds.
Jeff Roberson [Mon, 24 Jan 2005 10:25:44 +0000 (10:25 +0000)]
 - Change all vfs syscalls to use VFS_LOCK_GIANT(), and MPSAFE nds.
 - Move Giant acquisition into the few vfs syscalls that weren't already
   directly acquiring it.

Sponsored By: Isilon Systems, Inc.

19 years ago - Simplify the cache locking. The lock order relationship with the
Jeff Roberson [Mon, 24 Jan 2005 10:24:12 +0000 (10:24 +0000)]
 - Simplify the cache locking.  The lock order relationship with the
   vnode lock is much simpler than I originally thought it would be.
   Now, the cache lock is  always acquired before the vnode lock.
 - Provide some gotos in __getcwd() to simplify the unlocking a bit.
 - Move Giant acquisition down into __getcwd().

Sponsored By: Isilon Systems, Inc.

19 years ago - Do not use APAUSE if LK_INTERLOCK is set. We lose synchronization
Jeff Roberson [Mon, 24 Jan 2005 10:20:59 +0000 (10:20 +0000)]
 - Do not use APAUSE if LK_INTERLOCK is set.  We lose synchronization
   if the lockmgr interlock is dropped after the caller's interlock
   is dropped.
 - Change some lockmgr KTRs to be slightly more helpful.

Sponsored By: Isilon Systems, Inc.

19 years ago - Use VFS_LOCK_GIANT() in place of mtx_lock(&giant), etc.
Jeff Roberson [Mon, 24 Jan 2005 10:19:31 +0000 (10:19 +0000)]
 - Use VFS_LOCK_GIANT() in place of mtx_lock(&giant), etc.

Sponsored By: Isilon Systems, Inc.

19 years ago - Convert the global LK lock to a mutex.
Jeff Roberson [Mon, 24 Jan 2005 10:18:31 +0000 (10:18 +0000)]
 - Convert the global LK lock to a mutex.
 - Expand the scope of lk to cover not only interrupt races, but also
   top-half races, which includes many new uses over global top-half
   only data.
 - Get rid of interlocked_sleep() and use msleep or BUF_LOCK where
   appropriate.
 - Use the lk mutex in place of the various hand rolled semaphores.
 - Stop dropping the lk lock before we panic.
 - Fix getdirtybuf() callers so that they reacquire access to whatever
   softdep datastructure they were inxpecting in the failure/retry
   case.  Previously, sleeps in getdirtybuf() could leave us with
   pointers to bad memory.
 - Update handling of ffs to be compatible with ffs locking changes.

Sponsored By: Isilon Systems, Inc.

19 years ago - Initialize and destroy the per-filesystem ufs lock where appropriate.
Jeff Roberson [Mon, 24 Jan 2005 10:12:28 +0000 (10:12 +0000)]
 - Initialize and destroy the per-filesystem ufs lock where appropriate.
 - Use the buffer lock on the superblock buf to serialize calls to
   sbupdate.
 - Set the MNTK_MPSAFE flag when QUOTA is not defined in the kernel.

Sponsored By: Isilon Systems, Inc.

19 years ago - Remove GIANT_REQUIRED where giant is no longer required.
Jeff Roberson [Mon, 24 Jan 2005 10:10:47 +0000 (10:10 +0000)]
 - Remove GIANT_REQUIRED where giant is no longer required.

Sponsored By: Isilon Systems, Inc.

19 years ago - Use the ufs lock to protect fs_active.
Jeff Roberson [Mon, 24 Jan 2005 10:10:11 +0000 (10:10 +0000)]
 - Use the ufs lock to protect fs_active.

Sponsored By: Isilon Systems, Inc.

19 years ago - Acquire the ufs lock around several ffs_alloc functions that require
Jeff Roberson [Mon, 24 Jan 2005 10:09:10 +0000 (10:09 +0000)]
 - Acquire the ufs lock around several ffs_alloc functions that require
   it.

Sponsored By: Isilon Systems, Inc.

19 years ago - Don't use atomic operations to deal with the active array, instead
Jeff Roberson [Mon, 24 Jan 2005 10:08:35 +0000 (10:08 +0000)]
 - Don't use atomic operations to deal with the active array, instead
   it is now quite naturally protected by the ufsmount mutex.
 - Use the ufs lock to protect various fields in struct fs, primarily the
   cg summary needs protection to avoid allocation races.  Several
   functions have been slightly re-arranged to reduce the number of
   lock operations.
 - Adjust several functions (blkfree, freefile, etc.) to accept a
   ufsmount as an argument so that we may access the ufs lock.

Sponsored By: Isilon Systems, Inc.

19 years ago - Acquire the ufs lock when manipulating some fields of struct fs.
Jeff Roberson [Mon, 24 Jan 2005 10:04:22 +0000 (10:04 +0000)]
 - Acquire the ufs lock when manipulating some fields of struct fs.
 - Change arguments to various ffs functions to match their new
   prototypes.

Sponsored By: Isilon Systems, Inc.

19 years ago - Mark the struct fs members that require the ufsmount mutex.
Jeff Roberson [Mon, 24 Jan 2005 10:03:17 +0000 (10:03 +0000)]
 - Mark the struct fs members that require the ufsmount mutex.
 - Define some macros for manipulating the fs_active bitmap.

Sponsored By: Isilon Systems, Inc.

19 years ago - Change some function parameters so that the ufsmount structure is
Jeff Roberson [Mon, 24 Jan 2005 10:02:11 +0000 (10:02 +0000)]
 - Change some function parameters so that the ufsmount structure is
   accessable in places where the ufs lock will be needed.

Sponsored By: Isilon Systems, Inc.

19 years ago - Add a mutex to the ufsmount structure. This mutex is used to protect
Jeff Roberson [Mon, 24 Jan 2005 10:01:10 +0000 (10:01 +0000)]
 - Add a mutex to the ufsmount structure.  This mutex is used to protect
   any per-instance global data that is not already protected by a
   buf or vnode lock.  Presently, only fields in ffs's struct fs utilize
   this lock.
 - Sort some ufsmount members so that fields used for quotas are grouped
   together.  This is in anticipation of quota locking.

Sponsored By: Isilon Systems, Inc.

19 years agoForce commit to note the sponsor of the VFS smp work:
Jeff Roberson [Mon, 24 Jan 2005 09:58:23 +0000 (09:58 +0000)]
Force commit to note the sponsor of the VFS smp work:

Sponsored By: Isilon Systems, Inc.

19 years ago - Add two new flags to the nd structure. MPSAFE indicates that the
Jeff Roberson [Mon, 24 Jan 2005 09:57:35 +0000 (09:57 +0000)]
 - Add two new flags to the nd structure.  MPSAFE indicates that the
   caller may not be holding Giant, and namei() should acquire it as
   necessary.  HASGIANT is used to indicate when namei() is returning
   with a reference to a vnode that requires giant, and giant is locked.
 - Add the macro NDHASGIANT() which can be used in conjunction with
   VFS_UNLOCK_GIANT() in callers who have marked the nd with MPSAFE.

Sponsored By: Isilon Systems, Inc.

19 years ago - Add the mount flag MNTK_MPSAFE which indicates whether or not Giant
Jeff Roberson [Mon, 24 Jan 2005 09:53:46 +0000 (09:53 +0000)]
 - Add the mount flag MNTK_MPSAFE which indicates whether or not Giant
   must be held when any vnode owned by the filesystem is manipulated.
 - Add VFS_LOCK_GIANT and VFS_UNLOCK_GIANT macros which are used to
   conditionally lock and unlock Giant based on a particular mountpoint.

19 years ago - Add a new KTR class for the buffer cache.
Jeff Roberson [Mon, 24 Jan 2005 09:51:35 +0000 (09:51 +0000)]
 - Add a new KTR class for the buffer cache.

19 years agoIgnore the expected function number.
Warner Losh [Mon, 24 Jan 2005 06:54:05 +0000 (06:54 +0000)]
Ignore the expected function number.

NetBSD went this route a while ago.  FreeBSD originally tried this to
cope with multifunction cards.  However, it turns out that we're
better off not worrying about the function number, and instead worry
about the function type for the function.  This has worked well in
NetBSD, and all FreeBSD's relevant drivers have been converted.

# I'll rework the macros that specify them shortly, as soon as I can
# come up with a good, compatible way to deal...

19 years agou_intXX_t -> uintXX_t
Warner Losh [Mon, 24 Jan 2005 06:48:26 +0000 (06:48 +0000)]
u_intXX_t -> uintXX_t

19 years agoBring back WARNS to 3 for arm until I figure out how to make gcc happy.
Olivier Houchard [Mon, 24 Jan 2005 01:56:06 +0000 (01:56 +0000)]
Bring back WARNS to 3 for arm until I figure out how to make gcc happy.