* can't test this, it's untested, but similar to ATADevice.cpp
* should no longer panic when hdd > 2TB is connected
* fix request completition in two error cases
* add const to some parameters
sFreeAreaCount wasn't decremented after removing an area from
sFreeAreas, thus causing the loop to continue until enountering and
crashing on a NULL pointer after removing the last area. Introduce
helper methods _PushFreeArea() and _PopFreeArea() to ensure this cannot
easily happen again.
Fixes ticket #8972.
* Correct a situation where disabling the auto swap without
adjusting the swap size would result in an invalid swap
size getting written to the configuration
* Add swap_auto to the virtual memory settings file
* Disable controls based on the context of what is enabled
* hamishm gave permission to adjust his copyrights to Haiku, Inc.
* When we do not have a predefined model string, we now try to parse
the reported model string into something that is at least usable,
and should look comparable to what we have now.
* For models where the parsed type string is acceptable, we could remove
the predefined ones.
Both are from #8867, created by Justin Stressman. The previous source code icon
was not friendly to those with green color blindness. I also think it was an
ugly green.
Fixes#8867 of course.
* Avoid floating point numbers in the kernel
* Warning would always show if custom swap file in use
* Don't change a custom swap file size if low space occurs
* Ram > 1GB? Don't double the memory for the automatic size
* Heavily based on Hamish Morrison's GCI work with some
modified logic and cleanup. #3723
* Adds automatic swap as well as user specified swap
* Limits:
Automatic: (ram * 2) up to 25% of the disk
User: user specified up to 90% of the disk
* Supports changing the swap disk location
* The ASSERT() I introduced in r44585 was incorrect: when the sub transaction
used block_cache_get_empty() to get the block, there is no original_data for
a reason.
* Added a test case that reproduces this situation.
* The block must be moved to the unused list in this situation, though, or else
it might contain invalid data. Since the block can only be allocated in the
current transaction, this should not be a problem, though, AFAICT.