Commit Graph

2199 Commits

Author SHA1 Message Date
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
beveloper
6396865dcd added automatic media_addon_server launching and termination.
added detection of and cleanup after application crashes.
if the media_addon_server crashes, it will be restarted.
removed preleminary volume control functions.
removed unneeded media_server functions.
changed application registration to use port based messaging.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 01:28:23 +00:00
Ingo Weinhold
4ff6d49f35 Added setting of the variables for header and jamfile cache files and moved BuildConfig into build/.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 00:46:04 +00:00
Ingo Weinhold
7209d830c8 Moved BuildConfig into build/.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 00:43:42 +00:00
Ingo Weinhold
e5eae71c6a Ignore the cache files and BuildConfig.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 00:42:25 +00:00
Ingo Weinhold
3a361cfe8d Added jamfile caching.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 00:35:19 +00:00
Ingo Weinhold
05c57717ee Changed MAXLINE back to its original value.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 00:34:10 +00:00
Ingo Weinhold
d78319516e Removed superfluous search() in compile_on().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 00:30:51 +00:00
Ingo Weinhold
9079f971cf Added items for the recent changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 00:29:37 +00:00
Ingo Weinhold
9c0149e2c8 Added jamfile caching to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 00:28:20 +00:00
DarkWyrm
fe517480c3 More testing and fixes. Removed an attachment bug.
Port capacity checking a compile-time option.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-20 00:17:22 +00:00
Daniel Reinhold
ca60e89ab7 replaced syscall with find_thread(NULL) to obtain current thread id
currently, find_thread(NULL) also uses a syscall, but in the future,
this will be implemented as an efficient inline lookup in calling
thread's local storage


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-19 20:57:55 +00:00
beveloper
d55c9bd082 moved queue initialization into int_init2()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-19 11:53:41 +00:00
Stefano Ceccherini
9f83f86cbe some more tests which our implementation passes and r5 does not :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-19 08:24:13 +00:00
Daniel Reinhold
89feafabe5 fixed call to thread_get_current_thread_id()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-19 06:44:51 +00:00
Daniel Reinhold
690fa06644 restored SYSCALL_GET_CURRENT_THREAD_ID -- my mistake, it was fine as it was
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-19 05:51:13 +00:00
Michael Phipps
bc6600175c Mega changes. Using hash tables.
Many bug fixes
Some formatting changes.
Introduction of vnodeManager - to allow cached, opened and mmapped files to
work together in love, peace and harmony.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-19 04:05:16 +00:00
DarkWyrm
c773cf76b7 Added new FlushWithReply method. Mostly tested
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-19 00:31:58 +00:00
DarkWyrm
51c9c2f980 Added new FlushWithReply method and some error checking. Mostly tested.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-19 00:30:49 +00:00
jerl1
21731ccd09 Correct a bug that cause a deadlock when deleting BMidi class
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 15:47:31 +00:00
Stefano Ceccherini
769a895450 Corrected some inaccuracies imported from the BeOS headers:
CapitalizeEachWord() DOESN'T capitalize words separated by spaces, it
capitalizes words separated by non alphabethical  characters.
FindLast(char, int32) prototype was misleading.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 13:45:27 +00:00
Daniel Reinhold
d3aaf99b1e ok, the second time's a charm
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 07:47:53 +00:00
Daniel Reinhold
88a621e159 call to raise() un-commented now that raise() is implemented
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 07:45:26 +00:00
Daniel Reinhold
e8b75a376a sigset stuff added to the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 07:36:22 +00:00
Daniel Reinhold
f30083eaa8 initial checkin
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 07:35:55 +00:00
Daniel Reinhold
14bc22fb88 some cleanup and reorganization:
- the inline functions I introduced earlier have been removed
- the notes about non-Posix extensions to the sigaction struct have been
  updated, enlarged, and moved out of the way (near the bottom of the file)
- all the function prototypes have been collected and placed together
- a few more items have been commented
- in general, the organization of the whole file should be more tidy now (I hope)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 07:24:07 +00:00
ejakowatz
d546b00e22 Undid the oh-so-1337 utf_char_len "optimization" (which is not only slower,
but doesn't handle invalid UTF-8 strings correctly) in CountChars().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 03:47:48 +00:00
Daniel Reinhold
eb64dfc217 more functions added to the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 02:39:44 +00:00
Daniel Reinhold
ae130fe5c1 another one
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 02:33:38 +00:00
Daniel Reinhold
7f04740599 added sigaction()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 02:29:57 +00:00
Daniel Reinhold
274dff2fe0 added raise() and signal()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 02:24:28 +00:00
Daniel Reinhold
715f76df9e added sys_get_current_thread_id() -- for libroot compatibility
some minor rearrangement (sys_xxx() calls now placed together)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 02:04:57 +00:00
Daniel Reinhold
898852b6b5 fixed SYSCALL_GET_CURRENT_THREAD_ID (was calling a function that had been removed)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 02:00:38 +00:00
Daniel Reinhold
42bef465fa added sys_send_signal()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 01:58:00 +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
Ingo Weinhold
54b7cbe14d Now MergeObjectFromObjects adds grist to the to be merged objects.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 01:21:30 +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
Daniel Reinhold
68e8d1f65e libroot/posix/signal is back in the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-18 00:42:48 +00:00