158572 Commits

Author SHA1 Message Date
ad
e7c35aabc9 Remove obsolete comment. 2007-05-02 21:54:16 +00:00
bouyer
d6908bb21a Regen: added JMicron Technology products 2007-05-02 21:29:16 +00:00
bouyer
f17d74cec5 Add JMicron Technology vendor ID, and their current PCIe SATA/PATA
controllers.
2007-05-02 21:28:28 +00:00
dyoung
38175939e7 Remove unused option. 2007-05-02 20:43:47 +00:00
dyoung
72f0a6dfb0 Eliminate address family-specific route caches (struct route, struct
route_in6, struct route_iso), replacing all caches with a struct
route.

The principle benefit of this change is that all of the protocol
families can benefit from route cache-invalidation, which is
necessary for correct routing.  Route-cache invalidation fixes an
ancient PR, kern/3508, at long last; it fixes various other PRs,
also.

Discussions with and ideas from Joerg Sonnenberger influenced this
work tremendously.  Of course, all design oversights and bugs are
mine.

DETAILS

1 I added to each address family a pool of sockaddrs.  I have
  introduced routines for allocating, copying, and duplicating,
  and freeing sockaddrs:

        struct sockaddr *sockaddr_alloc(sa_family_t af, int flags);
        struct sockaddr *sockaddr_copy(struct sockaddr *dst,
                                       const struct sockaddr *src);
        struct sockaddr *sockaddr_dup(const struct sockaddr *src, int flags);
        void sockaddr_free(struct sockaddr *sa);

  sockaddr_alloc() returns either a sockaddr from the pool belonging
  to the specified family, or NULL if the pool is exhausted.  The
  returned sockaddr has the right size for that family; sa_family
  and sa_len fields are initialized to the family and sockaddr
  length---e.g., sa_family = AF_INET and sa_len = sizeof(struct
  sockaddr_in).  sockaddr_free() puts the given sockaddr back into
  its family's pool.

  sockaddr_dup() and sockaddr_copy() work analogously to strdup()
  and strcpy(), respectively.  sockaddr_copy() KASSERTs that the
  family of the destination and source sockaddrs are alike.

  The 'flags' argumet for sockaddr_alloc() and sockaddr_dup() is
  passed directly to pool_get(9).

2 I added routines for initializing sockaddrs in each address
  family, sockaddr_in_init(), sockaddr_in6_init(), sockaddr_iso_init(),
  etc.  They are fairly self-explanatory.

3 structs route_in6 and route_iso are no more.  All protocol families
  use struct route.  I have changed the route cache, 'struct route',
  so that it does not contain storage space for a sockaddr.  Instead,
  struct route points to a sockaddr coming from the pool the sockaddr
  belongs to.  I added a new method to struct route, rtcache_setdst(),
  for setting the cache destination:

        int rtcache_setdst(struct route *, const struct sockaddr *);

  rtcache_setdst() returns 0 on success, or ENOMEM if no memory is
  available to create the sockaddr storage.

  It is now possible for rtcache_getdst() to return NULL if, say,
  rtcache_setdst() failed.  I check the return value for NULL
  everywhere in the kernel.

4 Each routing domain (struct domain) has a list of live route
  caches, dom_rtcache.  rtflushall(sa_family_t af) looks up the
  domain indicated by 'af', walks the domain's list of route caches
  and invalidates each one.
2007-05-02 20:40:22 +00:00
pooka
9c16b5e434 For consistency destroy kernel request putbuffers also when
escaping event loop (the process is going to exit anyway, but ...)
2007-05-02 18:50:30 +00:00
dogcow
93c1d76796 Instead of manually multiplying out the magic numbers, use * 15 / 10 instead
of * 1.5; this seems to placate the various compilers into not requiring fp.
2007-05-02 18:47:27 +00:00
pooka
80dbf44035 In case a fuse fs hands an stbuf with an inode number 0 to the
readdir filler, fake the inode number.  Our readdir() doesn't show
entries with inode number 0.

per discussion with Stephen Borrill
2007-05-02 18:05:54 +00:00
yamt
fce3c58e5e nfs_rcvlock: fix NFSMNT_INT check, which has been broken since rev.1.39. 2007-05-02 16:19:55 +00:00
yamt
e4c778084c - nfs_reply: keep rcvlock longer so that lwp which already have its reply
received won't be stuck in nfs_receive.
- nfs_rcvlock: check exceptions before sleeping on the lock.
- nfs_rcvunlock: use cv_broadcast rather than cv_signal to ensure that
  lwps which received its reply get woken up.
2007-05-02 14:48:47 +00:00
martti
159aa98c97 Better handling of ip2 test. 2007-05-02 14:30:08 +00:00
yamt
6bcb315f7d lockdebug_abort: s/int/u_int/ for lock id as the rest of code. 2007-05-02 14:07:02 +00:00
tnn
a1ab0c29a3 Define microvoltage scale factor which was previously a magic constant. 2007-05-02 11:40:44 +00:00
martti
26008496a4 Make this work with object directories as well. 2007-05-02 11:35:28 +00:00
martti
69c0a989e5 Sync with official IPF 2007-05-02 09:53:09 +00:00
wiz
373779db79 postfix-2.4.1 out. 2007-05-02 09:26:57 +00:00
skrll
13951ee3d4 Add an INSTALL kernel for landisk and enable building it.
Also add an installation/misc directory for a boot.fs image which is WIP.
2007-05-02 08:02:00 +00:00
dogcow
36f6a11c63 gcc is too clueless on some platforms to tell that
(number divisible by 2 * 1.5) is an int, and thus fails spectacularly
at either link or compile time. replace exprs with their int values.
2007-05-02 02:59:54 +00:00
christos
0dda664f42 mention new bind. 2007-05-01 22:19:12 +00:00
christos
2d0d2fc81d merge conflicts 2007-05-01 22:15:12 +00:00
christos
5f9b8877e1 Import bind 9.4.1 2007-05-01 21:51:06 +00:00
xtraeme
598409109e Add -b flag into usage(). 2007-05-01 21:43:37 +00:00
xtraeme
b83d27bc99 Bump date. 2007-05-01 21:41:52 +00:00
perseant
faaef229b4 Add a "-b" option to search a partition for valid alternate superblocks,
rather than searching the disk for partitions.  Also, test LFS superblock
checksums before we report them.
2007-05-01 21:28:50 +00:00
pooka
5e73325b44 g/c forgotten printf 2007-05-01 20:43:14 +00:00
dogcow
cdc34fdb17 tred->sensor is a u_int. 2007-05-01 19:39:22 +00:00
martti
2c5f81ca65 Activate ni23 2007-05-01 19:26:45 +00:00
martti
c9c8bada04 ipf 4.1.20 2007-05-01 19:13:13 +00:00
martti
872147fef7 Upgraded IPFilter to 4.1.20 2007-05-01 19:08:03 +00:00
martti
68eb121d73 Import IPFilter 4.1.20 2007-05-01 19:00:58 +00:00
bouyer
003de8d3d1 note bio(4), envsys(4) DRIVE, and mfi(4) support for both. 2007-05-01 17:35:10 +00:00
dsl
92ab0cdf99 Always pick 'rusage' from p->p_stats->p_ru, p->p_ru is dead and gone. 2007-05-01 17:22:32 +00:00
bouyer
982bad256f Add bio(4) and associated bioctl(8) from OpenBSD, a driver control block
device controllers, and more specifically raid controllers.
Add a new sensor type, ENVSYS_DRIVE, to report drive status. From OpenBSD.
Add bio and sysmon support to mfi(4). This allow userland to query
status for drives and logical volumes attached to a mfi(4) controller. While
there fix some debug printfs in mfi so they compile.
Add bio(4) to amd64 and i386 GENERIC.
2007-05-01 17:18:52 +00:00
pooka
f5ef068cda use PUFFS_FLAG_HASHPATH 2007-05-01 15:58:25 +00:00
pooka
5fac7361cf Introduce PUFFS_FLAG_HASHPATH, which for PUFFS_FLAG_BUILDPATH file servers
creates a hash of the node's path into po->po_hash to avoid a full pathcmp
every time.
2007-05-01 15:58:00 +00:00
pooka
6ffefad6ef Fix a problem introduced when I converted puffs to use newlock2:
when unmounting the file system in case of a certain timing (and
possibly some other conditions), a thread would wait on a condition
variable, while another thread broadcast the cv and immediately
proceeded to destroy it.  The result was a system frozen completely
solid shorly after the process waiting for the cv woke up.  So
introduce reference counting to synchronize destruction of the
resources in unmount.

I was able to repeat the problem only on my laptop in some special
cases, so I do not know how common it was.  Ironically, killing
the file server process violently instead of unmount() didn't have
this problem because it never entered the unmount path from two
directions.
2007-05-01 12:18:40 +00:00
garbled
82817a763e Convert to using BITS macros, and add some additional defines for
determining ECC/ram types
2007-05-01 07:52:51 +00:00
dsl
7effc1a79d Set kp2p->p_ru = 0 in the kproc2 structure.
It was only ever non-zero for zombies, and now doesn't exist.
The 'pstats' field has been valid for zombies for a while (it isn't in
the uarea any more).
Fixes part of build breakage.
2007-05-01 06:58:08 +00:00
garbled
a65cbc2f78 Add a set of register defines for the MPC106 PCI bridge. Adapted from
the MPC105, and fleshed out with the user manual.
2007-05-01 05:00:55 +00:00
garbled
1257ee1702 Add a set of registers for the ibm 82660 pci bridge chip found in various
IBM powerpc machines.
2007-05-01 04:20:45 +00:00
garbled
cdb38a583a Note addition of new ppcoea-renovation branch. 2007-05-01 01:57:00 +00:00
garbled
bd63361acd Note prep support for RAVEN based machines. (mcp750, mvme2600, MTX604) 2007-05-01 01:51:38 +00:00
rmind
0994dd0691 - Create sysctl nodes for AIO.
- Add POSIX defined system variables and constants of AIO_LISTIO_MAX and
  AIO_MAX values.  Both with _POSIX_ASYNCHRONOUS_IO, provide them in
  sysconf(3) and getconf(1) interfaces.
- Clean up sysconf(3) for handling sysctl nodes dynamically.
2007-05-01 01:01:25 +00:00
yamt
ab54f30196 remove R_GETONEREP. 2007-04-30 23:10:55 +00:00
dsl
bfe36c5b04 Add amd64 to the list of ports that support linux emulation.
Note that the emulation root is linux32 when running i386 linux programs
  on an amd64 system.
Note that paths that start /../ are only looked up in the real root.
Modify the bug/note about symlinks not being looked up in the emulation root.
Some of this stuff ought to be in a generic 'emulation' man page.
2007-04-30 21:16:55 +00:00
dsl
fe47977a5f Add a note about the way absolute symlinks inside the emulated root are now
handeld.
2007-04-30 20:50:20 +00:00
dsl
dd85830e7b Include extra header (vfs_syscalls.h). 2007-04-30 20:20:28 +00:00
dsl
e6918d8f47 Remove proc->p_ru and the 'rusage' pool.
I think it existed to cache the numbers in kernel memory of a zombie when
proc->p_stats was part of the 'u' area - so got freed earlier and wouldn't
(easily) be accessible from a separate process.  However since both the
p_ru and p_stats fields are freed at the same time it is no longer needed.
Ride the recent 4.99.19 version change.
2007-04-30 20:11:41 +00:00
tron
c021b87a9d Reset error code if an ioctl() request is not handled by the generic
disk framework. This stops ld(4) from returning an error for various
ioctl() requests which actually *did* work. As a result fdisk(8) and
therefore also sysinst(8) work with ld(4) devices once again.

Based on a patch supplied by Todd Kover in PR kern/36244, successfully
tested with ld(4)@icp(4).
2007-04-30 17:23:09 +00:00
dsl
2ad855f76d Remove comment about process stats not always being resident.
They are allocated from a pool and thus permanently resident.
2007-04-30 16:30:56 +00:00