dragonfly.git
11 years agoStaticize save_rte()
Sepherosa Ziehau [Sat, 23 Aug 2008 04:50:29 +0000 (04:50 +0000)]
Staticize save_rte()

11 years ago- Test m_pkthdr.fw_flags against DUMMYNET_MBUF_TAGGED before trying to locate
Sepherosa Ziehau [Sat, 23 Aug 2008 04:12:23 +0000 (04:12 +0000)]
- Test m_pkthdr.fw_flags against DUMMYNET_MBUF_TAGGED before trying to locate
  dummynet mtag.
- Clear DUMMYNET_MBUF_TAGGED from m_pkthdr.fw_flags, once dummynet mtag is
  deleted.

11 years agoComment out some .Pp's as well.
Sascha Wildner [Fri, 22 Aug 2008 21:00:01 +0000 (21:00 +0000)]
Comment out some .Pp's as well.

11 years agoUpdate pf.conf.5:
Thomas Nikolajsen [Fri, 22 Aug 2008 20:53:00 +0000 (20:53 +0000)]
Update pf.conf.5:
 - add line break after sentence
 - add description for `set keep-policy'
 - drop note that RIO isn't in GENERIC kernel,
as this applies to OpenBSD when pf.conf.5 was imported;
in DragonFly altq isn't in GENERIC kernel at all
 - fix GRAMMAR by adding `set keep-policy', and `no state',
fixing scheduler defs and dropping unneeded parens & brackets
 - improve mark up a bit

11 years agoFix Boot Setup example:
Thomas Nikolajsen [Fri, 22 Aug 2008 20:38:38 +0000 (20:38 +0000)]
Fix Boot Setup example:
 - move, not copy, kernel & modules to boot slice
 - give hammer file system a more apropriate file system label

11 years agoRemove /* within block comment.
Sascha Wildner [Fri, 22 Aug 2008 14:47:47 +0000 (14:47 +0000)]
Remove /* within block comment.

11 years agoIn usage(), adjust number of %s's to match # of args.
Sascha Wildner [Fri, 22 Aug 2008 14:25:02 +0000 (14:25 +0000)]
In usage(), adjust number of %s's to match # of args.

11 years agoMove ip fragments reassemble related code from ip_input() to ip_reass()
Sepherosa Ziehau [Fri, 22 Aug 2008 13:37:22 +0000 (13:37 +0000)]
Move ip fragments reassemble related code from ip_input() to ip_reass()

Idea-from: FreeBSD

11 years agoMove ipstat.ips_reassembled updating from ip_input() into ip_reass()
Sepherosa Ziehau [Fri, 22 Aug 2008 11:58:49 +0000 (11:58 +0000)]
Move ipstat.ips_reassembled updating from ip_input() into ip_reass()

11 years agoWhite space
Sepherosa Ziehau [Fri, 22 Aug 2008 11:51:40 +0000 (11:51 +0000)]
White space

11 years agoRemove unused variable/assignment.
Sascha Wildner [Fri, 22 Aug 2008 10:27:16 +0000 (10:27 +0000)]
Remove unused variable/assignment.

Found-by: LLVM/Clang Static Analyzer
11 years agonext_hop information is now saved in mtag, so the netmsg_packet embedded in
Sepherosa Ziehau [Fri, 22 Aug 2008 10:19:27 +0000 (10:19 +0000)]
next_hop information is now saved in mtag, so the netmsg_packet embedded in
the mbuf.m_hdr is large enough to deliver all necessary information (hlen is
saved in lwkt_msg.u.ms_result) to transport layer.

11 years agoSave 'ipfw forward' information in mtag, use m_pkthdr.fw_flags to indicate
Sepherosa Ziehau [Fri, 22 Aug 2008 09:14:17 +0000 (09:14 +0000)]
Save 'ipfw forward' information in mtag, use m_pkthdr.fw_flags to indicate
that this mtag exists (mainly to avoid unnecessary mtag locating).  This
actually eliminates the last reference to MT_TAG mbuf; nuke it completely.

11 years agoRemove unused variable.
Sascha Wildner [Fri, 22 Aug 2008 08:47:56 +0000 (08:47 +0000)]
Remove unused variable.

Found-by: LLVM/Clang Static Analyzer
11 years agoRemove unused variable.
Sascha Wildner [Fri, 22 Aug 2008 08:38:15 +0000 (08:38 +0000)]
Remove unused variable.

Found-by: LLVM/Clang Static Analyzer
11 years agoRemove unused variables.
Sascha Wildner [Fri, 22 Aug 2008 08:33:59 +0000 (08:33 +0000)]
Remove unused variables.

Found-by: LLVM/Clang Static Analyzer
11 years agoSome agp(4) fixes:
Hasso Tepper [Fri, 22 Aug 2008 07:08:13 +0000 (07:08 +0000)]
Some agp(4) fixes:

* Enable the support for G33/Q35/Q33.
* Add resume support to the agp_i810 family.
* Calculate the number of pages the GATT spans in Nvidia chipsets instead
  of harcoding in to 33 pages.

Obtained-from: FreeBSD

11 years agoMake Huawei E220 change the mode from device with single umass interface to
Hasso Tepper [Fri, 22 Aug 2008 06:57:33 +0000 (06:57 +0000)]
Make Huawei E220 change the mode from device with single umass interface to
device with umass interafce and two serial interfaces. It worked before for
most of devices, but it required umass support present in the kernel.

11 years agoUpdate hammer.5:
Thomas Nikolajsen [Thu, 21 Aug 2008 23:38:03 +0000 (23:38 +0000)]
Update hammer.5:
 - expand description on reblocking and pruning a bit
 - correct no. PFS supported (PFS 0 is used for hammer file system)
 - add mirror-stream and mirror-read-stream reference

11 years agoRemove extra space in usage()
Thomas Nikolajsen [Thu, 21 Aug 2008 23:32:27 +0000 (23:32 +0000)]
Remove extra space in usage()

11 years agoUpdate hammer:
Thomas Nikolajsen [Thu, 21 Aug 2008 23:28:43 +0000 (23:28 +0000)]
Update hammer:
 - sync usage() and hammer.8
 - correct check for arg. count
 - break some overly long lines

11 years agoUpdate gpt:
Thomas Nikolajsen [Thu, 21 Aug 2008 23:10:04 +0000 (23:10 +0000)]
Update gpt:
 - note that DragonFly supports 32 slices per disk
 - increase size of boot slice (slice 0 made by boot command):
increase size from 128MB til 256MB, as total size of
kernel & modules w/ .old is over 128MB and
it is a hassle to increase size of boot slice later
 - add note that boot0 boot manager, which can be manipulated by
boot0cfg command, is used by boot command
 - add example of GPT boot disk setup
 - improve mark up a bit

11 years agoUpdate disklabel64 doc:
Thomas Nikolajsen [Thu, 21 Aug 2008 21:59:23 +0000 (21:59 +0000)]
Update disklabel64 doc:
 - Comment out all reference to boot / bootstrap from 64 bit label,
it isn't supported yet.
 - Add note that this is 64 bit disk label.
 - Add gpt and newfs_hammer in description on setting up a disk from scratch

11 years agoRemove extra comma.
Sascha Wildner [Thu, 21 Aug 2008 21:41:55 +0000 (21:41 +0000)]
Remove extra comma.

11 years agoUpdate disklabel doc:
Thomas Nikolajsen [Thu, 21 Aug 2008 21:22:36 +0000 (21:22 +0000)]
Update disklabel doc:
 - Sync usage() to disklabel.8
 - Add note that this is 32 bit disklabel
 - Move description of `-f' flag from unrelated section (SAVED FILE FORMAT)
 - Improve some wording and mark up a bit

11 years agoAdd note that this is 32 bit disk label.
Thomas Nikolajsen [Thu, 21 Aug 2008 21:08:08 +0000 (21:08 +0000)]
Add note that this is 32 bit disk label.
Correct include file to reference 32 bit disk label.
Add Xref.

11 years agoAdd Xref.
Thomas Nikolajsen [Thu, 21 Aug 2008 21:05:23 +0000 (21:05 +0000)]
Add Xref.

11 years agoAdd description of default section list.
Thomas Nikolajsen [Thu, 21 Aug 2008 21:02:33 +0000 (21:02 +0000)]
Add description of default section list.
These sections are what DragonFly presently have;
it is correct according to mdoc(8) .Dt.

Man program also lists some sections not used in DragonFly.

11 years agoRemove wrong semicolon.
Sascha Wildner [Thu, 21 Aug 2008 12:19:33 +0000 (12:19 +0000)]
Remove wrong semicolon.

Found-by: LLVM/Clang Static Analyzer
11 years ago- Correct 'forward' support
Sepherosa Ziehau [Thu, 21 Aug 2008 12:11:34 +0000 (12:11 +0000)]
- Correct 'forward' support
- Move comment to the proper place

11 years agoDon't terminate the fragment iteration upon error; just keep draining
Sepherosa Ziehau [Thu, 21 Aug 2008 11:57:49 +0000 (11:57 +0000)]
Don't terminate the fragment iteration upon error; just keep draining
all fragments.

Reviewed-by: hsu@ nant@
11 years agoRemove four files which where probably accidentally committed. They have
Matthias Schmidt [Wed, 20 Aug 2008 13:03:35 +0000 (13:03 +0000)]
Remove four files which where probably accidentally committed.  They have
no actual use.

Seen-on: freebsd-cvs

11 years agoFix typos in copyright.
Joerg Sonnenberger [Tue, 19 Aug 2008 15:50:24 +0000 (15:50 +0000)]
Fix typos in copyright.

11 years agoAdd targets to install/update pkgsrc-wip tree.
Matthias Schmidt [Tue, 19 Aug 2008 11:55:40 +0000 (11:55 +0000)]
Add targets to install/update pkgsrc-wip tree.

Submitted-by: mneumann@
11 years agoAdd another Qualcomm device ID.
Matthias Schmidt [Tue, 19 Aug 2008 11:28:48 +0000 (11:28 +0000)]
Add another Qualcomm device ID.

Submitted-by: Brendan Kosowski <bmk@bmk.com.au>
11 years agoAdd missing usage information for hammer mirror-stream.
Michael Neumann [Tue, 19 Aug 2008 11:02:34 +0000 (11:02 +0000)]
Add missing usage information for hammer mirror-stream.

11 years agoMerge revision 1.21 and 1.22 from OpenBSD. Add a missing "the" to the
Joerg Sonnenberger [Mon, 18 Aug 2008 19:15:55 +0000 (19:15 +0000)]
Merge revision 1.21 and 1.22 from OpenBSD. Add a missing "the" to the
changes for better reading.

11 years agoAdd minimal support for post-mortem (core dump) debugging of multi-LWP
Nicolas Thery [Sun, 17 Aug 2008 17:21:36 +0000 (17:21 +0000)]
Add minimal support for post-mortem (core dump) debugging of multi-LWP
processes. GDB 'info threads' lists all LWPs and GDB 'thread' switches between
LWP stacks.

Inspired-From: FreeBSD

11 years agoFix function getpfs for pseudo-filesystems specified as absolute path
Michael Neumann [Sun, 17 Aug 2008 10:35:18 +0000 (10:35 +0000)]
Fix function getpfs for pseudo-filesystems specified as absolute path
located in the root directory.

Finding the path portion of e.g. "/tmp.pfs" failed, as it produced an
empty string "" for which open(2) naturally fails. Instead we now detect
this situation (empty string) and use "/".

Fixes Issue: 1122

11 years agoUtilize ifnet_{domsg,forwardmsg}()
Sepherosa Ziehau [Sun, 17 Aug 2008 06:26:45 +0000 (06:26 +0000)]
Utilize ifnet_{domsg,forwardmsg}()

11 years agoAdd assertion to make sure that the next cpuid is within valid range
Sepherosa Ziehau [Sun, 17 Aug 2008 06:01:50 +0000 (06:01 +0000)]
Add assertion to make sure that the next cpuid is within valid range

11 years ago- Rename ifa_{domsg,forwardmsg}() to ifnet_{domsg,forwardmsg}()
Sepherosa Ziehau [Sun, 17 Aug 2008 05:45:56 +0000 (05:45 +0000)]
- Rename ifa_{domsg,forwardmsg}() to ifnet_{domsg,forwardmsg}()
- Inline ifa_{domsg,forwardmsg}(); let them call ifnet_{domsg,forwardmsg}()
- Use ifnet_{domsg,forwardmsg}() in ipfw(4)

11 years agoPass cpuid to ifa_domsg()
Sepherosa Ziehau [Sun, 17 Aug 2008 05:20:10 +0000 (05:20 +0000)]
Pass cpuid to ifa_domsg()

11 years agoNuke INTR_NETSAFE
Sepherosa Ziehau [Sun, 17 Aug 2008 04:32:35 +0000 (04:32 +0000)]
Nuke INTR_NETSAFE

11 years agoVarious tap functions of bpf(4) are the only non-MPSAFE code on ethernet
Sepherosa Ziehau [Sun, 17 Aug 2008 03:44:48 +0000 (03:44 +0000)]
Various tap functions of bpf(4) are the only non-MPSAFE code on ethernet
input path (in polling or interrupt threads), so push mplock holding down
into bpf(4) tap functions.  Also re-check the bpf_if after holding mplock
to avoid use-after-check race.

11 years agoAdd missing `)'.
Thomas Nikolajsen [Sat, 16 Aug 2008 21:42:19 +0000 (21:42 +0000)]
Add missing `)'.

11 years agoFix some NULL pointer dereferences, most of the in debug code though.
Hasso Tepper [Sat, 16 Aug 2008 17:48:16 +0000 (17:48 +0000)]
Fix some NULL pointer dereferences, most of the in debug code though.

Found-by: LLVM/Clang Static Analyzer
11 years ago- bpfpoll() is a static function
Sepherosa Ziehau [Sat, 16 Aug 2008 13:10:59 +0000 (13:10 +0000)]
- bpfpoll() is a static function
- minor white space change

11 years agoipfw(4) parallelize stage 1, step 2/2: per-CPU static rule lists
Sepherosa Ziehau [Sat, 16 Aug 2008 09:05:59 +0000 (09:05 +0000)]
ipfw(4) parallelize stage 1, step 2/2: per-CPU static rule lists

See the comment at the beginning of net/ipfw/ip_fw2.c for detailed description.

11 years agoRemove useless NULL check after kmalloc(M_WAITOK).
Nicolas Thery [Sat, 16 Aug 2008 07:31:11 +0000 (07:31 +0000)]
Remove useless NULL check after kmalloc(M_WAITOK).

11 years agoAllocate unpcb structs with kmalloc() instead of zalloc().
Nicolas Thery [Fri, 15 Aug 2008 21:39:04 +0000 (21:39 +0000)]
Allocate unpcb structs with kmalloc() instead of zalloc().

11 years agoAllocate sackblock structs with kmalloc() instead of zalloc().
Nicolas Thery [Fri, 15 Aug 2008 21:37:16 +0000 (21:37 +0000)]
Allocate sackblock structs with kmalloc() instead of zalloc().

11 years agoAllocate socket structs with kmalloc() instead of zalloc.
Nicolas Thery [Fri, 15 Aug 2008 17:37:29 +0000 (17:37 +0000)]
Allocate socket structs with kmalloc() instead of zalloc.

11 years agoRemove some useless variables and assignments from USB code.
Hasso Tepper [Thu, 14 Aug 2008 20:55:54 +0000 (20:55 +0000)]
Remove some useless variables and assignments from USB code.

Found-by: LLVM/Clang Static Analyzer
11 years agoUse "ipl" as module name and not the full version string. This makes
Sascha Wildner [Thu, 14 Aug 2008 07:41:52 +0000 (07:41 +0000)]
Use "ipl" as module name and not the full version string. This makes
/etc/rc.d/ipfilter behave correctly when checking if ipfilter is loaded
or compiled into the kernel.

Reported-by: Frank Josellis <frank@dynamical-systems.org>
11 years agoRemove a useless assignment and two unused variables.
Sascha Wildner [Wed, 13 Aug 2008 11:02:31 +0000 (11:02 +0000)]
Remove a useless assignment and two unused variables.

Found-by: LLVM/Clang Static Analyzer
11 years agoRemove unused variable.
Sascha Wildner [Wed, 13 Aug 2008 10:30:20 +0000 (10:30 +0000)]
Remove unused variable.

Found-by: LLVM/Clang Static Analyzer
11 years agoMove declaration and assignment of minr into #if 0.
Sascha Wildner [Wed, 13 Aug 2008 10:29:38 +0000 (10:29 +0000)]
Move declaration and assignment of minr into #if 0.

Found-by: LLVM/Clang Static Analyzer
11 years agoRemove useless variable/assignments and add a missing 'break'.
Sascha Wildner [Wed, 13 Aug 2008 08:18:09 +0000 (08:18 +0000)]
Remove useless variable/assignments and add a missing 'break'.

Found-by: LLVM/Clang Static Analyzer
11 years agoDon't bump intr_context when running from the softint. Hopefully this
Matthew Dillon [Wed, 13 Aug 2008 00:55:55 +0000 (00:55 +0000)]
Don't bump intr_context when running from the softint.  Hopefully this
will allow aborts queued from the softint to proceed instead of panic.

11 years agoUpdate the units(1) program with the latest changes from FreeBSD:
Matthias Schmidt [Tue, 12 Aug 2008 09:28:22 +0000 (09:28 +0000)]
Update the units(1) program with the latest changes from FreeBSD:
units is a nice tools which converts quantities expressed in various scales to
their equivalents in other scales.

Update the units library file and the man page.

Obtained-from: FreeBSD

11 years agoHumanized number can be up to three digits + unit letter + terminating NUL.
YONETANI Tomokazu [Tue, 12 Aug 2008 03:35:35 +0000 (03:35 +0000)]
Humanized number can be up to three digits + unit letter + terminating NUL.

11 years agoUpdate hammer.8:
Thomas Nikolajsen [Mon, 11 Aug 2008 19:58:10 +0000 (19:58 +0000)]
Update hammer.8:
 - Add note that prune and reblock are per-PFS
 - Move note that reblock is needed for recovering pruned space
up to prune command
 - Fix typo: s/^Nm/.Nm/
 - Add mdoc comment for each command, for better readability of hammer.8
 - Improve mark-up a bit

11 years agoRemove two unused variables and improve readability slightly.
Sascha Wildner [Mon, 11 Aug 2008 18:01:17 +0000 (18:01 +0000)]
Remove two unused variables and improve readability slightly.

Found-by: LLVM/Clang Static Analyzer
11 years agoMake comment more readable by putting the copyright on a separate line.
Joerg Sonnenberger [Mon, 11 Aug 2008 00:05:06 +0000 (00:05 +0000)]
Make comment more readable by putting the copyright on a separate line.

11 years ago_PATH_MKDIR is unused, nuke it.
Joerg Sonnenberger [Mon, 11 Aug 2008 00:04:12 +0000 (00:04 +0000)]
_PATH_MKDIR is unused, nuke it.

11 years agoJust remove the README file, noone bothers with it anyway.
Joerg Sonnenberger [Mon, 11 Aug 2008 00:01:18 +0000 (00:01 +0000)]
Just remove the README file, noone bothers with it anyway.

11 years agoRemove bootstrap code -- you should really have stdint.h by now.
Joerg Sonnenberger [Sun, 10 Aug 2008 23:50:12 +0000 (23:50 +0000)]
Remove bootstrap code -- you should really have stdint.h by now.
Include stdint.h to get SIZE_MAX as ISO C99 sayss that's the right
header.

11 years agoFix one inversed condition.
Joerg Sonnenberger [Sun, 10 Aug 2008 23:39:56 +0000 (23:39 +0000)]
Fix one inversed condition.

11 years agoCheck, complain about and accumulate errors when writing reject files
Joerg Sonnenberger [Sun, 10 Aug 2008 23:35:40 +0000 (23:35 +0000)]
Check, complain about and accumulate errors when writing reject files
or final output. This can happen for example if the filesystem is full
and silent truncation of output files is the worst way to handle this.

11 years agoDon't try to guess if the hunk was already applied if it doesn't have
Joerg Sonnenberger [Sun, 10 Aug 2008 23:01:51 +0000 (23:01 +0000)]
Don't try to guess if the hunk was already applied if it doesn't have
context. This fails at least for the special case of adding the first
line of a file with no context and when fuzz is suppressed.

Discussed with otto@openbsd.org, who didn't have a better idea.

11 years agoRemove daddr_t dependancies in the swap code. Move swblk_t and add
Matthew Dillon [Sun, 10 Aug 2008 22:09:52 +0000 (22:09 +0000)]
Remove daddr_t dependancies in the swap code.  Move swblk_t and add
u_swblk_t.  This causes the swap code to properly use 32 bit block numbers
across all architectures (which gives us swap in the terrabyte range).

11 years agoFix interrupt pipe processing to treat a ugensa(4) interrupt message
Hasso Tepper [Sun, 10 Aug 2008 21:57:45 +0000 (21:57 +0000)]
Fix interrupt pipe processing to treat a ugensa(4) interrupt message
as CDC notify.

Obtained-from: OpenBSD

11 years agoUse IPv6 documentation prefix (RFC3849) instead of 6bone prefixes in
Hasso Tepper [Sun, 10 Aug 2008 21:29:17 +0000 (21:29 +0000)]
Use IPv6 documentation prefix (RFC3849) instead of 6bone prefixes in
documentation and examples.

11 years agoCleanup err/error mess in the uticom_download_fw().
Hasso Tepper [Sun, 10 Aug 2008 20:05:54 +0000 (20:05 +0000)]
Cleanup err/error mess in the uticom_download_fw().

Found-by: LLVM/Clang Static Analyzer
11 years agoImplement a bounce buffer for physio if the buffer passed from userland
Matthew Dillon [Sun, 10 Aug 2008 20:03:15 +0000 (20:03 +0000)]
Implement a bounce buffer for physio if the buffer passed from userland
is not at least 16-byte aligned.

Reported-by: "Steve O'Hara-Smith" <steve@sohara.org>, and others
11 years agoRemove useless assignment.
Sascha Wildner [Sun, 10 Aug 2008 19:47:31 +0000 (19:47 +0000)]
Remove useless assignment.

Found-by: LLVM/Clang Static Analyzer
11 years agoRemove unused variable.
Sascha Wildner [Sun, 10 Aug 2008 19:45:01 +0000 (19:45 +0000)]
Remove unused variable.

Found-by: LLVM/Clang Static Analyzer
11 years agoRemove unused variable.
Sascha Wildner [Sun, 10 Aug 2008 18:57:03 +0000 (18:57 +0000)]
Remove unused variable.

Found-by: LLVM/Clang Static Analyzer
11 years agoRemove useless assignment.
Sascha Wildner [Sun, 10 Aug 2008 17:19:38 +0000 (17:19 +0000)]
Remove useless assignment.

Found-by: LLVM/Clang Static Analyzer
11 years agoRemove some useless code I forgot to remove in r1.24.
Sascha Wildner [Sun, 10 Aug 2008 17:03:29 +0000 (17:03 +0000)]
Remove some useless code I forgot to remove in r1.24.

Found-by: LLVM/Clang Static Analyzer
11 years agoAdd sradixsort(3) MLINK.
Sascha Wildner [Sat, 9 Aug 2008 21:55:59 +0000 (21:55 +0000)]
Add sradixsort(3) MLINK.

11 years agoAdd MLINKS for mpool(3) functions.
Sascha Wildner [Sat, 9 Aug 2008 20:28:12 +0000 (20:28 +0000)]
Add MLINKS for mpool(3) functions.

11 years agostyle change: don't use an MLINK as the source for an MLINK.
Sascha Wildner [Sat, 9 Aug 2008 20:20:03 +0000 (20:20 +0000)]
style change: don't use an MLINK as the source for an MLINK.

11 years agoAdd MLINK for strnvis(3).
Sascha Wildner [Sat, 9 Aug 2008 20:12:20 +0000 (20:12 +0000)]
Add MLINK for strnvis(3).

11 years agoAdd missing MLINKS.
Sascha Wildner [Sat, 9 Aug 2008 20:08:20 +0000 (20:08 +0000)]
Add missing MLINKS.

11 years agoAdd MLINK for kvm_readstr().
Sascha Wildner [Sat, 9 Aug 2008 19:20:32 +0000 (19:20 +0000)]
Add MLINK for kvm_readstr().

11 years ago* Add some missing MLINKS
Sascha Wildner [Sat, 9 Aug 2008 18:33:39 +0000 (18:33 +0000)]
* Add some missing MLINKS

* Move tls(2) and umtx(2) MLINKS out of NO_P1003_1B test

* Sort MLINKS alphabetically

11 years ago- Group together the declaration of static rule related global variables
Sepherosa Ziehau [Sat, 9 Aug 2008 09:41:54 +0000 (09:41 +0000)]
- Group together the declaration of static rule related global variables
- Add comment

11 years agoThough following code sequence is safe currently (even w/o BGL):
Sepherosa Ziehau [Sat, 9 Aug 2008 07:08:20 +0000 (07:08 +0000)]
Though following code sequence is safe currently (even w/o BGL):
  if (ipfw_dyn_v != NULL) {
    lockmgr(&dyn_lock, LK_...);
    /* accessing ipfw_dyn_v */
    lockmgr(&dyn_lock, LK_RELEASE)
  }

it will be better for us to guard against future code changes by using:
  if (ipfw_dyn_v != NULL) {
    lockmgr(&dyn_lock, LK_...);
    if (ipfw_dyn_v != NULL) {
      /* accessing ipfw_dyn_v */
    }
    lockmgr(&dyn_lock, LK_RELEASE)
  }

11 years agoHAMMER 2.0:02 - rmdir, stability
Matthew Dillon [Sat, 9 Aug 2008 07:04:16 +0000 (07:04 +0000)]
HAMMER 2.0:02 - rmdir, stability

* Rmdir now removes only directories

* Fix a memory record assertion.  The overlap checking code was
  improperly shortcutting the search when it encountered a
  deleted in-memory record.

* Wait until after any multi-flush-group operations are
  complete on an inode before processing reflush requests.

11 years agoDon't allow set 1 or 0 to dyn_buckets
Sepherosa Ziehau [Sat, 9 Aug 2008 06:29:45 +0000 (06:29 +0000)]
Don't allow set 1 or 0 to dyn_buckets

11 years agoipfw(4) parallelize stage 1, step 1/2: lock dynamic rule table
Sepherosa Ziehau [Sat, 9 Aug 2008 06:09:18 +0000 (06:09 +0000)]
ipfw(4) parallelize stage 1, step 1/2: lock dynamic rule table
- Looking up dynamic rule is protected by shared lockmgr lock, add comment in
  the dynamic rule description comment section.  Following related changes are
  made:
  o  In lookup_dyn_rule(), don't try to delete expired states or move the
     state to the head of hash bucket.
  o  Expired states will be reaped in ipfw_tick().  Exclusive lockmgr lock is
     held when iterating dynamic rules in ipfw_tick().
- Installing and deleting dynamic rules are protected by exclusive lockmgr lock.
- Add lookup_rule(), which returns static rule ptr saved in dynamic rule.  This
  function is added mainly because accessing dynamic rule outside of lockmgr
  lock is unsafe.
- Add static ruleset generation, so that we could check whether static ruleset
  was changed or not after blocking operation (e.g. try to hold lockmgr lock)
  during static ruleset iteration.  If static ruleset was changed, the static
  rulset iteration would be terminated and the packet being checked would be
  denied/dropped without further static rule accessing (e.g. stats updating).
- Add sysctl functions to make sure that user supplied values are in sane state.

11 years agoDetach correctly so there is no need to panic during reattach.
Hasso Tepper [Fri, 8 Aug 2008 18:33:11 +0000 (18:33 +0000)]
Detach correctly so there is no need to panic during reattach.

11 years agoSilence two warnings by casting to time_t *.
Sascha Wildner [Thu, 7 Aug 2008 11:15:45 +0000 (11:15 +0000)]
Silence two warnings by casting to time_t *.

11 years agoWARNS is 6 for usr.bin/.
Sascha Wildner [Thu, 7 Aug 2008 10:45:58 +0000 (10:45 +0000)]
WARNS is 6 for usr.bin/.

11 years agoFix 'Used' column in -h/-H output by using int64_t.
Sascha Wildner [Thu, 7 Aug 2008 09:59:49 +0000 (09:59 +0000)]
Fix 'Used' column in -h/-H output by using int64_t.

11 years agoHAMMER 2.1:01 - Stability
Matthew Dillon [Wed, 6 Aug 2008 15:38:58 +0000 (15:38 +0000)]
HAMMER 2.1:01 - Stability

* Fix a bug in the B-Tree code.  Recursive deletions are done prior to
  marking a node as actually being empty, but setup for the deletion
  (by calling hammer_cursor_deleted_element()) must still occur prior
  to the recursrion so cursor indexes are properly adjusted for the
  possible removal.  If the recursion is not successful we can just leave
  the cursors post-adjusted since the subtree has an empty leaf anyway.

* Rename HAMMER_CURSOR_DELBTREE to HAMMER_CURSOR_RETEST so its function
  is more apparent.

* Properly set the HAMMER_CURSOR_RETEST flag when relocking a cursor
  that has tracked a ripout, so the cursor's new current element is
  re-tested by any iteration using the cursor.

* Remove code that allowed a SETUP record to be converted to a FLUSH
  record if the target inode is already in the correct flush group.
  The problem is that target inode has already setup its sync state
  for the backend and the nlinks count will not be correct if we
  add another directory ADD/DEL record to the flush.  While strictly
  a temporary nlinks mismatch (the next flush would correct it), a
  crash occuring here would result in inconsistent nlink counts on
  the media.

* Reference and release buffers instead of directly calling low level
  hammer_io_deallocate(), and generally reference and release buffers
  around reclamations in the buffer/io invalidation code to avoid
  races.  In particular, the buffer must be referenced during a
  call to hammer_io_clear_modify().

* Fix a buffer leak in hammer_del_buffers() which is not only bad unto
  itself, but can also cause reblocking assertions on the presence of
  buffer aliases later on.

* Return ENOTDIR if rmdir attempts to remove a non-directory.

Reported-by: Francois Tigeot <ftigeot@wolfpond.org> (rmdir)
Reported-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx> (multiple)
11 years ago* Don't call ifp->if_output() from inside mpls_output(). Make the
Nuno Antunes [Tue, 5 Aug 2008 15:11:32 +0000 (15:11 +0000)]
* Don't call ifp->if_output() from inside mpls_output(). Make the
  caller responsible for sending the packet.

* Fix mpls gateway arp resoving.

* Introduce a new mbuf flag M_MPLSLABELED indicating that the packet
  has at least one valid mpls label on it.

* Use the new mbuf flag instead of forging a sockaddr_mpls to let
  ether_output() identify the mpls packets.

* Drop the packet when mpls ttl is exceeded (doesn't send an ICMP message yet).

* Fix compilation warning.

* Improve comments.

11 years ago- Use sysctl_int_range() for autoinc_step
Sepherosa Ziehau [Tue, 5 Aug 2008 11:57:40 +0000 (11:57 +0000)]
- Use sysctl_int_range() for autoinc_step
- Assert instead snaphot of autoinc_step is within range, instead of adjust it.