Commit Graph

181925 Commits

Author SHA1 Message Date
ad 6cdc8b7df8 Define __HAVE_ATOMIC64_OPS only in kernel, since it doesn't work in
userspace on the i486.
2009-06-28 09:24:09 +00:00
agc 424d13a4a0 Remove premature addition of compat32 libs to arch-specific sets. 2009-06-28 05:37:22 +00:00
tron 3136f6eb81 Don't install "post-install" and "postfix-files" to the example directory
any more just to remove them later. Problem noted by Thomas Klausner
on "current-users" mailing list.
2009-06-27 21:12:12 +00:00
jakllsch 185aeef2dc Correct various siisata bugs, some old, some new.
- Move clearing of interrupts to before atastart() is called in the
   xfer interrupt handler.  Should fix kern/41579.
 - Using cv_timedwait(9) is not possible in code that can be called from
   interrupt context, fall back to DELAY(9).
 - Correctly poll Port Slot Status register for soft reset PRBs.
 - Only use the Recive Transfer Count register on reads, when it is valid.
 - Activate PRBs in a way that takes the whole physical address into account,
   even when the PRB is beyond 4GiB.
 - consistently use DELAY(9)
 - Use DELAY() constants in completion polling loops that are consistent with
   the loop count limit. (i.e. timeout in 10 rather than 100 seconds)
2009-06-27 21:04:47 +00:00
jakllsch f6c1b3e09a Some fixes for dm(4).
- Limit accesses to the size of the volume.
   This fixes a KASSERT in physio_biodone().
 - Change dm_table_size() to return the size of the volume in
   DEV_BSIZE units.  It was reporting it in DEV_BSIZE^2 units.
 - Remove a bit of trailing whitespace.

ok haad
2009-06-27 16:10:25 +00:00
reinoud 7e99247bdd Fix corner-case in truncing files. It could forget to free the last block.
This would result in a free-space map with one block orphaned.
2009-06-27 13:42:06 +00:00
dyoung aeb6a78d82 During a normal shutdown, gracefully tear down arbitrary stacks of
filesystems and (pseudo-)devices, according to the algorithm at A3
and A4, below.

Proposed and discussed at
<http://mail-index.netbsd.org/tech-kern/2009/04/20/msg004864.html>.  No
objections.

During an emergency shutdown (e.g., shutdown -n, or after a panic),
shutdown is simple as always: filesystems are not sync'd or unmounted,
and devices are not detached.

It was necessary to change the order of operations during shutdown,
but the new order is more sensible: if a core dump is desired, then
cpu_reboot(9) dumps it first.  cpu_reboot(9) does not call legacy
shutdown hooks any longer: they can interfere with device detachment
and PMF shutdown, and very few legacy hooks remain.

Here is the old order of operations:

B1 sync filesystems and TOD clock
B2 unmount filesystems
B3 dump core
B4 detach devices
B5 run legacy shutdown hooks
B6 run PMF shutdown hooks
B7 suspend interrupts
B8 MD reboot/shutdown/powerdown

And here is the new order:

A1 dump core
A2 sync filesystems and TOD clock
A3 unmount one or more filesystems OR
   detach one or more devices OR
   forcefully unmount one filesystem OR
   skip to 5
A4 repeat at 3
A5 run PMF shutdown hooks
A6 suspend interrupts
A7 MD reboot/shutdown/powerdown

Tested on Dell Dimension 3000, Dell PowerEdge 1950, Sun Fire V120,
Soekris net4521 and net4801.

VS: ----------------------------------------------------------------------
2009-06-26 23:40:27 +00:00
dyoung b4f24be356 sys/coda/ rudely re-#defines some kernel constants and such, so
leave it out of the tags for now.
2009-06-26 22:59:25 +00:00
njoly 922011108e Do set error for SMBIOC_LOOKUP ioctl failure in *SMBSERVER fallback. 2009-06-26 22:41:26 +00:00
mbalmer 649bcbf015 - No need to include paths.h twice (christos, you oversaw that paths.h
was already included)
- use "usage", not "Usage", like other tools
2009-06-26 21:55:28 +00:00
nakayama db880c7eab Add yp tag to nicknames.{0,html} as well. 2009-06-26 20:59:00 +00:00
nakayama 0d5854c376 Fix typo. 2009-06-26 20:52:02 +00:00
jakllsch 94bdb4c2cf Fix MKDEBUG=YES build by adding entry for wake.debug. 2009-06-26 19:36:21 +00:00
jakllsch 176055761f mark nicknames.5 as .man, so MKMANZ=YES builds work 2009-06-26 19:31:25 +00:00
dyoung 9d9978e5a5 Switch to kmem(9).
(void *)pew is one way to get a struct work *, but let's
write&pew->pew_work, instead.  It is more defensive and persuasive.

Make miscellaneous changes in support of tearing down arbitrary
stacks of filesystems and devices during shutdown:

1 Move struct shutdown_state, shutdown_first(), and shutdown_next(),
  from kern_pmf.c to subr_autoconf.c.  Rename detach_all() to
  config_detach_all(), and move it from kern_pmf.c to subr_autoconf.c.
  Export all of those routines.

2 In pmf_system_shutdown(), do not suspend user process scheduling, and
  do not detach all devices: I am going to do that in cpu_reboot(),
  instead.  (Soon I will do it in an MI cpu_reboot() routine.)  Do still
  call PMF shutdown hooks.

3 In config_detach(), add a DIAGNOSTIC assertion: if we're exiting
  config_detach() at the bottom, alldevs_nwrite had better not be 0,
  because config_detach() is a writer of the device list.

4 In deviter_release(), check to see if we're iterating the device list
  for reading, *first*, and if so, decrease the number of readers.  Used
  to be that if we happened to be reading during shutdown, we ran the
  shutdown branch.  Thus the number of writers reached 0, the number
  of readers remained > 0, and no writer could iterate again.  Under
  certain circumstances that would cause a hang during shutdown.
2009-06-26 19:30:45 +00:00
dyoung 57a3ffeae7 Cosmetic: remove #if 1 / #endif. 2009-06-26 18:58:14 +00:00
dyoung 0b429bf76a Keep a generation number, mountgen, that increases every time a
filesystem is mounted.  Synchronize access to the number with a
mutex.  When a struct mount, mp, is allocated, assign the current
generation number to mp->mnt_gen.  Introduce vfs_unmount_forceone()
that forcefully unmounts the most recently mounted filesystem.

Refactor: extract vfs_shutdown1() from vfs_shutdown().  Extract
vfs_sync_all() from vfs_shutdown1().

Print more progress indications while we're unmounting all of the
filesystems during shutdown.

We increase the reference count on mp before calling dounmount(mp),
but we do not decrease it if dounmount(mp) fails, and neither does
dounmount(mp).  So decrease the reference count if dounmount(mp)
fails.

Change the loop terminating condition in vfs_unmountall1() to (mp
!= (void *)&mountlist) from !CIRCLEQ_EMPTY(&mountlist), because we
may not ever empty the list, especially if we're not forcing the
filesystems to unmount.
2009-06-26 18:53:07 +00:00
christos 1ede09dfc2 - include <paths.h> for _PATH_BPF explicitly.
- make sure that everything sets errno appropriately so we can use warn/err
- only open and setup bpf once since if this does not work we fail and don't
  do extra work.
- use getprogname
- static local functions and no parameters.

I think this utility should be renamed wakeonlan because wake is too generic.
2009-06-26 17:38:32 +00:00
dyoung 0d8ed264a1 For use in subsequent commits, add a 64-bit generation number to
struct mount, and add prototypes for vfs_sync_all() and for
vfs_unmount_forceone().
2009-06-26 16:55:46 +00:00
christos d2cb166562 document gid, rgid 2009-06-26 15:50:17 +00:00
christos 2ee7096547 magic symlink cleanup:
- use size_t for len
- don't call strlen multiple times in macro
- add gid
- off by one in bounds calculation
2009-06-26 15:49:03 +00:00
wiz 0f05513297 Remove superfluous Pp. Grammar improvement, typo fix, sort sections, fix Xr. 2009-06-26 09:31:04 +00:00
wiz 8615942dc8 Fix Dd argument, remove superfluous quotes, add author name. 2009-06-26 09:25:39 +00:00
mbalmer 0161c10332 /dev/bpf is cloneable, no need to dance around /dev/bpfN to find an
available device.
2009-06-26 09:00:49 +00:00
mbalmer cb815b49a3 Add wake(8), a new command to send Wake-on-LAN packets to machines on the
local Ethernet.
2009-06-26 06:41:08 +00:00
sjg dd8e1ba252 JobExec: child of vfork must not empty the sigset_t that parent will
restore.  Use a separate mask.
2009-06-26 01:26:32 +00:00
dyoung 7145e9fc73 A lot of good it does, but let this build with 'no options INET'. 2009-06-26 00:24:18 +00:00
dyoung 72ca52eed5 Use &zn->ni instead of (struct ieee80211_node *)zn because it is
concise and safe.
2009-06-26 00:15:23 +00:00
dyoung c3a668892b Compilable, untested fix to zyd(4) lossage reported by Matthias-Christian
Ott: every ioctl but SIOCSIFFLAGS fails with ENXIO (Device not
configured).  Let ioctls complete even if initialization is not
complete (!sc->attached).  Do exit immediately from zyd_newstate
with ENXIO if !sc->attached, however:  zyd_newstate tries to call
some USB routines for which it is probably not ready.
2009-06-26 00:14:09 +00:00
dyoung ed0e4d4d36 Expand more macros from usb_port.h. 2009-06-26 00:06:27 +00:00
dyoung c97ab81b59 Expand several definitions from usb_port.h. 2009-06-26 00:01:25 +00:00
mjacob 19de87aaa4 Minimally update the man page to indicate 4 and 8Gb card support. 2009-06-25 23:45:52 +00:00
mjacob ad7d727f78 Update ISP driver to latest and greatest. Includes support for the 8Gb part. 2009-06-25 23:44:01 +00:00
mjacob e9c28376ea Update 2400 firmware to latest (to match 2500 firmware) 2009-06-25 23:42:40 +00:00
agc 664fc89d11 iscsi distribution has moved to src/external/bsd/iscsi 2009-06-25 23:42:21 +00:00
agc 9fc49d2576 iscsi sources have moved to src/external/bsd/iscsi 2009-06-25 23:37:50 +00:00
wiz c16d893d82 Remove trailing whitespace. 2009-06-25 23:20:55 +00:00
mbalmer c57bd217eb Switch from bcopy to memcpy. Requested by and ok christos. 2009-06-25 22:26:54 +00:00
hubertf c8c572c3bf Add an example .windowrc 2009-06-25 21:48:49 +00:00
dyoung 6ba25067cf Add .PATH: ${ISCSIDIST}/src/lib for conffile.c. Compiles, now,
but does not install.
2009-06-25 21:04:13 +00:00
agc 99a1a9f586 finish off the move to the external framework for iscsi by fixing up the
set lists - thanks to tron for the nudge.
2009-06-25 20:54:16 +00:00
dyoung 9d7ba4756e Update the path to the iSCSI sources, which have moved to
external/bsd/iscsi/dist/ from dist/iscsi/.
2009-06-25 20:47:45 +00:00
joerg a0922fbd98 Add work-in-progress unzip(1) frontend for libarchive.
Derived from FreeBSD's unzip.
2009-06-25 20:27:05 +00:00
mbalmer bcbaac7ec1 Add a blank line after the cvs marker and add a descriptive one line comment.
requested by matt green.
2009-06-25 18:50:46 +00:00
mbalmer 35f74629dc wake(8) is a command to send Wake-on-LAN packets to machines on the local
ethernet, allowing machines to be powered up without physical access to them.

tonnerre@ and tron@ reviewed it and decided that the bin directories
are not to full for this small and useful command.
2009-06-25 18:41:21 +00:00
tron 4e1f96faf8 Mirror the file system structure of the installed files in the structure
of the Makefiles as suggested by Christos Zoulas.
2009-06-25 18:21:50 +00:00
agc 3d7d7405a9 Add explanation of libiscsi, get rid of openpgpsdk 2009-06-25 17:40:07 +00:00
christos 1e42098381 Only print debugging messages about policy on error. 2009-06-25 17:39:51 +00:00
reinoud 5e29d1224f Rewrite of udf_on_rootpath(), and vop_rename() code that calls it, after the
UFS way. The tree walking is now done the same and the code hasn't locked up
on examples that made it lockup before.
2009-06-25 17:16:33 +00:00
joerg faf14618b6 Fix initialisation of SHA224. 2009-06-25 14:05:18 +00:00