Commit Graph
16866 Commits
Author SHA1 Message Date
Axel Dörfler 826e857cf0 Implemented hash_remove_current() which removes the current iterator position
from the hash - not yet tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 21:18:49 +00:00
Ingo Weinhold 824e907a2c Added Haiku block cache interface to the UserlandFS server. Basically
copied and adjusted the respective kernel code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 15:04:53 +00:00
Ingo Weinhold 9781d591cb Include <util/kernel_cpp.h> in DoublyLinkedList.h only when compiling
for the kernel. Added missing includes in userland code that uses the
header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 13:56:45 +00:00
Ingo Weinhold e1555e1fdf get_cached_block(): Remove the newly allocated block from the
hashtable in case of a read error (NewBlock() also adds the block,
but FreeBlock() only frees it).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 13:51:18 +00:00
Axel Dörfler 6e601ee88f get_memory_map() now panics (and fails) in case it was called on unmapped memory as
suggested by Ingo; before it would just fill the physical pages with NULL pointers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 13:27:42 +00:00
Axel Dörfler b5937fc6e6 The Message-Id field now gets a default hostname added in case there is none set in the system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-10 12:33:33 +00:00
Ingo Weinhold bf4604c363 Fixed incorrect loop conditions in [un]lock_memory(). If the given
start address wasn't aligned and numBytes was a multiple of the page
size, the last page was ignored. A subsequent get_memory_map() would
return NULL as physical address for that page, if it hadn't been mapped
before (that function looks generally suspicious, IMHO). E.g. reads from a
device into an unaligned buffer that hadn't been touched before would
hit that problem. Fixes bug #1075. Might also fix other reported
problems (like #1056), since this bug could have cause all kinds of weird
behavior and crashes. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-09 21:40:56 +00:00
François Revol 75d00d2451 It should now list and instanciate devices correctly... but doesn't work yet :-(
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-09 15:43:41 +00:00
François Revol 07005d6f95 implement a recursive scanning of /dev/audio/old/ to find devices. Untested yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-08 19:28:17 +00:00
Marcus Overhagen ce8185b383 cleanup & disabled most debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-08 17:40:40 +00:00
Axel Dörfler 1594e83f84 * All mapped pages that are not wired (ie. locked) now have a vm_page_mapping object
that points to both, the page and the area the page is in. This will allow a page
  scanner to steal unused pages when necessary.
* The locking is currently done with a spinlock which we might want to have another
  look at one day.
* dump_page() and dump_area_struct() now dump the page mappings as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-08 14:35:26 +00:00
Axel Dörfler 1d4134cb51 Added Euan Kirkhope to the list of contributors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-08 13:10:09 +00:00
DarkWyrm 7ef397d30c Hopefully this fixes bug #1084. Untested because of bug #1035
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 21:48:20 +00:00
Ingo Weinhold cdf5f77bab HaikuSubInclude in action.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 16:02:16 +00:00
Ingo Weinhold 446ce41f36 Build RamFS for the Haiku kernel. Seems to work fine. Also fixed some
warnings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 08:09:27 +00:00
Ingo Weinhold 3fd2e5ccb4 r20337 broke the bfs_shell build (at least on Linux). Scary hack to fix
it which shouldn't break the R5 build again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 08:02:32 +00:00
Ingo Weinhold 4bf052db56 Removed dummy strtod().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 07:19:27 +00:00
Ingo Weinhold 1822f5ecbc Added strtod() and localeconv() to the kernel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 07:18:51 +00:00
Ingo Weinhold aa6ebf59e0 Reorganized so that both the BeOS and Haiku FS interface of RamFS can be
built for UserlandFS. The latter appears to be working fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 06:46:12 +00:00
Ingo Weinhold c7a7242307 *sigh* svn really messed it up. I supposed one should make sure to run
update on the directory to be copied before doing it, even if it is up
to date.

Anyway: Ported RamFS to Haiku's FS interface. Change set apparently merged
with older changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 06:40:25 +00:00
Ingo Weinhold 224e7c4269 Mmh, apparently I have to check the copied directory itself in first.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 06:22:18 +00:00
Ingo Weinhold 4b997aa15a Ugh! Tested the value of the symlink() symbol instead of the symLink
parameter. Spotted by gcc4. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 06:12:57 +00:00
Ingo Weinhold 7b4b242d27 Incorrectly set uid instead of gid.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 06:10:27 +00:00
Ingo Weinhold 1716d266c5 The read_attr_stat()/write_attr_stat() capabilities were not correctly
set.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 06:08:48 +00:00
Ingo Weinhold 5b89b67d95 Added missing module initialization/uninitialization.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-06 07:52:24 +00:00
Ingo Weinhold 4ed322c66e * Added support for interfacing with Haiku style FS modules (yet
untested).
* Added library with the relevant part of the Haiku kernel interface.
  The cache interface is missing, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-06 02:39:34 +00:00
Axel Dörfler 863634b83f Patch by Euan Kirkhope:
* Initial support for Rage Theatre 200.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 21:16:15 +00:00
Axel Dörfler 0dd99544d0 Build fix for r20329 - the R5 version of BFS did not include a send_notification() prototype (and still doesn't include notify_listener(), which should be fixed at some point, too).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 18:22:40 +00:00
Axel Dörfler 76b5213f47 Patch by Euan Kirkhope:
* Use AGP Bus manager module
* Fixed wrong framebuffer address computation; this should fix bug #1079.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 17:06:27 +00:00
Stefano Ceccherini 96d6092ef6 Re-enabled wait_for_thread() (in place of kill_thread()) inside
TermParse's destructor. PtyReader() was hanging on read(), since the 
fd was never closed. Now we do that in ~TermWindow() (for now, we might 
want to move some stuff around). Moved there the cleanup code too (from 
TermWindow::Quit()). Use B_QUIT_ON_WINDOW_CLOSE flag instead of sending 
a message to be_app in Quit().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 14:59:37 +00:00
Stefano Ceccherini ff2184e07d temporary reverted to using kill_thread because of a deadlock on quit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 13:14:12 +00:00
Stefano Ceccherini 63dc9cc262 Got rid of the global gPfd variable. Big time cleanup, made TermParse a
bit more robust with error checks and likes. Removed unused 
TermPrint.cpp file. I hope I didn't get on your 
way, Vasilis :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 12:48:36 +00:00
Gerasim Troeglazov 570ab00aa7 Fixed bug in fs_readdir function. Removed read-only assembling mode. Added settings file for addon tweaking: hide_sys_files, read_only, no_atime.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 07:01:21 +00:00
Ingo Weinhold 4e0e80ed6c We analyze a client FS's capabilities -- i.e. which hooks it provides or
can be emulated -- and pass this info to the kernel add-on. Thus we can
avoid passing requests to the userland that can't be serviced anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 05:16:08 +00:00
Ingo Weinhold cf4ccd6575 Renamed the FS interface hook read_link() to read_symlink().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 03:52:57 +00:00
Ingo Weinhold 12d359b85a * Removed write_link from the FS module interface. Adjusted all FS
add-ons accordingly and removed the syscall.
* Removed send_notification().
* Reimplemented notify_listener(). It used the unimplemented
  send_notification(). Now it has a chance to work. Note that
  notify_listener() is obsolete. I would already have removed it, if
  there weren't lots of FS implementations still using it (Hint!).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 00:46:57 +00:00
Ingo Weinhold 5a5aacca23 Added a level of indirection in the FileSystem management
(FileSystemInitializer). This will allow for subclassing FileSystem
later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-04 23:11:02 +00:00
Ingo Weinhold fd7339329f Not needed anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-04 21:48:55 +00:00
Stefano Ceccherini bb11b61bee Patch by Vasilis Kaoutsis:
* Use a BMessenger instead of a BWindow pointer
* Removed an useless SetTitle() call
* Lock the window before quitting it
* Style changes and cleanups


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-04 21:06:51 +00:00
Ingo Weinhold aa46234e72 Made ReiserFS code gcc 4 friendly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-04 09:18:55 +00:00
Ingo Weinhold 1ac141b1f8 Made RamFS code gcc4 friendly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-04 09:02:12 +00:00
Ingo Weinhold 6aeea78c6e Made the UserlandFS code gcc4 friendly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-04 08:26:45 +00:00
Ingo Weinhold eb9b19800b Fixed gcc 4(.1.2) build problems.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-04 05:00:40 +00:00
François Revol 3a7a88e4bc Display codec name, some more fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-03 16:49:51 +00:00
Jérôme Duval 96303159b3 fixing indenting style issues
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-03 15:26:57 +00:00
Jérôme Duval 5cb9bf4bbb gcc4 complains a lot of these #undef followed by values ...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-03 13:20:26 +00:00
Ingo Weinhold 2660a88261 We don't need ufs_mount anymore. One can simply use mount:
mount -t userlandfs -p "<client FS> <client FS params>" ...

The parameters may change later in order to become a proper driver
settings string.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-03 10:26:35 +00:00
Gerasim Troeglazov 6a15f740b9 Some code and style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-03 06:59:35 +00:00
Ingo Weinhold 348be5b50b * Introduced the new static lock sVnodeCoveredByMutex to guard the
vnode::covered_by fields. Together with sMountOpLock it allows write
  access, either lock alone suffices for read access. Before
  sMountOpLock had to be acquired for read (and write) access, which
  meant that while mounting/unmounting a FS path resolution would have
  to wait. In case of the UserlandFS this would even cause a deadlock
  while mounting if the client tried to resolve the path of the device
  to be mounted (e.g. by opening it).
* Added a clarifying comment about read access to the
  fs_mount::covers_vnode/root_vnode field and removed locking in
  resolve_volume_root_to_mount_point() which was not necessary for
  explained reasons.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-03 02:42:36 +00:00
Ingo Weinhold bb7ddc43d3 Fixed two query bugs:
* For B_EQUALS queries the first match would be skipped.
* Exact entry name matches were broken, since the used NameIndex::Find()
  expected null-terminated keys with the \0 included in the key length
  while it was fed only the raw string length.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-02 11:18:14 +00:00