Commit Graph

379 Commits

Author SHA1 Message Date
Axel Dörfler
d9f08d808d The empty string ("", length 0) will now be replaced with ("", length 1) in
queries, to let the BPlusTree::Find() method search for it (there can't be
any keys in the tree with length 0).
That means that the query 'META:url=""' will now return all files where the
attribute "META:url" is present but empty.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-10 11:14:07 +00:00
Axel Dörfler
3b7911f105 We now check in bfs_rename() if the new name is the same as the old name
in the same directory - in this case, we will return B_OK (as nothing has
to be done to fulfill the request), instead of B_BAD_VALUE which would
be thrown later in the process.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-10 11:08:51 +00:00
Axel Dörfler
538ee6189c Moved the config_manager to the correct location and added it to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-02 13:21:19 +00:00
Axel Dörfler
ea8ace93a1 The /dev/misc/config driver which provides userland access to the
Configuration Manager, once this is implemented.
Needed for the "listdev" command and the Devices preferences application.
Not tested!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-31 16:19:09 +00:00
Tyler Dauwalder
5494accf0a Added cd rom session module to the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-31 07:31:30 +00:00
Tyler Dauwalder
720c9e3ade Fixed session_info update oversight
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-31 07:30:23 +00:00
Tyler Dauwalder
3ed1045364 Added some NULL pointer checks
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-31 07:28:44 +00:00
Tyler Dauwalder
0983fab3f8 Added iso99660 module
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-31 07:28:07 +00:00
Tyler Dauwalder
4267a32ec4 Initial working, but messy and incomplete, cd rom session disk scanner module
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-31 07:23:55 +00:00
Tyler Dauwalder
22aef14b93 Initial working iso9660 disk scanner fs module
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-31 07:22:12 +00:00
Ingo Weinhold
ad7f737efe Now a session_info is passed instead of individual parameters.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-25 15:17:23 +00:00
Ingo Weinhold
27563d0575 Adjusted to return a priority. Removed a line setting the mounted_at field.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-25 15:16:31 +00:00
Ingo Weinhold
457683e902 Pass a session_info to the partition functions and deal with FS add-on priorities.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-25 15:15:31 +00:00
Ingo Weinhold
bc2988951f Fixed the code iterating over module name lists. The buffer size must be set before each call.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-25 12:10:34 +00:00
Tyler Dauwalder
c10d0b6cdb Added BFS disk_scanner fs module to the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-22 22:51:07 +00:00
Tyler Dauwalder
6c1c5b652b + Updated PARTSCAN_MODULE_NAME to DISK_SCANNER_MODULE_NAME
+ Fixed an error with disk_scanner_get_partition_fs_info() that was causing
  the fs module to not be unloaded when identification succeeded. The next
  time around, get_module() was returning B_OK, by the module pointer was
  being set to NULL. I'm not sure if this is the expected behaviour of the
  emulator, so we may want to investigate.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-22 22:50:18 +00:00
Tyler Dauwalder
03d06845e6 disk_scanner fs module for BFS filesystems
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-22 22:47:17 +00:00
Ingo Weinhold
8d815e9eb0 Added empty Jamfiles in the fs and session subdirs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-22 02:30:00 +00:00
Ingo Weinhold
1c10defbf6 Added disk_scanner to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-21 19:16:19 +00:00
Ingo Weinhold
6ddccb275f Module for Intel (DOS) style partitions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-21 19:09:45 +00:00
Ingo Weinhold
cc2c9ce95e disk_scanner module.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-21 19:08:53 +00:00
Axel Dörfler
89e64f44be Added more checks in the BPlusTree implementation if DEBUG is defined.
The correctness of max_number_of_levels is now checked in Find().
Added a class NodeChecker which checks the integrity of the specified node
when the object is destructed (via new method bplustree_node::CheckIntegrity());
now used in Remove() and Insert().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-06 04:41:51 +00:00
Axel Dörfler
528a411973 Updated ToDo file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-06 04:39:28 +00:00
Axel Dörfler
1d5f9787e8 Added a few comments and ToDo items.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-06 04:32:48 +00:00
Axel Dörfler
697df4613d Style clean-ups *and* Index::Update() now correctly converts B_MIME_STRING_TYPE
to B_STRING_TYPE for the lower layers - should probably find a better solution
to handle this.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-06 04:32:05 +00:00
Axel Dörfler
d3ca8eec8d The new block bitmap is now written using through the log for chkbfs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-05 20:30:18 +00:00
Axel Dörfler
af9ba303e4 bfs_walk() now prints the file name if it couldn't locate a file with debug
output turned on.
bfs_open_dir() now accepts again all containers, because bfs_open_index_dir()
is using it, too (too bad when you forgot about your own code).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-29 20:03:49 +00:00
Axel Dörfler
006928f81b Fixed the bug in the query code: B_MIME_STRING_TYPE was not correctly
translated into B_STRING_TYPE for the key comparison (it was translated
but not saved under the new type).
compareKeys() will now return -1 if it didn't know the type to compare.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-29 19:22:52 +00:00
Axel Dörfler
c78d05895c Removed some debug output I accidently added to the repository.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-28 15:13:08 +00:00
Axel Dörfler
363999a1eb Thanks to Bruno, we fixed a bug in Inode::Create() that happened with newly
created files that already existed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-27 22:40:04 +00:00
Axel Dörfler
98138634aa Added the private ioctl calls to get the 64-bit create and modified time.
Most probably these are used by the kernel to identify changes in a shared
library or something like this.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 23:51:03 +00:00
Axel Dörfler
cb0a9fe094 Fixed a stupid bug, used Inode::Name() without locking.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 23:30:54 +00:00
Axel Dörfler
2ad0108fbe Now uses Inode::GetName() and strlcpy().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 18:43:11 +00:00
Axel Dörfler
c0f2928e7d Now uses Inode::GetName() where appropriate.
Fixed a bigger race condition when matching against the name index.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 18:42:40 +00:00
Axel Dörfler
97d569f0de Now uses strlcpy() rather than strcpy() where appropriate.
The inode is now locked in bfs_close() (when the indices are updated).
Moved the special cases for INODE_NO_CACHE and INODE_CHKBFS_RUNNING into
bfs_free_cookie() - should probably do that with the index update as well.
Updated some comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 18:07:35 +00:00
Axel Dörfler
0606e6e197 Added a new method Inode::GetName() which safely copies the inode's name
to the provided buffer.
Inode::Name() no longer locks the small_data region anymore.
Added ASSERTs that the small_data region is locked for the methods requiring
that.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 17:38:19 +00:00
Axel Dörfler
d88937ace2 Added a SimpleLock.IsLocked() method.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 17:36:53 +00:00
Axel Dörfler
0f374ebc88 Added a strlcpy() call for usage in BeOS (OpenBeOS has it built-in already).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 17:35:21 +00:00
Axel Dörfler
d369893781 Removed the usage of Inode::Name() in the debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-25 17:33:43 +00:00
Axel Dörfler
fea5713c6d Added a comment about live-queries in Inode::Create().
Some style cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-22 03:45:01 +00:00
Axel Dörfler
b5a0c65c19 Added support for aborted "chkbfs" runs (so that they won't do any harm).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-22 03:32:53 +00:00
Axel Dörfler
f512ce4233 Added a new inode flag INODE_CHKBFS_RUNNING to detect aborted chkbfs processes.
bfs_read_vnode() will now wait for half a second at maximum until it returns
the B_BUSY error (so that live queries will like it better).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-22 03:31:34 +00:00
Axel Dörfler
5254026ba2 Removed the logic for freeing the inode's space from bfs_remove_vnode(); now
instead calls Inode::Free().
If INODE_DONT_FREE_SPACE was set, bfs_remove_vnode() forgot to delete the
inode before returning B_OK.
bfs_read_vnode() will now return the exact error Inode::InitCheck() returned.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-21 20:45:52 +00:00
Axel Dörfler
11a8dbc63a Completely worked over the inode creation mechanism. Now more work is delegated
to the InodeAllocator class (initialization of the inode, tree creation for
containers).
The InodeAllocator class now frees all the space the inode occupies, including
the B+tree if it's a container (by calling the new Inode::Free() method).
Inode::Free() implementation (logic removed from bfs_remove_vnode()).
Now secures the inode from being loaded by setting the INODE_NOT_READY flag
(completely handled by the InodeAllocator class).
The inode is now removed from its parent if something went wrong after it
had been added.
Utilizes the new BPlusTree::Remove() method where appropriate.
Inode::GetAttribute() now checks if the inode opened is really an attribute.
Inode::InitCheck() now fails with B_BUSY if the INODE_NOT_READY flag is set.
InodeAllocator::Keep() now writes back the inode.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-21 20:42:44 +00:00
Axel Dörfler
9fec50f9db Added new Inode::Free() method which frees all space associated with an
inode.
Some style cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-21 20:34:04 +00:00
Axel Dörfler
8a3e35d8c3 AllocationBlock::Allocate() still had the 0xffff thing implemented, now
also the numBlocks parameter is ASSERTed - when compiled with DEBUG turned
off, BFS will enter the kernel debugger in this case (through the use of
the DIE() macro).
Same for AllocationBlock::Free() (but the 0xffff mode was already removed
there).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-21 20:32:54 +00:00
Axel Dörfler
98887c634e Symbolic link data streams (for long symlinks) now are located in the same
allocation group as the inode, if possible.
Moved the group used blocks info maintaining code into AllocationGroup::Allocate()
and AllocationGroup::Free() (instead of letting the BlockAllocator class do
the work).
Removed the buggy and useless extra 0xffff mode for AllocationBlock::Allocate()
and AllocationBlock::Free(), both methods now ASSERT their parameter range.
Changed some comments, style cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-21 20:27:57 +00:00
Axel Dörfler
def426bce2 Added a BPlusTree::Remove() inline method for strings.
Style cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-21 20:22:36 +00:00
Axel Dörfler
2edddca0dc Removed the unused INODE_EMPTY flag, and introduced a new INODE_NOT_READY
flag which is used during construction of an inode.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-21 20:21:28 +00:00
Axel Dörfler
696b26708c The Locker class now uses ASSERT() to be sure the semaphore could be locked.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-21 20:20:12 +00:00
Axel Dörfler
537e538aa6 Added two new macros, ASSERT(), and DIE().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-21 20:15:25 +00:00
Axel Dörfler
95f8931641 BlockAllocator::CheckInode() now has support for the double indirect region
of the stream (so the "chkbfs" functionality is complete now).
Fixed wrong block number report in BlockAllocator::CheckBlockRun(), blocks are
now printed out in absolute numbers (not allocation_group relative anymore).
Use Inode::IsContainer() where necessary instead of Inode::IsDirectory().
Fixed a big and nasty bug in AllocationBlock::SetTo(): the number of bits in
a block could be calculated wrong for a partial allocation group which need
more than one block in the bitmap - hopefully, that was the last remaining
big bug in the block allocator.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 01:59:14 +00:00
Axel Dörfler
68ca164dc3 Switched from Inode::IsDirectory() to Inode::IsContainer() where necessary.
Now makes use of the changed Inode::Create() logic.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 01:52:03 +00:00
Axel Dörfler
52fafe627e Changed the parameter logic from Inode::Create() - it now also keeps the
inode locked if the _inode parameter is passed.
Makes some more use of the new type identificators.
Symlinks are no longer added to the "size" index (compatibility with BFS, and it also
makes much more sense).
Now sets S_STR_INDEX for directories, if no index type was set (again, compatibility
issue with BFS).
Fixed a bug in the Inode::GrowStream() method in the double indirect region.
Some style updates.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 01:50:03 +00:00
Axel Dörfler
67fa10dcde Added some more type identification methods and constants.
Renamed Inode::IsDirectory() to Inode::IsContainer() (since it is also true
for index/attribute directories).
Introduced a new Inode::IsDirectory() that only checks for real and standard
directories. Let's hope I've fixed more bugs with that than introduced new
ones...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 01:44:17 +00:00
Axel Dörfler
b24d7c8bf7 Many style changes.
The only functional change is that bfs_rename() now checks for '/' in the
target name (the VFS should do those things, but you never know as long
you haven't written it yourself :).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 01:42:01 +00:00
Axel Dörfler
3f870da9c3 Almost complete and working "chkbfs" functionality for BFS. It can be used
via the private ioctls defined in bfs_control.h.
Detects all kinds of errors, and can correct most of them. It doesn't fix
any errors in the b+trees (like the ones created by an earlier version
of the BPlusTree class ;-), and it also can't fix the "blocks are already set"
error, which occurs if more than one file claims a particular block (or
range of blocks) for itself.
The double indirect data range is not yet supported, so use with care, or
run the original chkbfs afterwards to fix any errors because of that.
Might not yet analyze 100% correct (shows way to many errors for my tastes...).
A "chkbfs" command will be made available shortly.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 01:28:47 +00:00
Axel Dörfler
27fe0a4b4b Adds support for INODE_DONT_FREE_SPACE, and all private BFS ioctls defined
in bfs_control.h.
Some minor cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 01:22:33 +00:00
Axel Dörfler
c113e0ecfd Added another ToDo item...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 01:21:06 +00:00
Axel Dörfler
adb9970c9e This file defines the private BFS ioctls to control the "chkbfs" mechanism
and other stuff.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 01:19:55 +00:00
Axel Dörfler
359c7618f0 Changed because of renaming IsValidBlockRun() to ValidateBlockRun().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 01:18:40 +00:00
Axel Dörfler
dbba7407de Renamed Volume::IsValidBlockRun() to Volume::ValidateBlockRun() because it
returns a status_t, not a boolean value.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 01:17:41 +00:00
Axel Dörfler
0c9a17ce08 Added a simple (and completely non-reliable) C implementation for atomic_set(),
and atomic_test_and_set() for userland testing purposes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 01:16:27 +00:00
Axel Dörfler
7781a5df6b Now uses block_run::MergeableWith() in Inode::GrowStream() - that also fixes
the bug where a block_run could get a zero length after merging it...
Updated a comment in Inode::Remove().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 01:14:30 +00:00
Axel Dörfler
2afbd5e712 Added new method block_run::MergeableWith() which checks if two different
block_runs can be merged together.
Added a constant for the maximum length of a block_run.
Added a flag constant to the inode that prevents freeing up its space
after it has been removed - this is only useful for the "chkbfs" stuff.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 01:12:56 +00:00
Axel Dörfler
8ea2f57ddd Added some more type identifying methods and constants (i.e. Inode::IsAttribute()).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 01:10:31 +00:00
Axel Dörfler
6f6aedf0b3 Fixed the "famous" VM bug; read_pos() returns the number of bytes read, so
Cache::Read() != B_OK failed if the underlying class used that function.
We can now boot R5 with VM turned on without any problems (what a stupid bug).
As a side effect, you can now also mount volumes on your BFS disk, which was
also broken because of this bug.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-14 00:24:31 +00:00
Axel Dörfler
e94373bfa0 Added some comments, made bfs_create() a bit nicer (no functional change, though).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-14 00:22:16 +00:00
Axel Dörfler
601f33e246 It's no longer possible to remove or recreate a file that is opened with
uncached access.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-14 00:21:04 +00:00
Axel Dörfler
b334e2f00f Replaced the simple "return" with the RETURN_ERROR() macro for fatal errors
to make them visible in the log.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-14 00:19:49 +00:00
Axel Dörfler
ae01c8b752 Now includes <string.h> which is needed for the strerror() function used
in the macros.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-14 00:18:50 +00:00
Philippe Houdoin
c1e322be1d Fix a comment, and assume spawn_kernel_thread() always exists.
The stack debug platform, aka net_server, map to spawn_thread(), simply.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-13 23:51:36 +00:00
Philippe Houdoin
3a26c0afcb Make net modules mostly unaware of being (soon :-)) userland buildable too.
Some cleanup, in the way...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-12 21:06:11 +00:00
Philippe Houdoin
a0a6d75d61 Some net cleanup...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-12 21:03:25 +00:00
Axel Dörfler
fb39a31ca7 Fixed a dead-lock that could happen if an attribute was changed and you
had some running live queries.
SimpleLock now allows nesting; added some missing atomic operations to
make its implementation as easy as possible.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-10 06:05:46 +00:00
Axel Dörfler
b71ba910ba The non-benaphore of the Semaphore class just didn't work correctly...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-09 04:32:47 +00:00
Axel Dörfler
dab62fa391 Fixed a big stupid bug that can cause lots of trouble: all locks created
weren't moved to the kernel (as owner), so they would be deleted after
the team which almost randomly created them died.
Benaphores are now only used if USE_BENAPHORES is defined - I have renamed
the Benaphore class to Semaphore to take the changed behaviour into account.
Added a Status() method to the Locker class.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-09 02:02:31 +00:00
Axel Dörfler
e335b08a33 Fixed the wrong maintainance of the max_number_of_levels field in the
B+tree's header.
Some style cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-07 12:30:45 +00:00
Axel Dörfler
a3d39a9e8a Equation::Match() unlocked the small data section too soon (the contents
could be changed before or during the comparison).
Some style changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-06 22:17:21 +00:00
Philippe Houdoin
03a92a2178 Moved rtstat & rt_tables declarations in route.c instead of posix/net/route.h 8-\
Update the protocols and interfaces modules names prefix to reflect the real
disk hierarchy where they lives.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-01 02:58:20 +00:00
Philippe Houdoin
2cd1ec325f No more conflict on /dev/netstack between net_stack_driver and net_server_driver:
- net_server_driver now publish a /dev/net/server entry,
- net_stack_driver still publish a /dev/net/stack entry.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 21:06:07 +00:00
beveloper
2f344cad19 some more clean up and renaming
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 20:59:25 +00:00
beveloper
570e196319 bugfix
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 17:22:23 +00:00
beveloper
b282b44773 code cleanup. renamed exported socket functions as socket_ and removed void *
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 16:40:51 +00:00
beveloper
24a8c5cfe1 fix for two bugs
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 14:06:52 +00:00
Philippe Houdoin
d8d42f5a47 Some comments updated to the net_userstack_driver -> net_server_driver shift.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 08:47:22 +00:00
Philippe Houdoin
6b94eecd7c net_userstack_driver renamed into net_server_driver,
and net_server_driver is now build too.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 08:24:00 +00:00
beveloper
42415555d3 after many changes, the network stack can now be build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 01:21:54 +00:00
Axel Dörfler
9844285a44 Changed the kmalloc()/kfree() calls to malloc()/free().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 23:08:35 +00:00
Bruno G. Albuquerque
bbdc29a05d bfs_walk() should check for read permissions for iterating through directories, not execute permission.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-28 13:31:54 +00:00
beveloper
6652c2eae9 removed some unused headers
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 19:27:39 +00:00
Axel Dörfler
23d098b60b Forgot to set the new "start" within the blocks range in
AllocationGroup::Allocate()/Free().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 02:59:39 +00:00
Axel Dörfler
820dca1912 Rearranged some code in the BlockAllocator; AllocationGroup now has Allocate()
and Free() methods which operate on the AllocationBlocks.
BlockAllocator::AllocateBlocks() couldn't correctly reserve space for allocation
groups with more than 2 blocks - AllocationGroup::Allocate() now can, which
is now used by AllocateBlocks() (but it's slightly less fast).
Began implementing functionality for a chkbfs-like command.
Some style changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-22 17:54:38 +00:00
Axel Dörfler
c35898079f Updated tasks to do.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-22 17:49:24 +00:00
Axel Dörfler
e891a05e6e Add a new DEBUGGER() macro (doesn't do anything for the release build).
Some style changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-22 17:48:29 +00:00
Axel Dörfler
05f02d9b9a Volume::Ummount() now use the NO_WRITES mode for remove_cached_device_blocks()
if the volume is read-only.
Some style changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-22 17:46:12 +00:00
Axel Dörfler
7ab95d9da9 Made it easier to switch from R5 compilation to the test "obfs" compilation.
$ COMPILE_FOR_R5=1 jam
will compile the "bfs" version, otherwise the "obfs" version is created.
Note: the final executable will always be called obfs (for now).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-22 02:23:24 +00:00
shatty
2ac2ef2b15 added stubs for scatter-gather and others
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 05:18:24 +00:00
shatty
661ede4b33 improved comments
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 05:17:59 +00:00
Axel Dörfler
7e1d70ff27 Some minor cleanups.
Eliminated a macro by introducing an inline function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-03 04:45:07 +00:00
Axel Dörfler
74708d31ce Cleaned up the code, merged _keyboard_read() and keyboard_read(), and
merged setup_keyboard() and init_driver().
Added TRACE_KEYBOARD define to easily enable debug output from the keyboard driver.
Also made the escape key dropping into KDL - all special keys (like the
F-keys, etc.) aren't working in BeBochs, so that's a simple work-around
for that problem.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-30 01:43:28 +00:00
shatty
54764c4439 initial commit of untested beos support files.
probably missing: some of those annoying windowsish types (like DWORD)
everything else maybe works?


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 11:04:17 +00:00
shatty
27327f1724 now with OpenBeOS support!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 11:01:12 +00:00
shatty
3895766d9c initial commit from files downloaded at:
http://www.echoaudio.com/Download/Developer/developer.htm
please see the enclosed open-source license. (MIT variant)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 11:00:20 +00:00
shatty
348ee26939 initial commit. mostly borrowed from ich driver.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 10:55:11 +00:00
shatty
b1abd16faa initial commit
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 10:54:32 +00:00
beveloper
106c88e9d2 some fixes to get it working on Gateway Profile 4 (ICH 4 chipset)
also experimental code for AD1886 (doesn't work)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-26 11:20:08 +00:00
Philippe Houdoin
f5826b35dc Stick with net_stack_driver name, not simply "stack"!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-19 23:25:58 +00:00
Philippe Houdoin
45077455b7 Ooops, missing #endif at end of file
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-19 23:24:28 +00:00
Axel Dörfler
2b5451f164 Added private non-implemented copy constructor and assignment operators
for many classes for the sake of completeness.
Added a Transaction::IsStarted() method to not let it look like as if the
transaction is started more than once.
Changes made after suggestions from Mike Nordell, again :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-17 01:26:18 +00:00
Philippe Houdoin
59e1220c9b Now building, sorry, will build the net stack driver addon as "net_stack_driver"
instead of the too shorter "stack", which incidently fix a target dependency issue
with the STL stack header.
Wait. No. It's the reverse! :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-16 19:55:54 +00:00
Axel Dörfler
6829a19b3f Now bfs_write() also don't trigger any notifications during write access
on uncached files (might be needed for the VM file).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-16 16:09:36 +00:00
Axel Dörfler
a00ac4bc29 bfs_write() called Volume::WriteCachedBlocksIfNecessary() also on uncached
files which might cause troubles with the VM file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-16 16:06:22 +00:00
Axel Dörfler
d801dfdd1c Added CachedBlock::BlockSize(), and CachedBlock::BlockShift() methods as
suggested by Mike Nordell.
Some code cleanups, added a comment in Inode::SetFileSize() to point out
that Stream<Cache>::WriteAt() denies growing the file size its own.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-16 16:03:05 +00:00
Axel Dörfler
850b731e4d Some small cleanups.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-16 15:13:54 +00:00
Axel Dörfler
fb34ad79d7 Added a missing check of the return value of a cached write in
Inode::FillGapWithZeros(), pointed out by Mike Nordell.
Note, that function is currently not used.
Some smaller cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-16 15:13:23 +00:00
Axel Dörfler
502d10e3ff Mike Nordell pointed me to the fact that BufferPool::ReleaseBuffers() didn't
free anything if it couldn't acquire the semaphore.
That allowed me to get aware of a possible bug in the destructor :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-16 15:07:36 +00:00
Ingo Weinhold
35c2a0d5f7 Commented out subdir stack, as it currently doesn't build anyway.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-15 20:58:51 +00:00
Axel Dörfler
b8cb2cade8 B_CUR_FS_API_VERSION must be 2 on R5; so you need to build it on Dano if
you want to use it for booting Dano.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-14 01:10:33 +00:00
Axel Dörfler
ccc09203a5 Added power management functions to support Dano (needed to boot Dano using
our file system):
- added bfs_wake_vnode(), and bfs_suspend_vnode()
- bumped B_CUR_FS_API_VERSION to 3 as needed for Dano

It should now be able to boot Dano with our BFS, although I haven't tested
it. The information was gained using some degree of reverse engineering...
It won't be part of the BFS implementation for OpenBeOS (that won't run on R5
anymore) :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-11 01:03:35 +00:00
Axel Dörfler
f1e38490eb If debugging is disabled and the "release build" of BFS is done, optimization
is no only "-O1", since gcc obviously produces bad code if compiled with more.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-08 17:08:45 +00:00
Axel Dörfler
a130fd5520 Inode::SetFileSize() now doesn't allow changing the file size of uncached
files anymore (only Inode::WriteAt() denied it before).
Introduced a BFS_NAME define to be able to switch easier between "obfs",
and "bfs".
bfs_write_stat() didn't return the error code if Inode::SetFileSize() failed;
instead, it always reported success.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-08 15:25:23 +00:00
Philippe Houdoin
085d0da283 Remove the misplaced current/src/add-ons/net/Jamfile and add the missing
current/src/add-ons/kernel/drivers/net/Jamfile so the network stack driver
will access to build party.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-07 23:21:28 +00:00
Axel Dörfler
b98d9a335a Fixed two bugs in the block allocator:
- the maximum number of blocks a block_run can cover is 65535 not 65536
- allocations over a block boundary in the block bitmap always failed due
  to a incorrectly handled status

Both bugs could prevent BFS to create the VM swap file which led BeOS to
stop booting under certain circumstances.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-07 02:44:42 +00:00
beveloper
90abd04b34 Change int into status_t, and other changes for better BeOS type compatiblitly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 02:19:22 +00:00
Axel Dörfler
35931182a2 Finally implemented growing in the double indirect range.
Tested, and works - we are now feature complete (and now for the bugs... :-)).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 02:10:34 +00:00
beveloper
f817f7d9ac convert int into status_t
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 01:28:31 +00:00
beveloper
5813c3dff5 correct a few names.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-02 14:37:38 +00:00
beveloper
0170038a31 better codec detection and allow codec specific functions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-01 21:23:57 +00:00
Philippe Houdoin
0e29915606 Ooops, forgot these initial network kernel stack protocoles modules Jamfiles...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-29 08:08:58 +00:00
Philippe Houdoin
5de6083d95 Network stack kernel modules moved to /current tree.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-29 08:07:10 +00:00
Philippe Houdoin
c374d17e22 Changes in the network kernel modules source tree: removing misnamed and/or misplaced
old one.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-29 07:36:01 +00:00
Philippe Houdoin
c5b60ec4fd The network stack "kernel" modules was previously misplaced under the
misnamed /current/src/add-ons/net directory.
Should be into /current/src/add-ons/kernel/network, as they are *kernel* modules add-ons
and as they all share the "network/" prefix in their respective module names.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-29 07:23:59 +00:00
Philippe Houdoin
0fce772df1 Moving the network stack driver (/dev/net/stack) from old /net_kit/source/driver/
to /current repository


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-27 07:34:55 +00:00
beveloper
fd93cc35b3 reverted the latest change
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-26 14:49:16 +00:00
beveloper
32ffa52615 This solve some problems where the driver seemed to work, but you couldn't
hear any sound. Looks like certain chipsets use the optional aux output,
instead of line out


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-26 14:48:24 +00:00
Axel Dörfler
2d38e3f603 The beginning of letting a stream grow into the double indirect range.
Not yet finished, nor tested, but almost complete :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-21 15:52:21 +00:00
Axel Dörfler
bc62229fce Volume::Free(), and BlockAllocator::Free() now pass the block_run by value
rather than by reference.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-21 15:51:03 +00:00
Axel Dörfler
ba04be1db0 Fixed the dirent.d_reclen calculation - define KEEP_WRONG_DIRENT_RECLEN to
enable the old and compatible behaviour (on BeOS R5, all available file
systems seem to do that wrong).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 13:31:04 +00:00
beveloper
33d6854bee changed codec detection and special ICH4 handling
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-17 19:59:33 +00:00
beveloper
15ea765d53 Change debugging routines, add more ICH4 support, add tertiary codec support.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-15 21:33:17 +00:00
beveloper
6c3c3848cc This should fix problems with ICH4 chipsets.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-15 13:54:21 +00:00
Axel Dörfler
ba5530fdc9 Now only "jam install" triggers the installation of bfs (in this directory only).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-13 22:50:45 +00:00
Axel Dörfler
8a1faae799 Fixed the build process of bfs; -g and -O2 don't mix well together...
To enable debug output, type:
$ DEBUG=1 jam
Also, it's now automatically installed in /boot/home/config/add-ons/kernel/file_systems


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-13 22:10:06 +00:00
Axel Dörfler
ae38c6e93d Fixed a bug that could lead to the wrong last_modified time in an inode;
bfs_close() updated the last_modified time & index, but it didn't write
the inode back to disk.
Furthermore, bfs_write() should have already updated the last_modified
time, not bfs_close.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-12 21:49:03 +00:00
Axel Dörfler
e238bce6f5 BufferPool::ReleaseBuffers() didn't set fFirstFree correctly.
Setting uncached access to a file no longer returns an error (if it succeeds).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-12 16:55:12 +00:00
Axel Dörfler
ee77e6d68f Implemented uncached access for files (untested though).
Uses a template class to provide generic access to the file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-12 16:29:46 +00:00
Axel Dörfler
6a2e071075 Fixed compilation (stupid me :-).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-11 21:41:12 +00:00
Axel Dörfler
beddff0f56 Replaced opendir.c with directory.c, implemented chdir(), fchdir(), and
getcwd().
Introduced new xyz(int fd, char *path, ...) style of functions for
sys_setcwd(), and sys_write_stat().
Added missing sys_fstat(). Removed duplicated prototypes in syscalls.h
Fixed some minor bugs.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 20:20:28 +00:00
Axel Dörfler
533bfa8744 Updated Jamfile to compile "bfs" rather than "befs"
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-08 01:34:27 +00:00
Axel Dörfler
40f7fd6cf3 Implemented the basics to allow uncached file access under BeOS.
This is needed for the VM swap file and if you want to mount disk images
located on the BFS volume.
There is now a BufferPool class that manages a pool of buffers, so that
Inode::ReadAt()/Inode::WriteAt() can access a file without having to use
the cache or malloc()/free().
The real uncached file access is not yet implemented, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-08 01:23:04 +00:00
Axel Dörfler
e57d105cfe Moved the befs/ directory and contents to bfs/ (hey, this is not linux :-).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-07 23:25:01 +00:00
Axel Dörfler
c42ee13401 Initial revision
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-07 23:14:13 +00:00
Axel Dörfler
f7bfd5f065 The '|' character didn't work (fixed by geist).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 07:09:37 +00:00
beveloper
08d3f7d47c Add user friendly debugging, and enable an external amplifier.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 22:16:23 +00:00
beveloper
01f8c701b9 removed volatile statements that should not be used with functions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-21 10:56:08 +00:00
beveloper
2d3138349f Installing an interrupt handler in init_hardware() without
removing it is bad. Other small changes, too.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-21 00:41:56 +00:00
David Reid
bcfd132286 Change to the way that interrupts are called. These now are the correct
calls for the recent changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 18:36:14 +00:00
David Reid
161de6e63c Add the ps2mouse.h header next to the code it deals with. It's not used
anywhere else...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 18:27:48 +00:00
David Reid
fd2ee3a598 Change to the interrupt handler return values.
Also, the style police have visited ps2mouse.c


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 16:02:58 +00:00
Tyler Dauwalder
2de17bd3e8 Ooops :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 01:09:06 +00:00
Tyler Dauwalder
aad997bd6c Finished migrating Storage Kit tests to new framework.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 01:03:19 +00:00
David Reid
1a615d2c90 Some tidy up for the drivers we now include and load.
- add api_version to keyboard and ps2mouse
- remove some excessive debugging comments from random
- add back the last 2 NULL's for the device_hooks structure now we
  actaully define them (iovec's are now available)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 12:13:24 +00:00
Ingo Weinhold
921de64350 Use R5KernelAddon instead of Addon.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-15 17:13:41 +00:00
Ingo Weinhold
58efc9d865 Renamed KernelAddon to R5KernelAddon to avoid confusion.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 17:31:49 +00:00
Ingo Weinhold
ca7ccc86cd Added compiling defines and debug flag. Now KernelAddon is used instead of Addon.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 16:40:01 +00:00
David Reid
fdb1688888 OK, add the new files this time! CVS is behaving strangely for me at the
moment :(


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 23:49:47 +00:00
David Reid
2bf4a34fc2 Add the keyboard and ps2mouse driver here as dveice drivers instead of having
them statically linked.
Adjust some of the headers for the Drivers change.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 23:49:04 +00:00
David Reid
2dcaf9a76a This may not be liked by some, but we do have archictecture dependancies on
some of our device drivers, and this should help keep them nicely
isolated from each other.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 23:46:20 +00:00
David Reid
fb8aa06112 Add a random/urandom driver (NB not yet working)
Add ibuild rules for Marcus's AC97 driver to the openbeos build, ithat
will allow it to be built for OpenBeOS. At present they don't work
due to missing headers, but aftre a succesful build this can be
uncommented and it will build and OpenBeOS will try to laod it.
This will provide a nice test case
as Marcus has provided the source! Thanks.
Added the null, zero & digit drivers here and they will be removed from
kernel/drivers

NB this has shown that drivers are not being handled correctly by
devfs. I would have tried to look at it but as it falls under the remit
of vfs I won't touch it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 19:19:30 +00:00
Ingo Weinhold
673398074f Added creation of a symlink from the driver bin dir to the "real" dir.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 18:48:28 +00:00
beveloper
9bd6befeb5 the publish_devices export in Drivers.h needs to be fixed, too.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 16:06:43 +00:00
beveloper
dc03e28f18 removed warnigs, spelling errors, added prototypes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 15:48:55 +00:00
beveloper
a967837dbf adding the ICH AC97 audio driver into the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 00:42:06 +00:00
beveloper
7e38b69c49 fix compiler warnings
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 00:39:37 +00:00
beveloper
af9bf37038 BeOS Sound Driver for Intel ICH AC'97 Link interface
Inital checkin of version 1.0, as published on BeBits.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@70 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 00:12:08 +00:00
Ingo Weinhold
1c2a7bcee4 Regardless of whether or not the dir is renamed to bfs, here is a Jamfile. It doesn't compile on my machine, but I remember having heard something about a Be header file missing a declaration.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@55 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 20:31:53 +00:00
ejakowatz
5f281ed502 Well, I couldn't go to bed without making *something* build ... ;)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 13:40:32 +00:00
ejakowatz
52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00