Re: [PATCH] drivers/cdrom: improved ioctl for media change detection

From: Lukas Prediger
Date: Thu Aug 26 2021 - 14:10:47 EST


On 05.08.21 22:44, Lukas Prediger wrote:
> The current implementation of the CDROM_MEDIA_CHANGED ioctl relies on
> global state, meaning that only one process can detect a disc change
> while the ioctl call will return 0 for other calling processes afterwards
> (see bug 213267 ).
>
> This introduces a new cdrom ioctl, CDROM_TIMED_MEDIA_CHANGE, that
> works by maintaining a timestamp of the last detected disc change instead
> of a boolean flag: Processes calling this ioctl command can provide
> a timestamp of the last disc change known to them and receive
> an indication whether the disc was changed since then and the updated
> timestamp.
>
> I considered fixing the buggy behavior in the original
> CDROM_MEDIA_CHANGED ioctl but that would require maintaining state
> for each calling process in the kernel, which seems like a worse
> solution than introducing this new ioctl.
>
> Signed-off-by: Lukas Prediger <lumip@xxxxxxxx>
> ---
> This is my first patch sent to the kernel and I followed the recommended
> process as closely as I could. If I misstepped somewhere, please let me know.
> I also tried to find a mailing list more specific to the problem but was unable,
> please inform me if there is one where this should be sent instead.
>
> Finally, I wasn't sure whether/how to add my name to the updated docs
> and if I should update the date on them (there have been some recent commits
> that did not result in credits given to the commit author or updating
> the dates in the docs, but those did not add any new content either), so
> info in the most appropriate way would be welcome.
>
> Looking forward to your feedback.
> ---
> Documentation/cdrom/cdrom-standard.rst | 14 +++++-
> Documentation/userspace-api/ioctl/cdrom.rst | 6 ++-
> drivers/cdrom/cdrom.c | 56 +++++++++++++++++++--
> include/linux/cdrom.h | 1 +
> include/uapi/linux/cdrom.h | 15 ++++++
> 5 files changed, 86 insertions(+), 6 deletions(-)

As it has been several weeks and I haven't heard anything at all in response to this,
I'd like to bring this to your attention once more. If something is wrong with it,
please let me know so I can fix it.
- Lukas