note/noteram: add FIONREAD ioctl to report unread buffer size #18115
+12
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add handling for the FIONREAD ioctl in noteram_ioctl to return the number of unread bytes in the circular note buffer (noteram_unread_length()). Validate the argument pointer and return -EINVAL if it is NULL.
Note: Please adhere to Contributing Guidelines.
Summary
This patch adds support for the FIONREAD ioctl command in the noteram driver to allow user-space to query the number of unread bytes in the circular note buffer.
Motivation
User-space consumers of /dev/note/ram can benefit from being able to query the available unread size for efficient reads without blocking or to size buffers appropriately.
What was changed
drivers/note/noteram_driver.cFIONREADinnoteram_ioctl()to return the result ofnoteram_unread_length()when a valid pointer is passed.Impact
argand returns -EINVAL for null pointer.Testing
ioctl(fd, FIONREAD, &size)returns expected available bytes.