#
478c8c84 |
|
13-Feb-2023 |
Augustin Cavalier <waddlesplash@gmail.com> |
Drivers.h: Rename device_{read|write}_pages back to device_{read|write}v_hook. They are not about reading and writing pages, but just iovecs. As the passed iovecs use void*s, it can't possibly be working with physical pages on 32-bit systems with PAE. It appears nothing uses or implements these functions anyway, as there was nothing else in the tree I had to adjust after making this change...
|
#
688acf41 |
|
15-Sep-2022 |
Jérôme Duval <jerome.duval@gmail.com> |
add physical_block_size field where applicable only scsi_disk checks the actual value, other drivers take the logical block size. This change reports the physical block size from the disk rather than the block size used by IDE/SATA/SCSI commands. On typical modern SATA disks, the SATA commands will use 512 byte blocks, but the disk will actually read and write 4K blocks internally. This is only of importance for partition alignment for DriveSetup, and is independant of file systems or partitioning systems. This could also influence the recommended block size for some file systems. Change-Id: Id0f2e22659e89fcef64c1f8d04f81cd68995e01f Reviewed-on: https://review.haiku-os.org/c/haiku/+/5667 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
bd02d81c |
|
30-Jun-2021 |
David Sebek <dasebek@gmail.com> |
Fix trim-related issues Fixes: * Use uint64 instead of off_t when handling offset and size of the trimmed range in the fs_trim_data structure * BlockAllocator::Trim: Correct the size of a buffer * ram_disk, mmc: Do not trim past device capacity Improvements: * BlockAllocator::Trim: Because the received offset and size are ignored by BFS (the functionality is not implemented yet), return B_UNSUPPORTED if the range does not cover the whole partition * ram_disk, mmc: More accurate calculation of the number of trimmed bytes * devfs: Add a uint64 version of translate_partition_access() Change-Id: I24f4c08674f123ad33a5fef6e28996a4ada6ff0d Reviewed-on: https://review.haiku-os.org/c/haiku/+/4155 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
cef80a1f |
|
17-Jan-2021 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
devfs: translate partition offsets in B_TRIM_DEVICE Fixes bfs part of #10336. Untested on SATA (don't have a testing drive to sacrifice) but working fine on SD/MMC. This requires moving the copy from kernel to userland into the devfs. As a result the code in the disk drivers becomes a bit simpler. Also add some documentation for the common ioctls to implement for a disk device. Change-Id: Ie84b6a1d293828d33902a64b3c9d4b19aa6eacb1 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3640 Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
99086aa3 |
|
14-Aug-2013 |
Axel Dörfler <axeld@pinc-software.de> |
trim: Target SCSI UNMAP command instead of WRITE SAME. * The UNMAP command is theoretically much faster, as it can get many block ranges instead of just a single range. * Furthermore, the ATA TRIM command resembles it much better. * Therefore, fs_trim_data now gets an array of ranges, and we use SCSI UNMAP to trim. * Updated BFS code to collect array ranges to fully support the new fs_trim_data possibilities.
|
#
29a84508 |
|
04-Aug-2013 |
Axel Dörfler <axeld@pinc-software.de> |
Added B_TRIM_DEVICE ioctl.
|
#
51d76425 |
|
13-Jan-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Added a new B_GET_DEVICE_NAME ioctl - this should be implemented by all drivers in the future, such that NetworkStatus and similar software can show nice names for the devices. The device manager should implement this and return the B_DEVICE_PRETTY_NAME of the device (and in turn, new style drivers should actually set this). * Implemented handling of this ioctl in the scsi_periph to return the vendor/ product strings. * Implemented this in the ATA bus manager to return the model from the info block. * KDiskDevice now fills in the partition_data::name if the B_GET_DEVICE_NAME succeeds. * As a side effect, at least BootManager now shows the drive name; maybe DriveSetup does as well for the raw device. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40231 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
626e25b1 |
|
23-Dec-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Remove the apostrophe as pointed out by Urias. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39925 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3a8bae7c |
|
23-Dec-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Fix a typo. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39924 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
06ba3f0a |
|
17-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added two new ways to retrieve an icon from a device: - B_GET_ICON_NAME: returns the name of an icon. This will then be read from a predefined location on disk (not yet implemented). This would also allow to add specifiers like "-boot", or "-fat|bfs|ntfs|...", and have special icons for those. - B_GET_VECTOR_ICON: retrieves the vector icon of a device, if any. * get_device_icon(BBitmap*, ...) now supports other color spaces than B_CMAP8. * Added get_device_icon(), BPartition::GetIcon(), and BVolume::GetIcon() variants that can also retrieve the icon data directly (like BNodeInfo::GetIcon()). * Reenabled the previous BPartition::GetIcon(), based on a patch by Justin O'Dell - this fixes #1391. * Tracker's MountMenu class now uses B_RGBA32 icons, instead of B_CMAP8. * Added vector icon to scsi_disk, and scsi_cd. The former doesn't have any special removable icon, though. * Header cleanup, added/updated license, whitespace cleanup. * Marked deprecated/obsolete driver ioctls in Drivers.h. * Removed OpenBeOS namespace in the headers I touched that still had them. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27001 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6210a1dd |
|
30-May-2006 |
François Revol <revol@free.fr> |
Add an ioctl B_GET_PATH_FOR_DEVICE, this should simplify big times implementing ttyname() for ex, and could be handy anyway. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17655 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8384cc5c |
|
30-Sep-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Moved the select stuff into its own header file for now which is now included from both, Drivers.h, and fs_interface.h. The latter no longer includes vfs_types.h for iovecs, but <sys/uio.h> for iovec. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9140 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d9b7e039 |
|
30-Sep-2004 |
François Revol <revol@free.fr> |
use another proto for notify_select_event git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9137 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6f3c0b6c |
|
30-Sep-2004 |
François Revol <revol@free.fr> |
Added missing R5 select stuff. Fixed a typo. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9123 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9edfb372 |
|
04-Sep-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed the readv/writev hook functions to read_pages/write_pages to make clear that they work differently from before (or soon will). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8841 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
07e76c95 |
|
28-Mar-2004 |
Axel Dörfler <axeld@pinc-software.de> |
NewOS read/write hooks return ssize_t, but on BeOS, they return status_t and the number of bytes read/written in an argument. Until now, we had a buggy mix between those two solutions. Courtesy of Jack Burton. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7100 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
813b3cc5 |
|
22-Feb-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Removed the non-Be-compatible devfs partition info stuff. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6680 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f97b4ac4 |
|
23-Jun-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Made the header C++ friendly. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3632 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d7e489f8 |
|
23-Oct-2002 |
beveloper <beveloper@nowhere.fake> |
modified to provider better R5 compatibility git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1615 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
085320ea |
|
22-Sep-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed some header issues (mostly int, status_t). Replaced <types.h> with <sys/types.h> because that's what those headers were looking for. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1118 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5f79d3a8 |
|
12-Jul-2002 |
David Reid <dreid@nowhere.fake> |
drivers -> Drivers... git-svn-id: file:///srv/svn/repos/haiku/trunk/current@167 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
99086aa32333be5792b0f059ccbbe3c90be05ea6 |
|
14-Aug-2013 |
Axel Dörfler <axeld@pinc-software.de> |
trim: Target SCSI UNMAP command instead of WRITE SAME. * The UNMAP command is theoretically much faster, as it can get many block ranges instead of just a single range. * Furthermore, the ATA TRIM command resembles it much better. * Therefore, fs_trim_data now gets an array of ranges, and we use SCSI UNMAP to trim. * Updated BFS code to collect array ranges to fully support the new fs_trim_data possibilities.
|
#
29a845084326c35014460ab2c3cb23c89d239d38 |
|
04-Aug-2013 |
Axel Dörfler <axeld@pinc-software.de> |
Added B_TRIM_DEVICE ioctl.
|
#
51d76425033b27609fb4e206c7c9610cd4c4a653 |
|
13-Jan-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Added a new B_GET_DEVICE_NAME ioctl - this should be implemented by all drivers in the future, such that NetworkStatus and similar software can show nice names for the devices. The device manager should implement this and return the B_DEVICE_PRETTY_NAME of the device (and in turn, new style drivers should actually set this). * Implemented handling of this ioctl in the scsi_periph to return the vendor/ product strings. * Implemented this in the ATA bus manager to return the model from the info block. * KDiskDevice now fills in the partition_data::name if the B_GET_DEVICE_NAME succeeds. * As a side effect, at least BootManager now shows the drive name; maybe DriveSetup does as well for the raw device. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40231 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
626e25b19eca714487d93ae41c32fbb95b0c5538 |
|
23-Dec-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Remove the apostrophe as pointed out by Urias. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39925 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3a8bae7cf22f8c3e4ee8ec24973bd22dcfcf14e5 |
|
23-Dec-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Fix a typo. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39924 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
06ba3f0acb06fd0a5818f2609886fe1d35fbfbd3 |
|
17-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added two new ways to retrieve an icon from a device: - B_GET_ICON_NAME: returns the name of an icon. This will then be read from a predefined location on disk (not yet implemented). This would also allow to add specifiers like "-boot", or "-fat|bfs|ntfs|...", and have special icons for those. - B_GET_VECTOR_ICON: retrieves the vector icon of a device, if any. * get_device_icon(BBitmap*, ...) now supports other color spaces than B_CMAP8. * Added get_device_icon(), BPartition::GetIcon(), and BVolume::GetIcon() variants that can also retrieve the icon data directly (like BNodeInfo::GetIcon()). * Reenabled the previous BPartition::GetIcon(), based on a patch by Justin O'Dell - this fixes #1391. * Tracker's MountMenu class now uses B_RGBA32 icons, instead of B_CMAP8. * Added vector icon to scsi_disk, and scsi_cd. The former doesn't have any special removable icon, though. * Header cleanup, added/updated license, whitespace cleanup. * Marked deprecated/obsolete driver ioctls in Drivers.h. * Removed OpenBeOS namespace in the headers I touched that still had them. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27001 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6210a1dd4c1cae5c2787baf9de5de6eb9a38918a |
|
30-May-2006 |
François Revol <revol@free.fr> |
Add an ioctl B_GET_PATH_FOR_DEVICE, this should simplify big times implementing ttyname() for ex, and could be handy anyway. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17655 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8384cc5c92fabafc1e06d22a1eadeebdb57c2d3f |
|
30-Sep-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Moved the select stuff into its own header file for now which is now included from both, Drivers.h, and fs_interface.h. The latter no longer includes vfs_types.h for iovecs, but <sys/uio.h> for iovec. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9140 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d9b7e039efc8e473e77f575ba0fa9c74818f3503 |
|
30-Sep-2004 |
François Revol <revol@free.fr> |
use another proto for notify_select_event git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9137 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6f3c0b6c34efdfae903e886c2158d2df91ff8965 |
|
30-Sep-2004 |
François Revol <revol@free.fr> |
Added missing R5 select stuff. Fixed a typo. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9123 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9edfb372ab4dd1838c110c5c241e65667dbe9f6a |
|
04-Sep-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed the readv/writev hook functions to read_pages/write_pages to make clear that they work differently from before (or soon will). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8841 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
07e76c95be49f3b175d87deece8917b174a13843 |
|
28-Mar-2004 |
Axel Dörfler <axeld@pinc-software.de> |
NewOS read/write hooks return ssize_t, but on BeOS, they return status_t and the number of bytes read/written in an argument. Until now, we had a buggy mix between those two solutions. Courtesy of Jack Burton. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7100 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
813b3cc53e5f7113480a4977bd9ee9bce71eba08 |
|
22-Feb-2004 |
Axel Dörfler <axeld@pinc-software.de> |
Removed the non-Be-compatible devfs partition info stuff. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6680 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f97b4ac4a26fea9534b58d338737773a91186057 |
|
23-Jun-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Made the header C++ friendly. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3632 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d7e489f80a82a0dc5974df1e780d7a908129bab4 |
|
23-Oct-2002 |
beveloper <beveloper@nowhere.fake> |
modified to provider better R5 compatibility git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1615 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
085320eab292455845b0a56ec6d08c0d04e5693d |
|
22-Sep-2002 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed some header issues (mostly int, status_t). Replaced <types.h> with <sys/types.h> because that's what those headers were looking for. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1118 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5f79d3a87b371b46a696923f18d114a59ca9d42e |
|
12-Jul-2002 |
David Reid <dreid@nowhere.fake> |
drivers -> Drivers... git-svn-id: file:///srv/svn/repos/haiku/trunk/current@167 a95241bf-73f2-0310-859d-f6bbb57e9c96
|