From b2e57f555b2684e06b2c71994255792bcd12a67b Mon Sep 17 00:00:00 2001 From: David Isaksson Date: Sat, 9 Oct 2021 11:19:51 +0200 Subject: [PATCH] Kernel: Add ioctl request for getting a storage device's block size --- Kernel/Storage/StorageDevice.cpp | 5 +++++ Userland/Libraries/LibC/sys/ioctl_numbers.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/Kernel/Storage/StorageDevice.cpp b/Kernel/Storage/StorageDevice.cpp index 4588f67617..81020f01b5 100644 --- a/Kernel/Storage/StorageDevice.cpp +++ b/Kernel/Storage/StorageDevice.cpp @@ -196,6 +196,11 @@ KResult StorageDevice::ioctl(OpenFileDescription&, unsigned request, Userspace(arg), &disk_size); break; } + case STORAGE_DEVICE_GET_BLOCK_SIZE: { + size_t size = block_size(); + return copy_to_user(Userspace(arg), &size); + break; + } default: return EINVAL; } diff --git a/Userland/Libraries/LibC/sys/ioctl_numbers.h b/Userland/Libraries/LibC/sys/ioctl_numbers.h index 1fa706f02f..8da1f27da3 100644 --- a/Userland/Libraries/LibC/sys/ioctl_numbers.h +++ b/Userland/Libraries/LibC/sys/ioctl_numbers.h @@ -90,6 +90,7 @@ enum IOCtlNumber { SOUNDCARD_IOCTL_SET_SAMPLE_RATE, SOUNDCARD_IOCTL_GET_SAMPLE_RATE, STORAGE_DEVICE_GET_SIZE, + STORAGE_DEVICE_GET_BLOCK_SIZE, }; #define TIOCGPGRP TIOCGPGRP @@ -134,3 +135,4 @@ enum IOCtlNumber { #define SOUNDCARD_IOCTL_SET_SAMPLE_RATE SOUNDCARD_IOCTL_SET_SAMPLE_RATE #define SOUNDCARD_IOCTL_GET_SAMPLE_RATE SOUNDCARD_IOCTL_GET_SAMPLE_RATE #define STORAGE_DEVICE_GET_SIZE STORAGE_DEVICE_GET_SIZE +#define STORAGE_DEVICE_GET_BLOCK_SIZE STORAGE_DEVICE_GET_BLOCK_SIZE