1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 22:27:42 +00:00

Kernel: Make UserOrKernelBuffer return KResult from read/write/memset

This allows us to simplify a whole bunch of call sites with TRY(). :^)
This commit is contained in:
Andreas Kling 2021-09-07 12:09:52 +02:00
parent 7bf8844499
commit b481132418
29 changed files with 85 additions and 118 deletions

View file

@ -45,15 +45,13 @@ void RamdiskDevice::start_request(AsyncBlockDeviceRequest& request)
if ((offset + length > base + size) || (offset + length < base)) {
request.complete(AsyncDeviceRequest::Failure);
} else {
bool success;
auto result = KResult(KSuccess);
if (request.request_type() == AsyncBlockDeviceRequest::Read) {
success = request.buffer().write(offset, length);
result = request.buffer().write(offset, length);
} else {
success = request.buffer().read(offset, length);
result = request.buffer().read(offset, length);
}
request.complete(success ? AsyncDeviceRequest::Success : AsyncDeviceRequest::MemoryFault);
request.complete(result.is_success() ? AsyncDeviceRequest::Success : AsyncDeviceRequest::MemoryFault);
}
}