Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler d5bb31991f Checked one of Marcus' comments in int.c, and changed the list initialization
to use the newly provided function for this.
module.c now also uses the initque() function, some minor cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-17 01:38:35 +00:00
Axel Dörfler ab25550f8e Added a initque() inline function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-17 01:35:01 +00:00
Axel Dörfler 0fe40cc315 Added the time module to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-16 17:47:34 +00:00
Axel Dörfler d3243d719b Added an empty time() implementation (just returns zero) to let the kernel
build again.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-16 17:43:28 +00:00
Axel Dörfler 6c45733119 The traps of copy & paste - this time it should really work...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-15 22:52:49 +00:00
Axel Dörfler 90b31eb333 Before starting to implement a function, you should know what to do ;-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-15 22:48:14 +00:00
Axel Dörfler 0dd93a6eb7 Implemented utime().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-15 22:44:08 +00:00
Axel Dörfler 2935bff656 Added utime.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-15 22:34:27 +00:00
Axel Dörfler 2a86e17450 Added a missing "lock" in atomic_set().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-14 01:05:28 +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
Axel Dörfler cd3ea5f216 vnode_path_to_vnode() now correctly asks for access permissions when traversing
the directory tree.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-11 12:14:19 +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 9616fa5dfd Added a test for the BufferPool class.
Began to move the tests directory to bfs/ instead of befs/.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-09 02:08:54 +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
Axel Dörfler 64d41f033f (Almost) completely rearranged the kernel build; main issues aren't fixed
yet, but the jam problem is gone and some bugs fixed.
We are now using merged objects to bind different functionality together,
which simplified the kernel Jamfile a lot.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-04 19:06:44 +00:00
Axel Dörfler 807212446d Added new rules MergeObject, MergeObjectFromObjects, and KernelMergeObject.
Fixed the syntax comment in KernelLd.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-04 18:52:21 +00:00
Axel Dörfler e729eba84d Merged several object files together - there are now posix_xxx.o and
kernel_posix_xxx.o, where xxx stands for stdio/stdlib/unistd/...
sleep.c and usleep.c no longer reference sys_() calls directly, but
call the OS functions instead (snooze_until(), and system_time()).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-04 18:49:49 +00:00
Axel Dörfler 66ebd69087 Added select.c to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-03 17:39:33 +00:00
Axel Dörfler 02e25990ee Add poll.c to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-03 17:39:10 +00:00
Axel Dörfler c852811405 Added syscalls for select/poll.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-03 03:23:50 +00:00
Axel Dörfler ed622838f5 Moved the select/poll implementation into its own file (vfs_select.c).
Fixed some minor a larger issues (one memory corruption due to the use of FD_ZERO()).
notify_select_event() is no longer binary compatible (hasn't been used on R5).
Added syscalls for select/poll in the syscall dispatcher.
Fixed some debug output in fd.c, adapted for the new notify_select_event()
call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-03 03:19:34 +00:00
Axel Dörfler 5ef7716d48 Added a missing const to the (sys|user)_select() call.
Broke binary compatibility for the notify_select_event(), since it obviously
hasn't been used on R5 at all.
The new API/implementation is much nicer to use.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-03 03:14:05 +00:00
Axel Dörfler 339b7d7547 Our libroot.so starts to be too big for jam... (until that is fixed, we
need this patch in place to keep the thing building).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-03 02:16:39 +00:00
Axel Dörfler 90b544f75f Forgot to remove the const from the strerror implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-02 02:52:56 +00:00
Axel Dörfler b612edb0d7 Added a simple select() and poll() test application - it's not yet added
to the build because I still need to look into those build issues...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-01 03:03:12 +00:00
Axel Dörfler 350117ec51 Removed the "const" in the return value of strerror() to be POSIX compliant.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-01 02:58:34 +00:00
Axel Dörfler e7825532f5 Fixed a small possible bug in the R5 select() implementation for the net kit.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 03:44:52 +00:00
Axel Dörfler dbf1da160b Userland implementations for select(), pselect(), and poll().
Not yet added to the build because other stuff is missing, and there is
a problem with jam I have to sort out before I add the missing things.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 02:33:16 +00:00
Axel Dörfler 7ed765a7f9 Added syscalls for select(), and poll().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 02:29:05 +00:00
Axel Dörfler 2dc3fee59d Nicer parameter names in sys/select.h.
Added a comment in sys/time.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 02:28:09 +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
Axel Dörfler 41691b996a Replaced kmalloc(), kfree(), and kstrdup() with the POSIX equivalents.
Implemented realloc().
Adapted all other sources, some minor cleanups in some files as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 23:07:06 +00:00
Axel Dörfler f2e04b5fa6 Removed the kmalloc(), kfree(), and kstrdup() prototypes.
You now need to include malloc.h (or stdlib.h) and use malloc(), free(),
and strdup().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 23:03:47 +00:00
Axel Dörfler 3275af4352 Uncomment fClean variable to get the header binary compatible with R5.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 18:50:06 +00:00
Axel Dörfler d3ed67d76c Removed BStringItem class from ListItem.h.
Fixed the StringItem.h header to be compatible with BeOS.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 18:41:51 +00:00
Axel Dörfler 1c1ff60b97 Copied over the ListItem.h header with the original one for now (the old
one wasn't compatible and written in a strange style).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 18:38:31 +00:00
Axel Dörfler b2d5d0de15 Completely replaced the ListView.h header - the old one wasn't compatible
with Be's and in a strange style.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 18:36:30 +00:00
Axel Dörfler 4a2e58074d select_info had the wrong size (uint8 instead of uint16).
Corrected POLLNVAL handling.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 05:41:10 +00:00
Axel Dörfler b9db114e51 The pollfd fields events & revents had the wrong size (int instead of short).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 05:39:54 +00:00
Axel Dörfler c4943b79fe Forget to free the data allocated in common_select(), and common_poll()...
Changed the header guard in vfs_select.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 04:21:22 +00:00
Axel Dörfler 1e7eb4c232 Some style cleanups in khash.c - I just realized that we have two different
hash implementations in that file... we should really remove one of them.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 04:03:13 +00:00
Axel Dörfler 58ec046735 Added support for select(), and poll().
Not yet tested.
Moved the CHECK_USER_ADDRESS() macro from vfs.c to kernel.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 03:54:07 +00:00
Axel Dörfler a2cbc788e0 Adds support for select(), and poll() in the kernel - both are realized
using the current BeOS device API.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 03:49:57 +00:00
Axel Dörfler 88fae79de6 Moved queue functionality out of module.c and into kqueue.h.
Changed module.c and int.c to use that one.
Some minor cleanups in module.c.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 03:42:40 +00:00
Axel Dörfler b026d723ba Made the POLLxxx constants compatible with the ones used internally in
the VFS - BeOS don't have poll() at all, so we can freely choose them.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 03:36:14 +00:00
Axel Dörfler 8f3a4e7dd4 Cleaned up kernel.h; the insque(), remque() functions are now in a separate
header kqueue.h - together with their implementation which was in module.c
Added a new CHECK_USER_ADDRESS() macro that can be used to check if a
user address points into the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 03:31:57 +00:00
Axel Dörfler 03360f3bb7 Added our versions of BeOS compatible sys/timeb.h, and sys/times.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 00:46:31 +00:00
Axel Dörfler f93086c8b2 Completed the poll.h header file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-28 18:46:30 +00:00
Axel Dörfler f647a9d57c Added struct timespec, and struct itimerspec to time.h.
Added missing typedefs (suseconds_t, useconds_t).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-28 18:36:26 +00:00
Axel Dörfler d068515fcb Completed sys/select.h, renamed the howmany() macro to _howmany() - now
also contains the pselect() prototype.
Added new header file sys/time.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-28 18:34:45 +00:00
Axel Dörfler 493130b326 Fixed and cleaned up select.h.
Exports now the prototype correctly in C++.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-28 17:49:41 +00:00
Axel Dörfler a691828008 A slight collision of StringItem.h with our coding style guidelines...
(and fixed newline at the end of the file).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-28 01:38:57 +00:00
Axel Dörfler a86569deee There were two positions where I had to change those values. %lld and %Ld
should now finally work (thanks to Marcus).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:59:16 +00:00
Axel Dörfler 4d78ef5224 Added %Ld to vfscanf() as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:52:17 +00:00
Axel Dörfler 38903f032b Fixed %Ld handling to be int64 as it is on BeOS.
%lld is now int64 as well.
Cleaned up a little bit (removed K&R style prototypes).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:48:50 +00:00
Axel Dörfler a3b20c0fa9 Added a locale.h header file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:35:43 +00:00
Axel Dörfler 0f1aeae76c Added inttypes.h (includes stuff like int8_t typedef), but it's not complete;
the strtoimax() functions and friends are missing.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:35:08 +00:00
Axel Dörfler 13bbbc9ac4 Add strtod.c to the build (from FreeBSD).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1668 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:33:09 +00:00
Axel Dörfler 65ea9e24b5 Accidently removed linkhack.so from the build in the previous commit.
Added strto[u]l[l] functions to the build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:13:27 +00:00
Axel Dörfler 25c7a73eed Fixed vfscanf() which needed strtoq(), and strtouq().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:10:49 +00:00
Axel Dörfler deab46426d Added implementation for strtol(), strtoul(), strtoll(), strtoull() from
FreeBSD sources.
Added llabs() (and a newline at the end of the file).
Fixed qsort.c and removed the unneeded FreeBSD header - min() wasn't declared.
Added the string conversion stuff to the build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:09:39 +00:00
Axel Dörfler 88222a7539 "template" is obviously a reserved word in C++...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 00:06:00 +00:00
Axel Dörfler a8cd036239 Removed strtoq()/strtouq() from the build (both are deprecated functions, and
not available in BeOS, so there is no reason to add them).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-25 22:45:23 +00:00
Axel Dörfler 617c98ba68 Made stdlib.h almost compatible to BeOS.
Removed deprecated strtoq() functions (they are not even part of BeOS, so
why should we include this cruft?).
Added prototypes for llabs(), and lldiv() - added lldiv_t to div_t.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-25 22:02:50 +00:00
Axel Dörfler 5e4caf1e35 included missing header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 16:06:53 +00:00
Axel Dörfler 56d2067885 Added a simple malloc.h - doesn't contain all the rare BeOS stuff, though.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 15:51:19 +00:00
Axel Dörfler 2b9d5ff6c2 Some changes for an independent header system - added missing function
prototypes (and those commented out), to keep the whole project be compilable
and usable on BeOS.
Fixed a bug in fcntl.h (definition for O_DIRECT), added new O_MOUNT.
Added prototypes and "struct tm" to time.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 15:27:44 +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
Axel Dörfler 28c9a687e6 Added forgotten os/time.o, stdio/fseek.o, and stdio/rewind.o to the build.
Implemented index syscall functions in VFS.
Added fs_index.c to the build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 19:34:09 +00:00
Axel Dörfler 64b00573d2 Added implementation of the functions in fs_index.h.
Commented system_time() in time.c - it's already implemented in atomic.S (not
that it would belong there).
Fixed linking of rewind.c
Added syscalls for the index functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 19:30:59 +00:00
Axel Dörfler b7c42fadf7 Fixed fd lead in opendir() and set errno correctly if memory is out.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 19:27:03 +00:00
Axel Dörfler 69b81fcc90 Fixes the not POSIX style return codes - fs_*() functions return -1 and set
errno if an error occurs; they don't return the error status directly.
Also fixed a fd leak in fs_open_attr_dir().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 19:22:04 +00:00
Axel Dörfler 146a3000ee Added syscalls for the index functions.
Corrected the prototype for fs_rewind_index_dir() (don't copy and paste...)
Also checked in the syscall definitions for the signal stuff to save Angelo
some work.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 18:52:04 +00:00
Axel Dörfler 1f87d2b261 Changed parameter type in create_index().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 16:45:40 +00:00
Axel Dörfler f4e51a2dfb Added a new write_stat() call to the file descriptor operations (plus syscall).
Renamed sys_read_stat() to sys_read_path_stat() - sys_read_stat() is now
the fd operation (same for the corresponding write call).
Removed the sys_write_attr_stat() call because it is no longer needed.
Added stat(), fstat(), and other POSIX calls to the kernel - many are still
missing (mainly from stdio).
Added symbols (but no implementation) for unistd.h's process id functions.
Adapted libroot calls that used sys_read_stat() before to the new architecture.
module.c and bus_man.c now use stat() directly instead of the sys_read_path_stat()
call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 03:09:25 +00:00
Axel Dörfler 8e5ca65bc9 Added a new write_stat() call to the file descriptor operations.
Renamed sys_read_stat() to sys_read_path_stat() - sys_read_stat() is now
the fd operation.
Removed the sys_write_attr_stat() call because it is no longer needed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 03:04:19 +00:00
Axel Dörfler b67f11173f Added syscalls for the attribute VFS calls.
Made some subtle changes to fs_attr.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-16 16:17:28 +00:00
Axel Dörfler f6fabd1b6d Added syscalls for the attribute functions and fs_attr.c to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-16 16:14:49 +00:00
Axel Dörfler b4dabf6063 Implemented all calls in fs_attr.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-16 16:14:14 +00:00
Axel Dörfler 4544e733cd Removed the debugging stuff I added to vm_page.c - things should now be
much smoother again... :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-14 01:45:15 +00:00
Axel Dörfler ef77a305f8 vm.c: Added user_strlcpy() (and the implementation in arch_cpu_user_strlcpy())
which is now used thorough the VFS code instead of user_strncpy().
fd.c: Replaced some return codes.
vfs.c: joined attr_dir_open(), and attr_dir_open_fd(), added sys_/user_
calls to access attributes, and attribute directory.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-08 03:24:51 +00:00
Axel Dörfler 11fe0cb8de Added prototypes for the sys_/user_ attribute calls.
Changed the file_descriptor structure (more status_t, name removed).
Changed "extern inline" to "static inline" in thread.h/arch_thread.h as those
also work with -O0 -g.
Added prototypes for [arch_cpu_]user_strlcpy().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-08 03:19:57 +00:00
Axel Dörfler edef81d01c Fixed a compilation bug, dunno why this got through...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-08 03:06:55 +00:00
Axel Dörfler bc9fd4cc49 Removed the stupid debug output I accidently commited, and replaced them
with something useful.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-08 01:14:44 +00:00
Axel Dörfler f7d5ad8c90 Moved seek functionality from the fs to the vfs.
Renamed read_page/write_page to read_pages()/write_pages()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-08 00:42:17 +00:00
Axel Dörfler a03cb82272 Added a field to track the file position to struct file_descriptor
(seek() moved from the fs to the vfs).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-08 00:11:10 +00:00
Axel Dörfler 123b5d67ad Moved the seek() functionality back to the VFS.
Renamed read_pages(), and write_pages() to make it more clear.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-07 23:37:05 +00:00
Axel Dörfler c01214de27 Removed the debug output that was accidently added by the last commit.
Included NewOS change 1656 (O_CLOEXEC support, and a bug fix in get_vnode()).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-07 15:31:40 +00:00