Commit Graph

127888 Commits

Author SHA1 Message Date
David Xu
29f4831b30 Add error code EPERM.
Reviewed by: ru, deischen
2006-11-01 01:54:30 +00:00
Julian Elischer
e0558bb990 Reworking of how to add ports.
submitted by: Jean Milanez Melo
2006-11-01 01:25:51 +00:00
Pawel Jakub Dawidek
ff4ff59d64 Remove debugging code I accidentally committed. 2006-11-01 01:19:13 +00:00
John Baldwin
b54a17cd2f Whitespace and style nits. 2006-10-31 22:36:49 +00:00
Pawel Jakub Dawidek
f348204c94 Hook up gjournal bits to the build.
Sponsored by:	home.pl
2006-10-31 22:22:30 +00:00
Pawel Jakub Dawidek
508bdc9962 Add Makefile for geom_journal kernel module.
Sponsored by:	home.pl
2006-10-31 22:21:47 +00:00
Pawel Jakub Dawidek
1a39ef9574 Forgot to add file with gjournal specific fsck code.
Sponsored by:	home.pl
2006-10-31 22:21:01 +00:00
Pawel Jakub Dawidek
b9116fb333 Add fs_unrefs field to the super block structure.
Sponsored by:	home.pl
2006-10-31 22:18:33 +00:00
Pawel Jakub Dawidek
39a7a769f0 Add recently added fs_unrefs field.
Sponsored by:	home.pl
2006-10-31 22:15:59 +00:00
Pawel Jakub Dawidek
fffbc2a500 Update after function renames.
Sponsored by:	home.pl
2006-10-31 22:07:29 +00:00
Pawel Jakub Dawidek
aef8d2449b Implements gjournal support. If file system has gjournal support enabled
and -p flag was given perform fast file system checking (bascially only
garbage collecting of orphaned objects).

Rename bread() to blread() and bwrite() to blwrite() as we now link to
the libufs library, which also implement functions with that names.

Sponsored by:	home.pl
2006-10-31 22:06:56 +00:00
Pawel Jakub Dawidek
5a9dc069e0 Teach about new fields (cg_unrefs and fs_unrefs) and new FS_GJOURNAL flag.
Sponsored by:	home.pl
2006-10-31 22:02:24 +00:00
Pawel Jakub Dawidek
ac88569c5a Teach mount(8) about MNT_GJOURNAL flag.
MNT_GJOURNAL flag is not a mount-time flag, but it is needed to show
'gjournal' option in mount(8) output.

Sponsored by:	home.pl
2006-10-31 21:54:51 +00:00
Pawel Jakub Dawidek
868c68ed1d Add -J flag to both newfs(8) and tunefs(8) which allows to enable gjournal
support.
I left -j flag for UFS journal implementation which we may gain at some
point.

Sponsored by:	home.pl
2006-10-31 21:52:28 +00:00
Pawel Jakub Dawidek
1a60c7fc8e Add gjournal specific code to the UFS file system:
- Add FS_GJOURNAL flag which enables gjournal support on a file system.
- Add cg_unrefs field to the cylinder group structure which holds
  number of unreferenced (orphaned) inodes in the given cylinder group.
- Add fs_unrefs field to the super block structure which holds
  total number of unreferenced (orphaned) inodes.
- When file or a directory is orphaned (last reference is removed, but
  object is still open), increase fs_unrefs and cg_unrefs fields,
  which is a hint for fsck in which cylinder groups looks for such
  (orphaned) objects.
- When file is last closed, decrease {fs,cg}_unrefs fields.
- Add VV_DELETED vnode flag which points at orphaned objects.

Sponsored by:	home.pl
2006-10-31 21:48:54 +00:00
Gleb Smirnoff
99eebd2a7c Fix buildworld. 2006-10-31 21:44:46 +00:00
Pawel Jakub Dawidek
206ad245f1 Add MNT_GJOURNAL flag which indicates, that file system has gjournal
support enabled.
Add mnt_gjprovider field which keeps gjournal provider's name on which
file system is placed on. This allows to not place file system on gjournal
directly and allows gjournal class to pair gjournal provider with file
system.

Sponsored by:	home.pl
2006-10-31 21:38:51 +00:00
Pawel Jakub Dawidek
bd7f6c2999 Add userland control utility for gjournal GEOM class.
Sponsored by:	home.pl
2006-10-31 21:32:54 +00:00
Pawel Jakub Dawidek
a23d879f34 Add gjournal GEOM class (kernel side), which implements block level
journaling and can be tought about marking file system as clean before
doing journal switch, which easly allows to add journaling to file
systems that don't have this feature.

Sponsored by:	home.pl
2006-10-31 21:31:00 +00:00
Pawel Jakub Dawidek
42461fba65 Implement BIO_FLUSH handling by simply passing it down to the components.
Sponsored by:	home.pl
2006-10-31 21:23:51 +00:00
Pawel Jakub Dawidek
cf4652e74b Implement cgwrite1(3) function which stored a given cylinder group on disk.
Sponsored by:	home.pl
2006-10-31 21:21:48 +00:00
Pawel Jakub Dawidek
9cd394ea96 Implement BIO_FLUSH handling for da(4), amr(4), ata(4) and ataraid(4).
Sponsored by:	home.pl
2006-10-31 21:19:25 +00:00
Pawel Jakub Dawidek
1d2aee20b8 Add a new disk flag - DISKFLAG_CANFLUSHCACHE, which indicates that the disk
can handle BIO_FLUSH requests.

Sponsored by:	home.pl
2006-10-31 21:12:43 +00:00
Pawel Jakub Dawidek
c3618c657a Add a new I/O request - BIO_FLUSH, which basically tells providers below to
flush their caches. For now will mostly be used by disks to flush their
write cache.

Sponsored by:	home.pl
2006-10-31 21:11:21 +00:00
John-Mark Gurney
cef5850ba0 remove gdbserver on ARCH i386 as we now install it again..
Submitted by:	Pawel Worach
2006-10-31 21:05:35 +00:00
Mohan Srinivasan
88b94fba38 Make EWOULDBLOCK a recoverable error so that the request is retransmitted.
This bug results in data corruption with NFS/TCP. Writes are silently dropped
on EWOULDBLOCK (because socket send buffer is full and sockbuf timer fires).

Reviewed by: ups@
2006-10-31 20:25:37 +00:00
Konstantin Belousov
d4d2a400e4 Fix a typo resulting in truncated linux32 signal trampoline code copied
to the usermode. Usually, signal handler segfaulted on return.

Reviewed by:	jhb
MFC after:	3 days
2006-10-31 17:53:02 +00:00
John Baldwin
77cae244f8 Allocate receive and transmit data structures during attach() and free them
during detach() similar to other NIC drivers rather than allocating them
during init() and freeing them during stop():
- Move creation of tx bus_dma tag amd maps and tx_buffer_area from
  em_setup_transmit_structures() to em_allocate_transmit_structures().
- Call em_allocate_xxx_structures() in em_attach().
- Only call em_free_xxx_structures() in em_detach().
- Change em_setup_xxx_structures() to free any existing tx or rx buffers
  and in the case of rx repopulate the ring with newer buffers.

Reviewed by:	jfv
2006-10-31 17:21:14 +00:00
John Baldwin
7b2d1aabb1 - Use callout_init_mtx() to close various callout-related races.
- Drain the two timers in detach.
- Check IFF_DRV_RUNNING in the link task and bail w/o doing anything if
  it is clear.

Reviewed by:	jfv, scottl
2006-10-31 17:05:02 +00:00
Gleb Smirnoff
72f0301fef Rework the transmit register handling. In em_encap() store index of
the EOP descriptor in the first descriptor of the packet. And then
in em_txeof() search for DD bits set only in the EOP descriptors,
embedding the cleanup of all packet's descriptors into inner loop.

This change is important for future chips, where DD bit is going
to be set only on the EOP descriptors.

Submitted by:	jfv
2006-10-31 16:19:21 +00:00
John Baldwin
223eee05e4 Remove unused softc pointer variable from the probe routine.
CID:		1560
Found by:	Coverity Prevent (tm)
2006-10-31 16:13:38 +00:00
Gleb Smirnoff
7c007dd329 Merge new vendor release - 6.2.9.
Details:
o if_em.c changes:
  - Added several new PCI ids.
  - Check em_check_phy_reset_block() before doing SIOCSIFMEDIA ioctl.
  - Don't touch TARC registers, they are now handled in shared
    code in if_em_hw.c.
  - Move RDH and RDT setting to the end of
    em_initialize_receive_unit().
  - Declare em_read_pcie_cap_reg(), now empty.
o if_em_hw.c dropped in from vendor, then restored rev. 1.15.
o if_em_hw.h dropped in from vendor, then modified:
  - Added RX overrun interrupt flag to interrupt enable mask.
  - Remove declarations of em_io_read(), em_io_write().

Approved by:	jfv
2006-10-31 15:00:14 +00:00
Hartmut Brandt
57a8709500 Bind to INADDR_ANY in the default configuration. This makes bsnmpd(1)
automatically work on multi-homed hosts and without explicite specification
of the hostname in the config file.

Submitted by:	jmg
2006-10-31 10:23:28 +00:00
Hartmut Brandt
d9be51413b Define a base OID for the FreeBSD version as returned in sysObjectID
by bsnmpd(1). The actual OID is formed by appending the release numbers
to this base OID.

Idea by:	phk
2006-10-31 10:09:10 +00:00
Hartmut Brandt
f56ce4bd26 This commit was generated by cvs2svn to compensate for changes in r163820,
which included commits to RCS files with non-trunk default branches.
2006-10-31 09:00:35 +00:00
Hartmut Brandt
cab70e0247 Vendor patch: synthesize the initial value for sysObjectId from the value
of uname -r in FreeBSD. This value can be overwritten in the configuration
file.

Suggested by:	phk
2006-10-31 09:00:35 +00:00
Poul-Henning Kamp
298b4f2394 Avoid implict node generation in oids, people tell me a fair bit of
SNMP software has trouble with them.
2006-10-31 08:18:02 +00:00
Poul-Henning Kamp
1a56481056 Claim my own subtree under freeBSDpeople 2006-10-31 07:44:28 +00:00
Takanori Watanabe
0967107190 Fix Typo.
Pointed out by: ru
2006-10-31 07:22:24 +00:00
Matt Jacob
fa9ed86506 The first of 3 major steps to move the CAM layer forward to using
the CAM_NEW_TRAN_CODE that has been in the tree for some years now.

This first step consists solely of adding to or correcting
CAM_NEW_TRAN_CODE pieces in the kernel source tree such
that a both a GENERIC (at least on i386) and a LINT build
with CAM_NEW_TRAN_CODE as an option will compile correctly
and run (at least with some the h/w I have).

After a short settle time, the other pieces (making
CAM_NEW_TRAN_CODE the default and updating libcam
and camcontrol) will be brought in.

This will be an incompatible change in that the size of structures
related to XPT_PATH_INQ and XPT_{GET,SET}_TRAN_SETTINGS change
in both size and content. However, basic system operation and
basic system utilities work well enough with this change.

Reviewed by:	freebsd-scsi and specific stakeholders
2006-10-31 05:53:29 +00:00
Scott Long
9df92bda76 Fix a typo in the device ID table that prevented 5708S chips from being
detected.

Submitted by: pyun
2006-10-31 03:28:25 +00:00
Kevin Lo
127ce9bca0 Add support for Option GT 3G/3G quad datacard in ubsa.
Approved by: cognet
2006-10-31 02:27:24 +00:00
Xin LI
86da4a5eea Correct a security issue introduced in previous commit:
instead of removing the file and issue a warning about
the removal, do not do any operation at all in case -P
is specified when the dinode has hard links.

With -f and -P specified together, we assume that the
user wants rm to overwrite the contents of the file
and remove it (destroy the contents of file but leave
its hard links as is).

The reason of doing it this way is that, in case where
a hard link is created by a malicious user (currently
this is permitted even if the user has no access to the
file).  Losing the link can potentially mean that the
actual owner would lose control completely to the user
who wants to obtain access in a future day.

Discussed with:	Peter Jermey
2006-10-31 02:22:36 +00:00
Markus Brueffer
77814ea000 - Add a 'verbose' switch -v
- Only dump items that are being used for padding when being verbose. This
  brings bthidcontrol in line with the behaviour of usbhidctl(1).
- Update the manpage accordingly

Approved by:	emax
2006-10-31 00:26:58 +00:00
Olivier Houchard
c3248b4002 Include <sys/types.h>, to get definition for uint32_t.
Submitted by:	David Sharp
2006-10-30 23:23:00 +00:00
Warner Losh
a12fb4e632 Assign start to the value we were able to allocate and use that to
write out the BAR.  Otherwise, we were trying to shift a 32-bit
quantity on 32-bit platforms.  Also, 'start' check sanity to where it
is known.
2006-10-30 22:46:33 +00:00
Marius Strobl
a1610d83b8 In the replacement text of the __bswapN_const() macros encapsulate the
argument in parentheses so these macros are safe to use and invocations
with an expression as the argument like __bswap32_const(42 << 23 | 13)
work as expected. Additionally, mask all the individually shifted bytes
as appropriate so the bytes which exceed the width of the respective
__bswapN_const() macro in invocations like __bswap16_const(0xdead600d)
are ignored like it's the case with the corresponding __bswapN_var()
function.

MFC after:	3 days
2006-10-30 21:50:11 +00:00
Julian Elischer
d49da17b5e Add configuration stubs for adding package derived files to the various
sample configurations.
Submitted by Jeremie Le Hen and tested by Jean Milanez Melo.
2006-10-30 19:50:01 +00:00
Julian Elischer
d12c591b20 Add some code to support including files ffrom packages in the image.
Submitted by: Jeremie Le Hen and tested by Jean Milanez Melo.
2006-10-30 19:47:05 +00:00
Warner Losh
b0a2d4b8a9 More fully support 64-bit bars. Prior to this commit, we supported
only those bars that had addresses assigned by the BIOS and where the
bridges were properly programmed.  Now even unprogrammed ones work.
This was needed for sun4v.  We still only implement up to 2GB memory
ranges, even for 64-bit bars.  PCI standards at least through 2.2 say
that this is the max (or 1GB is, I only know it is < 32bits).

o Always define pci_addr_t as uint64_t.  A pci address is always 64-bits,
  but some hosts can't address all of them.
o Preserve the upper half of the 64-bit word during resource probing.
o Test to make sure that 64-bit values can fit in a u_long (true on some
  platforms, but not others).  Don't use those that can't.
o minor pedantry about data sizes.
o Better bridge resource reporting in bootverbose case.
o Minor formatting changes to cope with different data types on different
  platforms.

Submitted by: jmg, with many changes by me to fully support 64-bit
addresses.
2006-10-30 19:18:46 +00:00