dragonfly.git
18 years agoAdd vendor ids for ATi and Philips.
Jeroen Ruigrok/asmodai [Sat, 27 Aug 2005 13:16:56 +0000 (13:16 +0000)]
Add vendor ids for ATi and Philips.

Add identificatio strings for the following:
  o ALi's M5239
  o AMD 8111
  o ATI SB200, SB400
  o Intel 6300ESB, ICH4, ICH5, ICH7
  o NVIDIA nForce 2, nForce 3, nForce 4
  o Philips ISP156x

18 years agoSynchronise with NetBSD v1.18:
Jeroen Ruigrok/asmodai [Sat, 27 Aug 2005 12:59:13 +0000 (12:59 +0000)]
Synchronise with NetBSD v1.18:

Allow 32 chars in the saved vendor string.  Fixes kern/29760.

18 years agoDereference pointer like we should.
Simon Schubert [Sat, 27 Aug 2005 10:20:27 +0000 (10:20 +0000)]
Dereference pointer like we should.

Found-by: sephe
18 years agoThe proper way to check for a normal mbuf cluster is with the
Jeffrey Hsu [Sat, 27 Aug 2005 03:05:24 +0000 (03:05 +0000)]
The proper way to check for a normal mbuf cluster is with the
M_EXT_CLUSTER flag.

18 years agoOnly include thread2.h for kernel builds (its macros are used by vm_page.h's
Matthew Dillon [Sat, 27 Aug 2005 00:56:57 +0000 (00:56 +0000)]
Only include thread2.h for kernel builds (its macros are used by vm_page.h's
inlines, which are also kernel-only).

18 years agoFix a serious bug in cache_inefficient_scan() related to its use of
Matthew Dillon [Sat, 27 Aug 2005 00:36:43 +0000 (00:36 +0000)]
Fix a serious bug in cache_inefficient_scan() related to its use of
VOP_READDIR().  VOP_READDIR() does very weird things when given both a
uio and cookies pointer.  Just give it a uio, instead.

This should fix a bug with the NFS server returning I/O errors to a
NFS client which is manipulating large directories.  The bug was preventing
the server from being able to resolve the namecache topology for a
disconnected directory vnode.

MFC in: 1 week.

18 years agoNo need to forget wcswidth.
Joerg Sonnenberger [Fri, 26 Aug 2005 22:03:26 +0000 (22:03 +0000)]
No need to forget wcswidth.

Found-by: Andreas Hauser
18 years agoDon't define infinite macros when we want to define infinity.
Joerg Sonnenberger [Fri, 26 Aug 2005 20:44:25 +0000 (20:44 +0000)]
Don't define infinite macros when we want to define infinity.

18 years agoWe have to copy the pam.d entries after running mtree, otherwise
Joerg Sonnenberger [Fri, 26 Aug 2005 15:25:59 +0000 (15:25 +0000)]
We have to copy the pam.d entries after running mtree, otherwise
/etc/pam.d will be created as normal file on old system.

Hasn't-updated-for-too-long: asmodai

18 years agoAdd a comment on top of ad_start, mentioning that it is called with
Hiten Pandya [Fri, 26 Aug 2005 14:26:45 +0000 (14:26 +0000)]
Add a comment on top of ad_start, mentioning that it is called with
a critical section held.

18 years agoStyle: break line into two, so it fits nicely in 80-column mode.
Hiten Pandya [Fri, 26 Aug 2005 13:02:07 +0000 (13:02 +0000)]
Style: break line into two, so it fits nicely in 80-column mode.

18 years agoAdd more documentation comments to disk_create() and dscheck().
Hiten Pandya [Fri, 26 Aug 2005 12:45:53 +0000 (12:45 +0000)]
Add more documentation comments to disk_create() and dscheck().

18 years agoReduce critical section warnings for AHC when critical section debugging
Matthew Dillon [Thu, 25 Aug 2005 23:37:35 +0000 (23:37 +0000)]
Reduce critical section warnings for AHC when critical section debugging
is turned on.  The warnings are due to the crit_enter() and crit_exit()
occuring in different procedures.

18 years agoRemove NO_B_MALLOC preprocessor macro, it was never turned on, and
Hiten Pandya [Thu, 25 Aug 2005 20:11:18 +0000 (20:11 +0000)]
Remove NO_B_MALLOC preprocessor macro, it was never turned on, and
just a hindrence.

Reviewed-by: Matthew Dillon

18 years agoChange the MAX_BUTTONS count to 31. This allows us to recognize more than
David Rhodus [Thu, 25 Aug 2005 18:48:19 +0000 (18:48 +0000)]
Change the MAX_BUTTONS count to 31.  This allows us to recognize more than
7 buttons on a mouse.

The same change was made in the NetBSD source.

18 years agoImplement FSMID. Use one of the spare 64 bit fields in the stat structure
Matthew Dillon [Thu, 25 Aug 2005 18:34:17 +0000 (18:34 +0000)]
Implement FSMID.  Use one of the spare 64 bit fields in the stat structure
for the FSMID.   The FSMID is a recursively updated field which allows one
to determine whether a subdirectory hierarchy has changed simply by checking
the base directory of the desired hierarchy.  The new field is st_fsmid.

The initial implementation stores the FSMID in the namecache, which means that
the FSMID will indicate a false change if a namecache entry is destroyed and
recreated.  A more deterministic test can be made by holding a file or
directory descriptor open.  However, it should be noted that DragonFly
implements a coherent and hierarchically consistent namecache so simply having
a subdirectory or file open will prevent the namecache records from that point
through to the root from being destroyed.

The FSMID can be used to greatly reduce the directories that must be searched
when synchronizing a filesystem.  The immediate intention is to use it to
provide a more efficient way to resynchronize a mirror (to generate journal
records 'diff'ing the current filesystem against a mirror), to improve
filesystem mirroring utilities, and to provide for an alternative backup
strategy that involves generating a diff set between two filesystems.
Normally such schemes would require the entire filesystem to be scanned, but
with FSMID the number of directories that must be searched can be greatly
reduced.

TODO: It is desireable for the FSMID information to be stored more permanently
in the inode to survive reboots and to not return false hits due to namecache
thrash.

Note that the FSMID facility does not work on an NFS client if the NFS server
or some other client modifies the filesystem.

18 years agoFix a bug introduced which causes chkgrp to coredump on certain group file
Liam J. Foy [Thu, 25 Aug 2005 17:09:32 +0000 (17:09 +0000)]
Fix a bug introduced which causes chkgrp to coredump on certain group file
layouts.

Reported by: Nikolay Kalev, on freebsd-current

18 years agoConvert to use vop_write_direntry,
Simon Schubert [Thu, 25 Aug 2005 01:14:55 +0000 (01:14 +0000)]
Convert to use vop_write_direntry,
uio->uio_offset now is the directory entry number.

18 years agoA break was still hanging around from the conversion of
Simon Schubert [Thu, 25 Aug 2005 00:55:22 +0000 (00:55 +0000)]
A break was still hanging around from the conversion of
case to if, resulting in a directory listing which only
contained "." and nothing else and therefore confusing VFS.
Fix msdosfs by removing this break statement.

18 years agoWhen writing UNDO records, only try to output the file contents for VREG
Matthew Dillon [Wed, 24 Aug 2005 21:14:21 +0000 (21:14 +0000)]
When writing UNDO records, only try to output the file contents for VREG
vnodes (fixes a panic).  When writing the UNDO record for a symlink,
write out the contents of the symlink.

18 years agoFilesystem journaling. Reorganize the journal scan for the mountpoint to
Matthew Dillon [Wed, 24 Aug 2005 20:28:33 +0000 (20:28 +0000)]
Filesystem journaling.  Reorganize the journal scan for the mountpoint to
allow portions of the journal transaction to be written prior to the VOP
operation being executed, and accomodate transactional aborts if the VOP
fails.   Previously the journal records had to be written only after the VOP
succeeded.

Implement UNDO records, including writing out file data that is about to
be overwritten and the mtime prior to a write, rename, or remove.  UNDO
records allow us to create a reversable journal, where we can wind a mirror
forwards or backwards simply by scanning the journal forwards or backwards.

18 years agoAdd AbortProc typedef to simplify code.
Max Okumoto [Wed, 24 Aug 2005 00:09:29 +0000 (00:09 +0000)]
Add AbortProc typedef to simplify code.

18 years agoRemove #ifdef SYSVVARSUB since the code is required by posix
Max Okumoto [Wed, 24 Aug 2005 00:09:02 +0000 (00:09 +0000)]
Remove #ifdef SYSVVARSUB since the code is required by posix

18 years agoRemove some unnecessary white space.
Max Okumoto [Wed, 24 Aug 2005 00:08:05 +0000 (00:08 +0000)]
Remove some unnecessary white space.

18 years agoMake 'make upgrade' work from the LiveCD, stage 5/5:
Chris Pressey [Tue, 23 Aug 2005 21:33:29 +0000 (21:33 +0000)]
Make 'make upgrade' work from the LiveCD, stage 5/5:

- Have the 'make customizeiso' target in the nrelease Makefile
  populate the ISO's /etc directory with some files required by the
  'make upgrade' process, namely the Makefiles of several important
  subdirectories of /etc, and the entire architecture-specific
  subdirectory.

  Note that these extra files are not installed on the user's hard
  drive, as /etc on the ISO is only used to boot the LiveCD.

18 years agoMake 'make upgrade' work from the LiveCD, stage 4/5 or so:
Chris Pressey [Tue, 23 Aug 2005 21:25:26 +0000 (21:25 +0000)]
Make 'make upgrade' work from the LiveCD, stage 4/5 or so:

- Allow the behaviour of 'make upgrade' itself to depend on what
  manner of upgrade is requested.  Introduce a new variable,
  BINARY_UPGRADE, which, when set, indicates that a binary upgrade -
  that is, an upgrade of the configuration files in the absence of
  the system sources (generally, done from the LiveCD) - is desired.

18 years ago- Do not allocate memory to entries in /var/rwho which have been down for
Liam J. Foy [Tue, 23 Aug 2005 21:22:11 +0000 (21:22 +0000)]
- Do not allocate memory to entries in /var/rwho which have been down for
  more than 4 days - waste of memory.

18 years agoMake 'make upgrade' work from the LiveCD, stage 3/6 or so:
Chris Pressey [Tue, 23 Aug 2005 21:13:35 +0000 (21:13 +0000)]
Make 'make upgrade' work from the LiveCD, stage 3/6 or so:

- Expand inline the contents of simple external Makefile targets
  (namely those for "make etc-termcap" and "make etc-rmt") which will
  not be available in the absence of a full source tree.

18 years agosort forward declarations in header file
Max Okumoto [Tue, 23 Aug 2005 21:03:02 +0000 (21:03 +0000)]
sort forward declarations in header file

18 years agoMake 'make upgrade' work from the LiveCD, stage 2/5 or so:
Chris Pressey [Tue, 23 Aug 2005 21:00:39 +0000 (21:00 +0000)]
Make 'make upgrade' work from the LiveCD, stage 2/5 or so:

- Allow the location from which 'make upgrade' obtains its new
  configuration files to be specified.  Introduce a new variable,
  UPGRADE_SRCDIR, and obtain all new configuration files from
  this location, instead of from .CURDIR.  Have UPGRADE_SRCDIR
  default to .CURDIR so that there is no functional change in the
  typical use case.

18 years agoMake 'make upgrade' work from the LiveCD, stage 1/5 or so:
Chris Pressey [Tue, 23 Aug 2005 20:42:44 +0000 (20:42 +0000)]
Make 'make upgrade' work from the LiveCD, stage 1/5 or so:

- Make 'make preupgrade' honour the DESTDIR variable.

18 years agoReduce the buffer size for the threaded version of ttyname() to TTY_PATH_MAX.
Matthew Dillon [Tue, 23 Aug 2005 17:46:28 +0000 (17:46 +0000)]
Reduce the buffer size for the threaded version of ttyname() to TTY_PATH_MAX.

18 years agoAdd a TTY_PATH_MAX limit, set to 256, and reduce the size of the ttyname
Matthew Dillon [Tue, 23 Aug 2005 17:44:24 +0000 (17:44 +0000)]
Add a TTY_PATH_MAX limit, set to 256, and reduce the size of the ttyname
static buffer from 1024 to a more reasonable TTY_PATH_MAX.

18 years agoAdd missing parenthesis.
Sascha Wildner [Tue, 23 Aug 2005 17:14:15 +0000 (17:14 +0000)]
Add missing parenthesis.

18 years agoBack out accidental commit.
Joerg Sonnenberger [Tue, 23 Aug 2005 16:37:06 +0000 (16:37 +0000)]
Back out accidental commit.

18 years agosendmail tried to limit directory names to MAXPATHLEN - MAXNAMLEN in an
Joerg Sonnenberger [Tue, 23 Aug 2005 15:28:06 +0000 (15:28 +0000)]
sendmail tried to limit directory names to MAXPATHLEN - MAXNAMLEN in an
attempt to bound the size of full path names. This is bogus, because
most directory entries are much shorter than MAXNAMLEN and some
filesystems might allow longer path names than MAXNAMLEN. Change the
logic to bound all path names to PATH_MAX by checking the return values
of sm_strlcpy.

18 years agoAlso allocate PATH_MAX for the threaded case.
Joerg Sonnenberger [Tue, 23 Aug 2005 12:09:24 +0000 (12:09 +0000)]
Also allocate PATH_MAX for the threaded case.

18 years agoDon't assume that ttys are always located directly in /dev. This
Joerg Sonnenberger [Tue, 23 Aug 2005 12:06:48 +0000 (12:06 +0000)]
Don't assume that ttys are always located directly in /dev. This
assumptions breaks as soon as a proper pts filesystem comes into place.
Also ensure the static buffer is not overflown when reading from the
database.

18 years agoRetire old, FreeBSD 4.x -derived ACPI code.
YONETANI Tomokazu [Tue, 23 Aug 2005 09:38:47 +0000 (09:38 +0000)]
Retire old, FreeBSD 4.x -derived ACPI code.

18 years agoAlso document BGE_FAKE_AUTONEG in LINT.
Joerg Sonnenberger [Mon, 22 Aug 2005 22:05:48 +0000 (22:05 +0000)]
Also document BGE_FAKE_AUTONEG in LINT.

18 years agoUpdate the TWE 3ware/AMCC driver code, bringing in all the fixes made
Hiten Pandya [Mon, 22 Aug 2005 21:16:20 +0000 (21:16 +0000)]
Update the TWE 3ware/AMCC driver code, bringing in all the fixes made
by Vinod Kashyap and Paul Saab in FreeBSD-5/STABLE, and retaining
those by David Rhodus and Matthew Dillon.

Remove some compatibility preprocessor BUF/BIO compatibility macros.

Changeset thoroughly tested by Tomaz Borstnar, Matthew Dillon and
David Rhodus.  Inspired by a heads-up from YONETANI Tomokazu.

18 years agoGC unused macro.
Joerg Sonnenberger [Mon, 22 Aug 2005 20:21:21 +0000 (20:21 +0000)]
GC unused macro.

noticed-by: dillon

18 years agoCreate a kernel option BGE_FAKE_AUTONEG for IBM/Intel blade servers,
Joerg Sonnenberger [Mon, 22 Aug 2005 18:29:52 +0000 (18:29 +0000)]
Create a kernel option BGE_FAKE_AUTONEG for IBM/Intel blade servers,
which should make the DNLK switch module work.  IBM/Intel blade server
with Intel or AD switch modules should work without the kernel options

Obtained-from: FreeBSD
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
18 years agoAdd descriptive comment back in
Simon Schubert [Mon, 22 Aug 2005 16:53:26 +0000 (16:53 +0000)]
Add descriptive comment back in

18 years agoInstead of resetting the video buffer's history size to the system
Matthew Dillon [Sun, 21 Aug 2005 19:11:28 +0000 (19:11 +0000)]
Instead of resetting the video buffer's history size to the system
default, reset it to the last vidcontrol-specified size.

Submitted-by: Alexey Slynko <slynko@tronet.ru>
18 years agoHave vidcontrol set the video history size based on a new rc.conf variable,
Matthew Dillon [Sun, 21 Aug 2005 19:08:12 +0000 (19:08 +0000)]
Have vidcontrol set the video history size based on a new rc.conf variable,
'vidhistory'.

Submitted-by: Alexey Slynko <slynko@tronet.ru>
18 years agoRemove the hack that varied the first character of the output file name
Liam J. Foy [Sun, 21 Aug 2005 18:58:34 +0000 (18:58 +0000)]
Remove the hack that varied the first character of the output file name
if none was specified on the command line. This is not permitted by
POSIX, and no longer needed now that we have the -a option.

Taken from: FreeBSD
Requested by: hmp@

18 years ago* Add a definition for a panic key (CNTL-ALT-SHIFT-ESC) to every keymap
Sascha Wildner [Sat, 20 Aug 2005 19:22:37 +0000 (19:22 +0000)]
* Add a definition for a panic key (CNTL-ALT-SHIFT-ESC) to every keymap
  file that didn't already have one. This can be useful for producing a
  dump when DDB is not compiled in or otherwise unavailable. In order to
  use the panic key set the sysctl machdep.enable_panic_key to 1.

* Regenerate the kernel default keymap.

18 years agoRemove PC98 support.
Sascha Wildner [Sat, 20 Aug 2005 18:51:28 +0000 (18:51 +0000)]
Remove PC98 support.

18 years agoHPFS != UFS, so use the right constant for directory entries. Check
Joerg Sonnenberger [Sat, 20 Aug 2005 18:37:21 +0000 (18:37 +0000)]
HPFS != UFS, so use the right constant for directory entries. Check
explicitly for wraparound or negative offsets, don't depend on type
limits to do that.

18 years agoConvert to use vop_write_dirent.
Simon Schubert [Sat, 20 Aug 2005 13:26:58 +0000 (13:26 +0000)]
Convert to use vop_write_dirent.

18 years agoscm test.
David Rhodus [Fri, 19 Aug 2005 19:22:38 +0000 (19:22 +0000)]
scm test.

18 years agoPrevent spurious link state changes.
Joerg Sonnenberger [Fri, 19 Aug 2005 14:43:30 +0000 (14:43 +0000)]
Prevent spurious link state changes.

Obtained-from: FreeBSD
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
18 years agoEnable the memory arbiter before turning off the PXE restart. This
Joerg Sonnenberger [Fri, 19 Aug 2005 14:42:19 +0000 (14:42 +0000)]
Enable the memory arbiter before turning off the PXE restart.  This
prevents NMI's from happening when resetting the chip on some hardware
I have seen.

Obtained-from: FreeBSD
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
18 years agoAtomically load and clear the status block. This makes the bge
Joerg Sonnenberger [Fri, 19 Aug 2005 14:41:07 +0000 (14:41 +0000)]
Atomically load and clear the status block.  This makes the bge
devices work much better when interrupts are shared.

Obtained-from: FreeBSD
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
18 years ago5705K, 5714C, 5721, 5750, 5750M, 5751M, 5789 support.
Joerg Sonnenberger [Fri, 19 Aug 2005 14:40:03 +0000 (14:40 +0000)]
5705K, 5714C, 5721, 5750, 5750M, 5751M, 5789 support.
Add some hacks from the Broadcom Linux driver. Reorder initialisation to
give bge_reset / bge_chipinit what it needs.

Obtained-from: FreeBSD
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
18 years agoRegen.
Joerg Sonnenberger [Fri, 19 Aug 2005 14:36:21 +0000 (14:36 +0000)]
Regen.

18 years agoAdd some new Broadcom IDs.
Joerg Sonnenberger [Fri, 19 Aug 2005 14:35:53 +0000 (14:35 +0000)]
Add some new Broadcom IDs.

Based-on: FreeBSD
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
18 years agoConvert to vop_write_dirent.
Joerg Sonnenberger [Fri, 19 Aug 2005 14:02:39 +0000 (14:02 +0000)]
Convert to vop_write_dirent.

18 years agoImprove C++ support.
Joerg Sonnenberger [Thu, 18 Aug 2005 17:11:09 +0000 (17:11 +0000)]
Improve C++ support.

Obtained-from: FreeBSD
Submitted-by: Andreas Hauser
18 years agoCheck result of setenv(putenv) function.
Max Okumoto [Thu, 18 Aug 2005 07:58:30 +0000 (07:58 +0000)]
Check result of setenv(putenv) function.

Submitted by: Alexey Slynko

18 years agoThe bix bug was introduced on commit 2005/05/20 04:48:55
Max Okumoto [Wed, 17 Aug 2005 09:04:40 +0000 (09:04 +0000)]
The bix bug was introduced on commit 2005/05/20 04:48:55
When I changed the API for str_concat().  Instead
of passing a space character I passed a '/'

Bug found by Jonathon McKitrick.

18 years agoExplicitly specify `all' as the default target(as it used to be), so as
YONETANI Tomokazu [Wed, 17 Aug 2005 02:51:45 +0000 (02:51 +0000)]
Explicitly specify `all' as the default target(as it used to be), so as
issuing make command without target name in the kernel build directory
won't end up building the first target.

Reported-by: Noritoshi Demizu
18 years agoMake links for hoststat(8) and purgestat(8) man pages.
Gregory Neil Shapiro [Wed, 17 Aug 2005 02:47:06 +0000 (02:47 +0000)]
Make links for hoststat(8) and purgestat(8) man pages.

18 years agoUse vop_write_dirent. Correctly handle the case of spare fd tables, e.g.
Joerg Sonnenberger [Tue, 16 Aug 2005 22:40:03 +0000 (22:40 +0000)]
Use vop_write_dirent. Correctly handle the case of spare fd tables, e.g.
0, 1, 2 and 8 are open and 3 to 7 are closed.

18 years agoUtilize vop_write_dirent. Slightly change the order by writing to
Joerg Sonnenberger [Tue, 16 Aug 2005 21:37:54 +0000 (21:37 +0000)]
Utilize vop_write_dirent. Slightly change the order by writing to
userland first and fetching the inode information afterwards. This
should be save and removes the need for copying the name first.

Basic testing by: Sergey Gluschenko

18 years agoConvert to vop_write_dirent.
Joerg Sonnenberger [Tue, 16 Aug 2005 19:16:39 +0000 (19:16 +0000)]
Convert to vop_write_dirent.

XXX The loop is now left on the first error, which makes a lot more
sense, but can also slightly change the behaviour. The old behaviour was
clearly wrong.

18 years agoSprinkle some const.
Joerg Sonnenberger [Tue, 16 Aug 2005 16:27:41 +0000 (16:27 +0000)]
Sprinkle some const.

18 years agoHonor process visibility for jailed processes and ps_showallprocs for
Joerg Sonnenberger [Tue, 16 Aug 2005 16:10:34 +0000 (16:10 +0000)]
Honor process visibility for jailed processes and ps_showallprocs for
non-root users. Move the check for invalid offsets into
linprocfs_readdir.

18 years agoSplit the two parts of procfs_readdir into subroutines.
Joerg Sonnenberger [Tue, 16 Aug 2005 16:09:05 +0000 (16:09 +0000)]
Split the two parts of procfs_readdir into subroutines.
Don't scale offsets by the maximum directory entry size.
Honor visibility of processes for jailed processes.
Prefer LIST_* macros over direct access.

18 years agoGet rid of 4.x-derived acpi code:
YONETANI Tomokazu [Tue, 16 Aug 2005 10:31:35 +0000 (10:31 +0000)]
Get rid of 4.x-derived acpi code:
- move most part of /sys/dev/acpica5/Makefile.inc into /sys/conf/acpi.mk
- rename SYSACPICA_DIR, OSACPI_DIR to ACPICA_DIR and ACPI_MI_DIR,
  make them relative to $S (or $SYSDIR) so as they can be shared between
  kernel and modules builds
- remove 4.x ACPI lines from, and add acpica5 lines to, /sys/conf/files*
- make LINT to use `device acpi' instead of older `device acpica'
- adjust ACPI driver build wrapper and ACPI tools to use /sys/conf/acpi.mk

18 years agoSplit the two parts of linprocfs_readdir into subroutines.
Joerg Sonnenberger [Mon, 15 Aug 2005 16:50:51 +0000 (16:50 +0000)]
Split the two parts of linprocfs_readdir into subroutines.
We can generate arbitrary offsets, so factor out the directory entry
length and use the index directly. Use vop_write_dirent.

18 years agoConvert RANDOM_IP_ID into a sysctl.
Matthew Dillon [Mon, 15 Aug 2005 16:46:22 +0000 (16:46 +0000)]
Convert RANDOM_IP_ID into a sysctl.

Submitted-by: Gordon Bergling <gbergling@0xfce3.net>
18 years agoRip off PROCFS_ZOMBIE, it wasn't even a knob to play with.
Joerg Sonnenberger [Mon, 15 Aug 2005 13:49:55 +0000 (13:49 +0000)]
Rip off PROCFS_ZOMBIE, it wasn't even a knob to play with.

18 years agoUFS sometimes reports: 'ufs_rename: fvp == tvp (can't happen)'. The case
Matthew Dillon [Mon, 15 Aug 2005 07:26:47 +0000 (07:26 +0000)]
UFS sometimes reports: 'ufs_rename: fvp == tvp (can't happen)'.  The case
is not supposed to be able to happen, and UFS ignores the rename operation
when it sees it.   This is true in both FreeBSD and DragonFly.

But, in fact, the case CAN happen if you rename a file to another that
happens to be a hardlink to the first.  The rename operations appears to
succeed but winds up being a NOP because UFS incorrectly believes that the
case represents renaming a file to itself when it doesn't.  Both files
remain in existance when the source file should have been removed.

Detect the condition and issue VOP_NREMOVE instead of VOP_NRENAME when
the source and target represent different namespaces but wind up pointing
to the same physical vnode.

Reported-by: =?ISO-8859-2?Q?Toma=BE_Bor=B9tnar?= <tomaz.borstnar@amis.net>
18 years agoFix an inode bitmap scanning bug. Due to an error in the length adjustment
Matthew Dillon [Sun, 14 Aug 2005 18:53:42 +0000 (18:53 +0000)]
Fix an inode bitmap scanning bug.  Due to an error in the length adjustment
the first scanned byte of the inode bitmap could be checked twice under a
specific and rare but intentionally reproducable set of conditions.  This
resulted in a sanity check failing and a panic.  The required conditions are:

* Very few available inodes in the cylinder group.

* All available inodes are still in the inode hashmap (related vnodes have
  not been completely destroyed yet) and thus skipped.

* The first scanned byte (indexed by the rotor) contains one of these
  not-quite-free inodes.

It should be noted that even though this error exists in FreeBSD-4, the
conditions never occur to trigger it becaues FreeBSD-4 will reuse a vnode
that is still not completely destroyed.  DragonFly does not reuse such vnodes
because they represent a weird and fairly rare code situation that could
lead to bugs, and because attempting to reuse such vnodes/inodes represent
potential stall points.

Found-with: blogbench script provided by Tomaz Borstnar.

18 years agoFix a race in rename when relocking the source namecache entry. Since we
Matthew Dillon [Sun, 14 Aug 2005 18:41:13 +0000 (18:41 +0000)]
Fix a race in rename when relocking the source namecache entry.  Since we
may have blocked previously it is possible for the namecache entry to become
invalid (not destroyed since we hold a ref, but invalid).  For example, if
the source was removed.  This case only occurs when rename() is racing
against a remove() or another rename that is overwriting the target that
represents our 'from' name.

The race resulted in a NULL pointer dereference.

Reported-by: =?ISO-8859-2?Q?Toma=BE_Bor=B9tnar?= <tomaz.borstnar@amis.net>
18 years agoAdd a sanity check for the length of the file name to vop_write_dirent().
Matthew Dillon [Sun, 14 Aug 2005 18:38:27 +0000 (18:38 +0000)]
Add a sanity check for the length of the file name to vop_write_dirent().

18 years agoAllow the VESA code to handle devices that don't claim to be VGA devices.
Sascha Wildner [Sat, 13 Aug 2005 16:43:34 +0000 (16:43 +0000)]
Allow the VESA code to handle devices that don't claim to be VGA devices.
This fixes VESA support when running under vmware.

Taken from: FreeBSD (rev. 1.51)

18 years agoWe want to separate dirent and the maximum directory entry size.
Joerg Sonnenberger [Fri, 12 Aug 2005 17:51:09 +0000 (17:51 +0000)]
We want to separate dirent and the maximum directory entry size.
Therefore use "broken" behaviour of zero-length dirent->d_name.
Add mental note to be careful when looking at OpenSSH code again, what
they call broken might be a lot more correct and the other way around.

18 years agoThe packages have been moved to the fireflybsd server now as it is a
David Rhodus [Fri, 12 Aug 2005 15:57:22 +0000 (15:57 +0000)]
The packages have been moved to the fireflybsd server now as it is a
much faster server than the previous one.  Update the URL in the
pkg_add tool to download from the new location.

18 years agoRemove PV_* flags from PMAP MD header files; these were made useless
Hiten Pandya [Fri, 12 Aug 2005 00:25:10 +0000 (00:25 +0000)]
Remove PV_* flags from PMAP MD header files; these were made useless
when Dyson rewrote the VM system in FreeBSD, about 10 years ago.

Inspiration from same change in FreeBSD by Alan Cox.

18 years agoMove bio_lblkno (logical blockno in a file) field back to its rightful
Hiten Pandya [Fri, 12 Aug 2005 00:17:26 +0000 (00:17 +0000)]
Move bio_lblkno (logical blockno in a file) field back to its rightful
place, which is in struct buf.  Lower levels have no knowledge of this
little critter.

Suggested-by: dillon
18 years ago- In the ICMP debug code, use %d over %x. This makes it much easier when
Liam J. Foy [Thu, 11 Aug 2005 20:47:30 +0000 (20:47 +0000)]
- In the ICMP debug code, use %d over %x. This makes it much easier when
reading ip_icmp.h when the debug code is used.

OK: hsu

18 years agoFix merge bug. d_namlen is used by GENERIC_DIRSIZ, when it isn't
Joerg Sonnenberger [Thu, 11 Aug 2005 09:27:00 +0000 (09:27 +0000)]
Fix merge bug. d_namlen is used by GENERIC_DIRSIZ, when it isn't
initialised, the argument to bzero is wrong.

18 years ago- Use M_WAITOK in attach()
Simon Schubert [Thu, 11 Aug 2005 03:22:57 +0000 (03:22 +0000)]
- Use M_WAITOK in attach()
- Check for malloc failure in M_NOWAIT cases

18 years agoDon't panic if we can't allocate memory.
Simon Schubert [Thu, 11 Aug 2005 03:20:36 +0000 (03:20 +0000)]
Don't panic if we can't allocate memory.

18 years agoOnly use variable if malloc succeeded.
Simon Schubert [Thu, 11 Aug 2005 03:19:39 +0000 (03:19 +0000)]
Only use variable if malloc succeeded.

18 years agoTest for malloc returning NULL.
Simon Schubert [Thu, 11 Aug 2005 03:16:14 +0000 (03:16 +0000)]
Test for malloc returning NULL.
Not sure if doing nothing is the best solution.

18 years agoCorrect typo.
Simon Schubert [Thu, 11 Aug 2005 03:11:59 +0000 (03:11 +0000)]
Correct typo.

18 years agoMy first commit.
Noritoshi Demizu [Thu, 11 Aug 2005 01:08:08 +0000 (01:08 +0000)]
My first commit.

18 years agoUse vop_write_dirent. Allocate a temporary buffer for the name for now,
Joerg Sonnenberger [Wed, 10 Aug 2005 18:02:00 +0000 (18:02 +0000)]
Use vop_write_dirent. Allocate a temporary buffer for the name for now,
but this can most likely be optimised later.

18 years agoWrap 'pqtype' variable with INVARIANTS so annoying GCC warnings are
Hiten Pandya [Wed, 10 Aug 2005 17:53:58 +0000 (17:53 +0000)]
Wrap 'pqtype' variable with INVARIANTS so annoying GCC warnings are
not triggered.

18 years agoReplace the 4.3BSD getdirentries compat function with something which is
Joerg Sonnenberger [Wed, 10 Aug 2005 17:11:45 +0000 (17:11 +0000)]
Replace the 4.3BSD getdirentries compat function with something which is
much more likely to work. The old dirent is basically the on-disk format
of UFS, so the reordering done for little endian machines in ufs_readdir
is reverted here, which should also catch the native order of all other
filesystem. I'm not 100% sure if this change is correct, but the old
code was broken at best, so it shouldn't make matters worse.

18 years agoAdd _DIRENT_NEXT, which is for now only used in the kernel to skip to
Joerg Sonnenberger [Wed, 10 Aug 2005 17:08:49 +0000 (17:08 +0000)]
Add _DIRENT_NEXT, which is for now only used in the kernel to skip to
the next dirent. It will be changed to a different implementation shared
between kernel and userland, once the dirent structure itself is
changed.

18 years agoUse vop_write_dirent.
Joerg Sonnenberger [Wed, 10 Aug 2005 16:58:54 +0000 (16:58 +0000)]
Use vop_write_dirent.

18 years agoContinue (not return) if OP_LIB is not set.
Sascha Wildner [Wed, 10 Aug 2005 16:50:36 +0000 (16:50 +0000)]
Continue (not return) if OP_LIB is not set.

See 1.138 -> 1.139.

18 years agoUse new vop_write_dirent function.
Joerg Sonnenberger [Wed, 10 Aug 2005 16:46:17 +0000 (16:46 +0000)]
Use new vop_write_dirent function.

18 years agoUpdate GCC 3.4 to current 3.4.5 pre-release.
Joerg Sonnenberger [Wed, 10 Aug 2005 15:50:47 +0000 (15:50 +0000)]
Update GCC 3.4 to current 3.4.5 pre-release.

18 years agoMerge from vendor branch GCC:
Joerg Sonnenberger [Wed, 10 Aug 2005 15:50:47 +0000 (15:50 +0000)]
Merge from vendor branch GCC:
Update GCC 3.4 to current 3.4.5 pre-release.