Commit Graph

19266 Commits

Author SHA1 Message Date
Ingo Weinhold
9b54c9d1e3 Removed cache.h, lock.h, and fsproto.h. The copies in the userlandfs public
headers dir are used instead. Added missing <new> inclusion.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 21:50:31 +00:00
Jérôme Duval
52710d6211 fixed the build; I also changed MoveFrom(), untested
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 19:35:57 +00:00
Axel Dörfler
ca954b7816 Another work-in-progress towards having extra structures per mapping per page:
* vm_area and vm_page now have a new field "mappings" where they will store lists
  of vm_page_mapping structures. vm_page::ref_count is gone, as it's no longer
  needed (it was never updated correctly, anyway).
* vm_caches now have a type field, ie. CACHE_TYPE_RAM for anonymous areas - this
  makes the stores a bit less independent, but is quite handy in several places.
* Added new vm_map_page() and vm_unmap_pages() functions to be used whenever you
  map in or unmap pages into/from an area. They don't do much more than handling
  vm_page::wired_count correctly right now, though (ie. B_LAZY_LOCK is now working
  as expected as well).
* Moved the device fault handler to vm_map_physical_memory(); it was not really
  used as a fault handler, anyway.
* Didn't notice Ingo's changes to the I/O space region broke lock_memory(). It
  now checks the type of the area that contains the memory, and doesn't lock
  anymore if not needed which solves the problem in a platform independent way.
* Implemented lock_memory() and unlock_memory() for real: they now change the
  vm_page::wired_count member to identify pages that shouldn't be paged out.
* vm_area_for() now uses vm_area_lookup() internally.
* Fixed various potential overflow conditions with areas that reach 0xffffffff.
* Creating anonymous areas with B_FULL_LOCK no longer causes vm_soft_fault()
  to be called, instead, the pages are allocated and mapped (via vm_map_page())
  directly.
* Removed the _vm_ prefix for create_area_struct() and create_reserved_area_struct().
* Fixed a bug in vm_page_write_modified() that would not have enqueued pages that
  failed to be written to the modified queue again when needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 13:24:53 +00:00
Axel Dörfler
91f1fe44d2 It really should only have an fFirst member :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 11:31:19 +00:00
Axel Dörfler
5cd229a5a1 I accidently broke the build with some work-in-progress changes, this should fix it for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 11:04:55 +00:00
Axel Dörfler
c210cfeb9a Added a doubly linked queue that is similar to the list, but only has a pointer
to its header. Not yet used or tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 08:21:02 +00:00
Ingo Weinhold
ca6faf4958 * Adjusted BeOSKernelFileSystem and BeOSKernelVolume to Haiku's FS interface.
* Moved stuff need for the BeOS interface only into the beos_* namespace.
* Shuffled a few things around to reduce the block cache implementation
  dependencies. compat.h and sysdep.c are gone accordingly.
* The whole UserlandFSServer builds now and could (at least theorectically)
  drive a FS add-on implementing the old interface. The required emulation of
  the BeOS kernel is not yet provided, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 04:54:13 +00:00
Ingo Weinhold
8474904ee0 Adjusted the FileSystem, Volume, and UserlandRequestHandler to the new FS
interface. The classes actually interfacing with the client FS add-on still
need to be adjusted.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-27 23:27:27 +00:00
Axel Dörfler
583ed1c698 * Applied codestyle patch by Vasilis Kaoutsis (missing space between if/for and the
opening bracket) - thanks!
* Shuffled functions a bit around to separate static and exported functions.
* Some other cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-27 22:33:58 +00:00
Axel Dörfler
3eca858515 * Moved the early startup VM allocation functions from vm_page.c to vm.cpp.
* Renamed them, made everything static besides vm_allocate_early() (previous
  vm_alloc_from_kernel_args()) which now allows you to specify a different
  virtual than physical size, and therefore makes vm_alloc_virtual_from_kernel_args()
  superfluous (which isn't exported anymore, and is now called allocate_early_virtual()).
* Enabled printing a stack trace on serial output on team crash - it doesn't hurt
  for now, anyway.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-27 19:26:40 +00:00
Jérôme Duval
bb377cd514 fixing indenting style issues
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20243 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-27 00:31:31 +00:00
François Revol
641591259c typo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20242 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-27 00:27:23 +00:00
François Revol
769d863635 Link to libnetwork. simpler copat checking. more error repporting.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 23:05:53 +00:00
Axel Dörfler
63d6bf7ad8 * Applied patch by Jonas to have 32-bit icons in the mount and template menus
under Haiku. This fixes bug #1033. Thanks!
* Changed IconMenuItem sizing to use the same method as ModelMenuItem which
  makes sure the item is large enough for the icon, and which centers the icon
  in case the item is higher than the icon.
* Minor cleanup, added some comments about where those classes are used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 23:02:54 +00:00
Ingo Weinhold
5d3147f66a Class renaming:
UserFileSystem -> FileSystem
  UserVolume -> Volume
  KernelUserFileSystem -> BeOSKernelFileSystem
  KernelUserVolume -> BeOSKernelVolume

The BeOSKernel* classes are indeed intended to handle FS implementations
that use the (old) BeOS FS interface. We'll see how well that will work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20239 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 16:26:02 +00:00
Stefano Ceccherini
3834597b97 Another patch by Vasilis Kaoutsis: Replaced pointer use with a
BMessenger


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 16:18:44 +00:00
Ingo Weinhold
1546cbf149 Moved FileSystem class into the new Dispatcher subnamespace, so we can drop
the "User" part of the way more often used UserFileSystem and the other
classes that had it accordingly for consistency.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 16:00:45 +00:00
Niels Sascha Reedijk
9d54b14368 * Add documentation for BAutolock, BBlockCache and BList
* Finish up documentation for BString
* Trying to work a bit more on the structure.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 10:34:35 +00:00
Ingo Weinhold
b12d25d15d First walk through the userlandfs kernel add-on to port it to the Haiku
FS interface. Adjusted old hooks, but didn't add the new ones yet. The
module builds now at least.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 02:54:05 +00:00
Ingo Weinhold
b881d6401c B_VECTOR_ICON_TYPE is already defined for target libbe_test.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20234 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 02:48:58 +00:00
Ingo Weinhold
f7d29d339b Don't include the grist in libraries' sonames.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 02:47:12 +00:00
Ingo Weinhold
c2f0ee7a7b Don't send B_ENTRY_MOVED messages twice, if fromDirectory == toDirectory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 00:57:45 +00:00
Marcus Overhagen
a090257d09 Add volatile keyword to apic memory access, cleanup, add timeout to arch_smp_send_ici.
But this still doesn't help with bug #1018...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-25 23:32:21 +00:00
Ingo Weinhold
61381bf71d The kind of comment that saves you half an hour of brooding if you, for some
reason, don't see the obvious. Well, or doesn't if absent...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-25 20:07:14 +00:00
Oliver Tappe
07628e25b1 * changed to use TARGET_CC instead of host as.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-25 15:47:10 +00:00
Travis Geiselbrecht
6e2615e2d1 When building binutils, build without -Werror. This was causing failures on my linux box due to silly warnings in binutils code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20227 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-25 07:06:43 +00:00
Ingo Weinhold
1fbe3ccd4e * Reformatted to honor 80 chars/line limit.
* Renamed a few parameters of the FS module hooks:
  - *file in the attribute functions to *vnode
  - v to vnode
  - I could barely restrain myself from renaming the "_*" parameters. I
    understand this marks return parameters, but I'd prefer a nicer prefix
    or suffix (that doesn't makes you think this is a private/internal
    identifier) like "out", "ret", "return", "result", or something similar.

I'd also like to propose renaming {read,write}_link() to
{read,write}_symlink(). Er, and do we need write_link() at all?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 23:05:18 +00:00
Ingo Weinhold
1d0429efd9 Added --ignore-attributes option to cp.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 17:21:46 +00:00
Ingo Weinhold
f7100fce9b Fixed BDirectory::Contains() test comments and checks for existing entry
uninitialized/badly initialized BDirectory cases.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 16:34:34 +00:00
Axel Dörfler
ed518e4b22 Fixed "cp" (and "mv") leaking file descriptors like crazy when copying attributes, thanks to Ingo for noticing this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 15:26:02 +00:00
Ingo Weinhold
0b9da247dc Intermediate check-in. I've decided I rather want to use Pe instead of
Kate for this job. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20222 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 15:01:34 +00:00
Axel Dörfler
d8de23cd1e BDirectory::Contains() would return "true" if the entry being tested for existed,
but the BDirectory was not initialized correctly. Thanks to Jonas who also provided
a patch for this (which I didn't use directly, though, for some minor reasons).
This fixes bug #1034.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 05:43:16 +00:00
DarkWyrm
36fbdbb149 Added Appearance to the image and removed Devices
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 02:05:58 +00:00
DarkWyrm
5605e701d7 Added a menu to allow the user to choose the decorator. Untested, but theoretically working. I'll be content with the user being able pick a decorator and tweak system colors for R1.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 02:03:08 +00:00
DarkWyrm
9439d163d4 Correction to buildfile for linking against the app_server
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 01:53:37 +00:00
Ingo Weinhold
d5e355eed3 Ignore everything that starts with "generated", so people with several
output directories, like... uh... me, can rejoice. ;-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 00:35:27 +00:00
Ingo Weinhold
83812f6752 Copied userlandfs code from the test tree to the haiku source tree,
where it will be ported to Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 00:30:19 +00:00
DarkWyrm
d5e020e912 Decorator looks *much* more like R5. Thanks to Thomas Winwood for the patch. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 23:44:29 +00:00
DarkWyrm
fa73ff0d14 Moved the decorator function declarations into DecorManager (which is the only place which uses them) to allow add-on decorators to build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 23:35:01 +00:00
DarkWyrm
ff78e73c3b Unbroke the classic R5 decorator and updated sources to match the sources for DefaultDecorator before applying changes for its looks
Sweet cracker sandwich! I actually figured out something for a Jamfile on my own -- it took a while to figure out how to link against the app_server. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 23:34:06 +00:00
Ingo Weinhold
24f10d18b1 Added missing B_ATOM_TYPE AND B_ATOMREF_TYPE.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 23:16:31 +00:00
Ingo Weinhold
eef478cd20 Solved a name clash for the poor souls using Windows.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 20:17:48 +00:00
Jérôme Duval
695174cbdd avoids invalidating when the text doesn't change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 20:04:57 +00:00
François Revol
d436e544a4 Some fixes for the Haiku version... it's working!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 16:43:29 +00:00
Niels Sascha Reedijk
9662cf00d7 Remove useless file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20208 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 15:29:33 +00:00
Ingo Weinhold
b9a1530f6d Some renaming.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 02:19:41 +00:00
Ingo Weinhold
e0f723a9e1 Obsolete file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 02:11:10 +00:00
Ingo Weinhold
36ca5d166c Squashed a few minor TODOs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 02:10:51 +00:00
Ingo Weinhold
e696418178 * Split the Node references and referrers concepts. One can now have a
reference without being a referring entry.
* Reworked entry renaming. We do now remove the original entry first and
  then create a target entry. Renaming directories didn't work before since
  there would temporarily have been two links to a directory, which is not
  allowed. Replacing an entry was also broken: The original entry was not
  removed. Due to reversing the entry creation/deletion order we also do no
  longer suffer from the Tracker bug, that entries would disappear from
  queries when being renamed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 01:01:26 +00:00
Ingo Weinhold
0d427dec46 * Missing locking initialization in Volume::Mount().
* Added missing locking in the query hooks.
* Added live query support similarly as done in BFS:
  - Volume manages a doubly-linked list of live queries.
  - Volume::UpdateLiveQueries() invoked from several places where it makes
    sense (standard indices, Attribute::WriteAt(), and
    BVolume::NodeAttributeRemoved()) notifies the live Query objects.
  - Adjusted Query to be able to deal with hard links. Unfortunately Tracker
    is a bit broken with respect to hard links, particularly in the query
    windows. E.g. only one entry referring to a node is shown, and the renaming
    method RamFS uses (link new entry, then unlink old one) causes renamed
    entries to fall out of queries, even if they should still be in.
    (Want a bug report for this, Axel? :-P)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-22 23:30:39 +00:00