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
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
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
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
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
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
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
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
- 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
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
$ 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
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
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
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
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
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
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
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
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
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
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
- 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
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
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
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
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
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
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
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
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
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
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