Commit Graph

31345 Commits

Author SHA1 Message Date
Joachim Seemer
12d97bd372 * Added DriveSetup documentation. What came with my last commit wasn't actually
intended to be committed... :)

+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-05 12:40:08 +00:00
Michael Lotz
9ae89b8373 * Implement attribute support in write_overlay. It mostly uses the same backends
as the other node operations.
* Differentiate between data and metadata modification, so that changes to
  attributes or stat fields (other than size) dont't prevent direct IO relay.
* Suppress child finish notifications when sending subrequests to the
  underlaying filesystem. Otherwise the request can be gone by the time we
  try to complete it.
* Fix offsets used for IORequest::CopyData().
* Some refactoring.
* Added locking.

With that a write_overlay can be put on attribute enabled filesystems to either
make them writeable or snapshot them. This allows for example for a working
BFS based LiveCD.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-05 01:54:40 +00:00
Michael Lotz
c39414002f Give an IORequest user the possibility to suppress child finish notifications.
This allows for synchronous uses where subrequests are forked off and waited on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-05 01:16:56 +00:00
Michael Lotz
c24f6c7b06 When deleting all subrequests the pending children count should probably be
reset as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-05 00:26:29 +00:00
Ryan Leavengood
7c870e9af5 These are the remaining changes to properly implement the new default of volume
space bars being on. Thanks for the tips Axel.

+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-04 21:02:56 +00:00
Rudolf Cornelissen
be913753e7 added a bit of extra programming for NV44 and G7x making sure the DAC(s) is(are) enabled. Bumped version to 0.99. +alphabranch.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-04 18:19:10 +00:00
Stefano Ceccherini
3ecf187e2a Made MenuWindow::GetSteps() const.
Increased the scrollers size from 10 to 12, since at high resolutions,
they're really too small.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-04 18:16:59 +00:00
Axel Dörfler
6d1755ba92 * Removed locale kit leftovers from the build. This closes ticket #4386.
+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-04 10:50:38 +00:00
Michael Lotz
60a981fbbe When a focus locked window is hidden, we need to remove the focus lock.
Otherwise the focus cannot be changed to another window. In one case this could
have a severe sideeffect: When a window is quit it is hidden to remove focus and
remove it from screen. If this didn't work due to the focus lock, the fFocus
member would become a stale pointer after the window was quit and deleted. The
app_server would crash or corrupt memory on the next focus change. Easily seen
when moderately quickly clicking away a few alert windows.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-04 03:51:15 +00:00
Bruno G. Albuquerque
ccc2cf7f03 - When the associated people file is deleted, close the window instead of
reseting it.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-03 22:59:57 +00:00
Michael Lotz
edb6254810 When an app is going down and the windows are destroyed, all views are detached.
On detaching the views remove themselves from the app local token space. Since
the ServerApp only waits for all ServerWindows to be removed from the window
list and not for their actual destruction, it can happen that the ServerApp is
deleted before the window destruction and hence the view detaching has finished.
The views would then access a stale ServerApp pointer and try to remove their
token from the deleted token space. To avoid that we set the ServerApp pointer
to NULL when the window is removed from the app (as after that the app can be
gone any time) and check for that case when detaching.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-03 22:56:30 +00:00
Bruno G. Albuquerque
86e78dfaad - Classes with virtual methods should have virtual destructors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-03 22:48:54 +00:00
Ryan Leavengood
9e59c0f7b9 Fix #4407 by making the volume space bars on by default.
+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-03 21:31:12 +00:00
Jérôme Duval
e21d12516e the flag means no snoop
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-03 21:21:13 +00:00
Stefano Ceccherini
96f041c56c Also scroll by a small step, when using the menuscrollers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-03 21:19:35 +00:00
Michael Pfeiffer
0651c859cf In OS X 10.6 diskutil returns an error for ".". Now pass the absolute path of the current working directory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-03 16:25:23 +00:00
François Revol
5548f2b27f Patch by Marcus Overhagen,
- check if we need to enable interrupts,
- always trace old/new cmd.
-alphabranch for now, needs testing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-03 12:37:45 +00:00
Stephan Aßmus
7f7a624ee3 Patch by scottmc:
* Updated Pe package
* Updated subversion package (using  ~/config/settings/subversion instead of
  ~/.subversion)
* Corrected APR dependencies

Test pending. Thanks a lot!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-03 10:22:59 +00:00
Stephan Aßmus
2d304daf77 Ignore some more entries from the bootable CD. Should fix ticket #4403, test
pending.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-03 08:54:41 +00:00
Michael Lotz
98f77afdb7 We need to notify the request also in the error case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-03 05:41:53 +00:00
Michael Lotz
230153f133 Reset the error variable to B_OK in case we want to continue after allocating
only some sub requests worked. Previously we would have simply canceled all
of the subrequests in the loop because we cancel after the first error.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-03 05:40:06 +00:00
Michael Lotz
b2350565ba Fix two problems in devfs_io:
* An off by one error prevented the very last block of a device to be accessed
  through IO.
* In case of error the request wasn't notified causing anyone (the page writer
  for example) to wait forever for the request to complete.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-03 05:36:23 +00:00
Bruno G. Albuquerque
a7291500f1 People was always more of a tech-demo than a real app, so I just decided to
make it more interesting in this respect.

- Uses node monitors to react to external changes. Updates the window
  contents accordingly.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-03 00:58:12 +00:00
Bruno G. Albuquerque
a6996bf541 - Fix an issue with using update-install to a partition that has spaces in its
name.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-02 23:14:21 +00:00
Philippe Houdoin
c3a4c476cf Fixed a typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-02 21:10:19 +00:00
Joachim Seemer
b8d47f16c9 * Removed accidentally added Installation page from bootloader.html nav-bars.
* Updated safe mode options in bootloader.html.
* Renamed menu in Tracker windows "Attributes|Copy/Paste Attributes" to
  "Attributes|Copy/Paste Layout".

+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-02 16:12:39 +00:00
Joachim Seemer
76e853e21f Renamed menu 'Attributes|Copy/Paste Attributes' to 'Attributes|Copy/Paste Layout'. Fixes #2835.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-02 16:08:06 +00:00
Axel Dörfler
0bdeee2f45 * Applied patch by Matt to change command/option behaviour to mimic the
American.keymap. This closes ticket #4396.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-02 14:56:08 +00:00
Stephan Aßmus
dce00bc179 Added UnzipEngine, work in progress. This actually unzips, but the progress
reporting is incomplete and it is not yet used for anything, it's not even
part of the build. I am testing it in a selfcontained little test.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-02 14:55:03 +00:00
Stephan Aßmus
8e3916f8ef Extracted SemaphoreLocker into it's own file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-02 14:53:06 +00:00
Stephan Aßmus
8dadca32b1 Refactoring and cleanup. The progress report mechanism should now be much
more flexible. May need this in the alphabranch...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-02 14:52:13 +00:00
Axel Dörfler
4aa6ec093b * IsMinimized() now locks the window. This should fix bug #4274.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-02 14:41:35 +00:00
Axel Dörfler
47000651b5 * Rewrote USB_rle.h, USB_spec.h, and midi_driver.h. I did not reproduce the
documentation found in those headers - this stuff should go into the Haiku
  Book instead (although I'm not even sure the USB_rle.h, and midi_driver.h
  are really needed any longer).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-02 12:04:00 +00:00
Michael Lotz
44fbca2790 Implement the rest of the IO hook. We now do directly satisfy write requests
by writing them into our buffers and directly satisfy read requests by copying
our buffers, filling any gaps by spawning off subrequests to the underlaying
filesystem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-02 03:09:28 +00:00
François Revol
7e26ad5af7 Add functions to the old-style PCI bus manager to reserve a device from an old-style driver for exclusive use. This should help making OSS and native audio drivers mutually exclusive. Used in es1370 and hda drivers as examples. OSS must still be fixed to use it too though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 23:56:02 +00:00
Michael Lotz
271b9ad49a Enable the IO hook for both attribute and write overlay. Attribute overlay isn't
concerned by it as it does not do file data, it simply passes the hook through.
In the write_overlay case we check for write operations and for modified nodes.
In both cases we return B_NOT_SUPPORTED which will cause a fallback to
synchronous IO. The main problem with the fallback is not that it is synchronous
but that the physical buffers of the request will be mapped and filled page
wise, which makes it slow for various reasons. In any case with this setup all
reads to write_overlay that can go through unmodified now do. This should speed
up CD boot as there is no physical to virtual translation overhead and no limit
to page wise reads. In the best case it should now read 256 blocks at the time
instead of always falling back to 2. My tests show no side effects on creating,
writing or partially modifying nodes so far.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 21:22:37 +00:00
Axel Dörfler
ee0be828e4 * Rewrote USB_printer.h, and bus_manager.h (the last short ones...) :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 18:48:34 +00:00
Michael Lotz
185fd1c5d2 Ported over the kernel heap to libroot to make use of it's validation
capabilities to aid in debugging memory corruption issues.

It does:
* Initialize memory to 0xcc to help turn up use of uninitialized memory
* Set freed memory to 0xdeadbeef to help find accesses of freed memory
* Use the paranoid heap validation to turn up many cases of memory corruption
* Use a simplistic wall check to turn up memory overwrites past allocations
* Take extra steps to validate freed addresses to turn up misaligned frees

It has an interface to en-/disable paranoid validation and to start/stop regular
wall checking. Both are currently just enabled. At a later stage a debug version
of libroot could be used by an application and the checks enabled at will. Note
that due to the paranoid validation and the suboptimal locking this allocator
will perform horribly. Still to find memory corruption issues in the system or
also in your applications it can be helpful to build your installation with it
turned on. To enable it you currently need to edit the Jamfile to sub-include
the malloc_debug instead of the malloc directory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 18:15:30 +00:00
Stephan Aßmus
74e8797f5e Fixed the build. Axel is probably going to commit the cleaned up header soon.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 15:14:57 +00:00
Axel Dörfler
7945b22962 * Quick fix to send notifications on mount/unmount/initialize.
* This closes #2081.

+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 13:59:36 +00:00
Axel Dörfler
a2bb341447 * Cleanup, no functional change.
+ alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 13:23:05 +00:00
Axel Dörfler
73e3cd6904 * Applied dirent_test build fix in trunk as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 13:19:22 +00:00
Axel Dörfler
6761e2d915 * PowerStatus now checks if full_capacity is valid, based on a patch by tqh.
This closes bug #4305.

+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 13:00:17 +00:00
Stephan Aßmus
4fcdbc69a6 Patch by scottmc with small fixes by myself:
Updated to use all the new alpha1 packages. I have not yet done throughrough
testing myself. I figured that trunk should also use the newest packages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 11:42:09 +00:00
Axel Dörfler
6203096a86 * Removed the GPL_ONLY stuff from ntfs and reiserfs in trunk as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 10:16:21 +00:00
Axel Dörfler
7b8b23e9a4 * Cleanup, no functional change.
+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 09:53:41 +00:00
Michael Lotz
419f2d6f3e Fix errors in maintaining the area list due to assumptions that are only true
for the page list but not the area one. Since multiple pages can be allocated
at once, even an area that is not at the top of the list can become empty. In
such a case the area list would previously have lost entries. Also because
we can remove more than one page from any area, not just the top one, we may
need to move forward in the list so that it stays ordered by free pages.
+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 08:46:39 +00:00
Michael Lotz
5bfffb9d94 The block size wasn't initialized, causing usages of an IOScheduler without
a DMAResource not to work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 03:37:20 +00:00
Marcus Overhagen
9781bd2e09 Enable busmaserting ans io decoder if not already done by the BIOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-31 23:25:35 +00:00
Marcus Overhagen
5a5f7ad65e Modified bus mastering enable code, but remains disabled because it crashes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-31 22:43:10 +00:00