Commit Graph
21 Commits
Author SHA1 Message Date
Nathan Patrizi a98cea3558 DriveSetup: Implement ability to change partition type
* Implement functionality so that changing the partition type via the
   "Change parameters..." option will now work.
 * Implement changing partition type for Intel extended partitions. This
   included fixing the existing code so that changing partition type
   results in the updated EBR being written to the correct location.
 * Fix changing parameters of GPT partitions.

Fixes #19194

Change-Id: I4c8a2cbee25342acbab125b0b36b0106a872ea4b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11266
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-07-18 18:48:54 +00:00
Nathan Patrizi 5bec7e6ebd intel_partition: Prevent iso9660 overriding empty Intel partition table
Prevents issue where initializing a drive with an Intel partition table
that previously was imaged with a CDROM compatible image then refuses to
detect the new partition table.

This can happen if trying to reinitialize a drive that was imaged with a
Haiku anyboot image as it will then only detect as a iso9660 filesystem
and prevent further reinitialization in DriveSetup.

The initialization code for Intel and GPT partition tables will now
check for and remove an iso9660 header if present. The detection
priority for an empty Intel partition table has also been adjusted in
case a device still has the iso9660 header present.

Change-Id: I8a467e67a488be00fd99eb369203c9b7b1ce7ed3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11173
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-07-09 06:42:11 +00:00
Nathan Patrizi 414f2e77a3 IOSchedulerSimple: Prevent corruption when FS block size < device block size
* Block writes to ranges that have been read as part of a
  read-modify-write operation until that operation has completed.
* Fixes potential corruption issues when using a filesystem block size
  smaller than the device physical block size.

Fixes #16951

Change-Id: Ibae317483ae34e506ceee1736107837a3b999ca7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11017
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-06-10 15:47:26 +00:00
Nathan Patrizi 600d6fe7fc realtekwifi8187: Add BSD urtw driver
Add urtw network driver from FreeBSD 15.
Supports RTL8187B/L USB IEEE 802.11b/g devices.
Adds support for the following USB wifi devices (from urtw man page):

Belkin F5D7050E
Linksys WUSB54GCv2
Netgear WG111v2
Netgear WG111v3
Safehome WLG-1500SMA5
Shuttle XPC Accessory PN20
Sitecom WL168v1
Sitecom WL168v4
SureCom EP-9001-g(2A)
TRENDnet TEW-424UB

This has been successfully tested with a WG111v2 54 Mbps Wireless [RealTek RTL8187L] usb dongle.

Change-Id: I90717292a03b1a92c4346ecd6c9b8f3e1470e0cd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10977
Reviewed-by: waddlesplash <[email protected]>
2026-05-14 19:52:21 +00:00
Nathan Patrizi 44db3b4909 freebsd_network: Add usbd_xfer_get_frame_buffer function
Required by certain drivers such as urtw.

Change-Id: Ifc36461844d4e149ce3355f0260449a6f2310628
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10978
Reviewed-by: waddlesplash <[email protected]>
2026-05-14 19:29:56 +00:00
Nathan Patrizi 8e3a572216 Kernel: Renamed volume name will be updated in DDM
Renaming a volume will now also update the relevant KPartition object
in the Disk Device Manager so that the new name is reflected immediately
across the system (i.e it will show up in the Tracker mount menu and in
DriveSetup with the new name).

Fixes #2149

Change-Id: Ic6a6dc48bd87cb3850aabf8ee237feed9ae73037
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10152
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-05-11 16:39:10 +00:00
Nathan Patrizi 600f6d32b8 driver_settings: Allow successful load of empty settings file
* Allow load_driver_settings_from_file() to succeed when loading a file
   with a size of 0.
 * This fixes scenarios where a watched config file would not apply
   settings if the file was emptied.
 * This happens with the network services file if all network services are
   disabled as it leaves the file empty. This caused issues such as sshd not
   being stopped when it was the last service disabled.

Fixes #17127 #14086

Change-Id: Icb79c80047900abd7756035cb9cf025a36917467
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10945
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-05-07 07:23:12 +00:00
Nathan Patrizi b5e907c11e kernel/fs: Notify node monitor when opening files with O_TRUNC
Opening files with the O_TRUNC flag will now notify the node monitor if
this resulted in the file size changing.
Implemented on filesystems with write support:
 * BFS
 * EXT2
 * FAT
 * NTFS
 * write_overlay

Change-Id: I4ae7d6b93727a9cc83f64d649b118beb94b16657
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10923
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-05-05 06:13:53 +00:00
Nathan Patrizi ef2e71c652 SoftwareUpdater: Prevent crash when quit during download
Prevent crash when quitting SoftwareUpdater during file download by
handling BAbortedByUserException and stopping the download job.

Fixes #15689

Change-Id: I223dc6f292123f7b33d425d66f9e70fe42552d37
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10833
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-04-21 06:54:43 +00:00
Nathan Patrizi 605a1f4f4e Tracker: Prevent bringing windows to foreground when not dragging
* Prevent bringing Tracker windows to the foreground when moving the mouse
  over them with a button held but not actually dragging a file.
* Fix a regression caused by changing window->Dragging() calls to
  IsDragging().

Fixes #19683

Change-Id: Ife55885e72d4682b857baf4103d144f49b765693
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10601
Reviewed-by: nephele nephele <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-03-28 12:32:27 +00:00
Nathan Patrizi 74613b3c9a ramdisk: Remove IOSchedulerSimple and handle IORequests directly
* Handle IO requests directly in the ramdisk instead of using
  IOSchedulerSimple as the request ordering being done is not needed.
* Fixes potential data corruption issues on the ramdisk caused by
  reordering partial write requests in IOSchedulerSimple.

Fixes #16951

Change-Id: I2d6c20016b54e8cb5b1d257989edada10c1d2376
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10490
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-03-16 12:27:28 +00:00
Nathan Patrizi c971c7adfc Tracker: Fix number format in items count
* Fix cases where the total/selected item count value was not formatted
  (e.g "1000/1,000 selected").
* Fix the item value format when type-ahead filtering.

Change-Id: Ia7f64443227ee1a03ce96ab441cb4ffc77d026df
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10423
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2026-03-09 22:00:07 +00:00
Nathan Patrizi 5d19bcda45 Tracker: Prevent crash when canceling empty trash operation
Prevent crash caused by canceling an empty trash operation while it is
calculating the total items and size. Fixes a double free caused in the
BObjectList destructor by ensuring the trash item is removed from the
list even if the user cancels.

Fixes #19725

Change-Id: I8355483f70399a8eb5f52f633ccfd5e219f17aad
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10422
Tested-by: Commit checker robot <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-03-09 16:49:59 +00:00
Nathan Patrizi 3f8cbb026f Save file panel: Handle DEL key in filename control correctly
* Currently the DEL key is intercepted by a shortcut registration for
  the Tracker "Move To Trash" menu option.
* Allow key event propagation to continue if a shortcut that does not
  use the CMD key is disabled.

Fixes #19870

Change-Id: If16d3858cee61dfd1862b379fbcfeffebe617341
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10226
Reviewed-by: waddlesplash <[email protected]>
2026-02-27 13:58:29 +00:00
Nathan Patrizi 0ed1f65361 fat: Fix crash when creating FAT FS on disk image
Fix crash when formatting a partition as FAT on a registered disk image.
This is caused by the physical block size being reported as 0.

Fixes #19911

Change-Id: Ibe7fb22ea17a87d26dc37a737175674ec10ff618
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10355
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2026-02-23 08:21:59 +00:00
Nathan Patrizi d3f0a24569 strace: Fix handling of statMask when building stat string
Fix a crash caused by decoding stat arguments when the statMask is
only B_STAT_MODE or all 0.

Change-Id: Ic57c5494fbf4d20605955d3cc4c21f96e380fab1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10283
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2026-01-28 11:42:30 +00:00
Nathan Patrizi e9c469fd70 kernel/fs: Fix handling of fs that don't support SEEK_DATA/SEEK_HOLE or select
* Fix seek calls of types SEEK_DATA and SEEK_HOLE for filesystems that
return B_UNSUPPORTED so that the fallback stat() based method is used
in those cases.

* Fix select call handling for filesystems that return B_UNSUPPORTED
by immediately notifying the select event (as would happen if the fs did
not support select at all).

Fixes #19251

Change-Id: I6a861499365f2abd62c2f7a74107dd4a7c1b44a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10245
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-01-22 16:07:54 +00:00
Nathan Patrizi 6f8c212378 Kernel: Fix write overlay handling of existing directories
* Write overlay will check if a directory being created already
  exists. This fixes an issue where creating a directory that already
  exists and is empty would remove and recreate it
  instead of returning a directory exists error.
* Check if file exists when creating with O_EXCL and VFS did not catch it.
* Add check to Open() to check and fail correctly if we are opening a
  non-directory with O_DIRECTORY. Fixes error when trying to copy/move a
  file over another (with cp/mv).
* Correctly return file exists when creating a symlink that already
  exists.

Fixes #19640

Change-Id: I82f65d06db0f2ba3cd8facbf7114af60d6987a95
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10172
Reviewed-by: waddlesplash <[email protected]>
2026-01-02 22:47:12 +00:00
Nathan Patrizi 0ce28c177c Tracker: Item view shows number of selected items
Fixes #18811

Change-Id: I4e9abbbf58ec693f0af9b136d973603fa437cdfd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10048
Reviewed-by: waddlesplash <[email protected]>
2025-12-15 16:01:35 +00:00
Nathan Patrizi 4b6432d831 Kernel: Add hrev after kernel debugger welcome
Fixes #19299

Change-Id: I4058537977f2caef80676a12e51575ce6dfb6fac
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10034
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-02 15:12:14 +00:00
Nathan Patrizi 0e2e36f650 MediaPlayer: Make location field clickable in File info window
The "Location" field in the File info window will be clickable if it
refers to a local file. This will open the containing folder in the Tracker.

Fixes #8842

Change-Id: I0b17587607275da12aac89a1716ec85652a31e29
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9796
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
2025-11-30 08:11:42 +00:00