See #15808. Installer does not do what it promises to do, that is, that is
clean the system folder and essentially perform a clean install. Instead all
packages are copied to /system/packages, but they are not activated. To make it
worse, the system is then unable to upgrade through pkgman later on, as it
bails with the error that the files already exist.
This change at least stops Installer from pretending to do a clean install.
Change-Id: I5e2b1f571a99f9f8c020f77c314974719346f750
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2760
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
_user_read_link: don't write after the buffer end, anytime the buffer is too
short. It should honor the user bufferSize, instead of using the link length.
normalize_path: null-terminates when bufferSize is lower than B_PATH_NAME_LENGTH.
Change-Id: If3892dc1ffc4aa7a79a333bbe607449ca409a7f0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2752
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 10b5c00fca4a3f2f957116aa599ae5d8f5705fcb)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2757
libnvme can break up transfers that are too large, but to do so,
it allocates one nvme_request struct (of which it has a large,
but finite, pool) per segment. Since we are already iterating
over "vecs", we might as well cut off transfers after they
would otherwise go over the limit.
Individual IOVs that are too large are left alone, though;
libnvme can still handle this. But at least we no longer try
to do all I/O in one go.
Tested in a similar manner to the previous commit.
(cherry picked from commit 4d0ad37aba376be915192ae142345efd72e00342)
Change-Id: Ib3ebcd4954c260e75211205b8ec59e346b119ce2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2747
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The "offset" parameter was not actually an IOV offset, but actually
a byte offset across all IOVs... whoops. Somehow, this went unnoticed
as most controllers have large enough maximum transfer sizes
that we would in practice not hit the limit (even with bs=1M
dd tests!)
KapiX's controller, as seen in #16049, however, has a maximum
transfer size of 64 pages; much smaller than these other controllers,
so it did trigger this behavior and exposed the bug.
Tested by adding an artificial limit of 2 blocks as the max
transfer size (which makes things pretty slow, as you might
expect.)
(cherry picked from commit 8eb950cd6421ce20123c99b899d6d7e24dcdddd3)
Change-Id: Ia87ba4962d401da62fdff015b19809b8908bdf3b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2746
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Fixes partial transfers being reported as larger than they actually were.
Change-Id: If7feda4e10203e8b6f2fd563fa4dcfb2b6cfc0d1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2745
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This change will move the display of the featured packages
from a dynamic layout to one that is static. This should
improve layout consistency and ui performance as well as
introduce keyboard navigation in the featured packages
list.
Resolves #11675, #15012
Helps #14675
Change-Id: Iddac7a9562763c7a890ec5dcf633e94f84684f43
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2708
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
(cherry picked from commit 9883929b9cf86d48b4e6ee22ba22da30f0e1a998)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2737
I added this function to make the queued requests logic more robust,
but I failed to notice that since it is called from nvme_qpair_submit_request,
it would just result in a deadlock of any qpair that had requests
queued.
May help with some of the "qpair lockup" tickets.
Change-Id: I5ff63b509ae8812356d0d33f019027d3159b6685
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2735
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit cb53bf1e28eed6de3d3d94da913b1bbc3e2f9947)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2736
We do not need to go through all the overhead of mutex_lock_with_timeout()
if there is in fact no timeout.
Change-Id: I7891ae9138a7d45be934ac53412b82546d52b901
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2730
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit a3a192c1cb6b4ae2403ffe7f50b48c663549d061)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2731
The window may be gone (if its B_QUIT_REQUESTED was called before the
main Deskbar window one), so we can't safely call Quit() on it. Instead,
just send a B_QUIT_REQUESTED through the BMessenger, which is a bit
safer.
Should fix #16026.
Change-Id: I4c99c3a7f994044c3c3f0c08b35ae451c3ff9ea7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2721
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 54bff8ec8213acf63f2dae914560c9fac575dc45)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2726
* Moved 'Power Off' on top of 'Restart system'.
* Made a few visual changes to the code that adhere better to the Haiku coding style.
* 'Suspend' is now at the bottom of the shutdown submenu.
Change-Id: I0d41e3e5656d5d9ea02e3cb072b6a6092c70c640
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2701
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 79ca65ac9d561fe4c83f88a015350e9f591d8b2c)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2723
I forgot to change MUTEX_INITIALIZER following removal of the
unused field.
Change-Id: I011c023ae00bb4576c8bcecf83546892fef3a77e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2719
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit e54b2d7cf2012fd0021025b0bb812838841fbd59)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2720
As far as I can tell, there is no reason to ignore unlocks, ever;
if no threads are waiting, then mutex_unlock() will act appropriately.
So all we need to do is increment the lock's count here,
as we are relinquishing our request for locking.
On the other hand, if we did not find our structure in the lock,
that means we own the lock; so to return with an error from here
without changing the count would result in a deadlock, as the lock
would then be ours, despite our error code implying otherwise.
Additionally, take care of part of the case where we have woken up
by mutex_destroy(), by setting thread to NULL and checking for it
in that case. There is still a race here, however.
May fix #16044, as it appears there is a case where ACPICA
calls this with a timeout of 0 (we should make this be
a mutex_trylock, anyway.)
Change-Id: I98215df218514c70ac1922bc3a6f10e01087e44b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2716
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit fd161d7bf2e391af79507f3710f4ac27e22fc88c)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2718
We should investigate why there are anonymous or unset attributes. But
at least let's not KDL because of it.
Fixes #16038.
Change-Id: Ifd49475e25ce8dcc3e98bc22df81f0e4f493f915
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2710
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 59588089e7292abaa537d9d6da9b537e4caf942f)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2712
Unfortunately this will rule out 15-samples MOD files, but it fixes #16035.
Change-Id: If3634c8ef4228ebe7ec5f8eac9f142ffff2ca30c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2703
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit e44ab82455291e4c621e92efa9e4c42e4eda8ee3)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2706
* beta1 -> beta2
* rotate the "beta2" stamp as it was remarked before that the stamp
going 'uphill' is supposed to have better vibes than 'downhill' as
it's now...
Change-Id: I60a60a1ba36ac11817294c91deecc555582e039e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2697
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 6bd96c5234def1ed791026efaf7cb32b5fa4bd92)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2700
The way this rule works is it check two things:
- The document starts with "<?xml", "<svg", or "<DOCTYPE"
- In the first 512 bytes there is either an SVG or DOCTYPE SVG opening
tag (both casze insensitive)
This should allow to correctly detect most SVG files, all while not
misdetecting other things (for example xhtml with a nested SVG) too
easily. It's difficult to be completely accurate with just a sniffing
rule.
Change-Id: I66d6e21ff694c4a6349989db2685dffb44ef5767
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2681
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
(cherry picked from commit 0f161e01367b0909b83e878ca282588823976056)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2694
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Otherwise, the entire list will be scanned for row widths, which
is extremely slow with thousands of items, and may not be what
the user wants anyway, if they have set specific column sizes
which are larger/smaller than that.
Helps with #16012 and #15889 considerably.
(cherry picked from commit 9585fabd612d4c823ed9f9d20b15c4c12411895a)
Change-Id: I7414c2f0f69b1d791adf9d8186dbf1ff95a126fa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2688
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The size limits are already the minimum/maximum for all views,
not just the current one, so we do not need to recompute them
when the layout is invalidated due to an item switch.
Fixes #14675, and other performance issues on switching tabs
in layouted BTabViews, among other things.
Change-Id: I55bfe4ddb8c8a79c634634cfc27113205a790c42
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2677
Reviewed-by: Andrew Lindesay <apl@lindesay.co.nz>
(cherry picked from commit 9cfe1443266e511b0a9fe9c8514655f280cf1b63)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2678
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Stop when we have a solution that is within 1px of accurate. Since tab
width are rounded to the nearest pixel anyway, there is no need to
compute further, and this could otherwise never converge due to rounding
errors.
Fixes #15944.
Now Pulse can be both in a normal window and in DeskBar at the same
time. The Replicant starts the app if needed to show the settings and
about box there, instead of showing the window in the DeskBar process.
Fixes #6901
Change-Id: I3cede07df9216c54e4ad97b50618d42c2fa5e12e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/83
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit e04f6f31b08f57dfd8a75d3f399666b76f23b22a)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2659
For historical reasons, the package kit has an "url" field that is not
actually meant to be used as an URL. Rename it in the API and user
facing output as "identifier" to make it clear what the file is used
for. This change preserves the "url" key in on-disk and online storage
(hpkr files, stored settings, etc) in an attempt to not break anything.
Fix one remaining misuse of the "url" field as an URL in
get_package_dependencies.
Add an unit test showing that BUrl does parse "tab" URIs properly (there
is just a protocol and a path segment).
Change-Id: I339ce526e5798d42d78ae650855d7e988dbb4a1a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2620
Reviewed-by: waddlesplash <waddlesplash@gmail.com>