libblkid: open device in nonblock mode.
authorMichal Suchanek <msuchanek@suse.de>
Mon, 4 Nov 2019 20:23:15 +0000 (21:23 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 8 Nov 2019 11:11:32 +0000 (12:11 +0100)
commit581e2d96fccde1d367ead9f12fadf4a1ea6affe3
tree5213a088a8679b30cbb55a78e4e4651de782291f
parentd5c30300dad5f88d152b401fef4de432e6dc7ea1
libblkid: open device in nonblock mode.

When autoclose is set (kernel default but many distributions reverse the
setting) opening a CD-rom device causes the tray to close.

The function of blkid is to report the current state of the device and
not to change it. Hence it should use O_NONBLOCK when opening the
device to avoid closing a CD-rom tray.

blkid is used liberally in scripts so it can potentially interfere with
the user operating the CD-rom hardware.

[kzak@redhat.com: add O_NONBLOCK also to:
                  - wipefs
                  - blkid_new_probe_from_filename()
                  - blkid_evaluate_tag()]

Signed-off-by: Michal Suchanek <msuchanek@suse.de>
Signed-off-by: Karel Zak <kzak@redhat.com>
(cherry picked from commit 39f5af25982d8b0244000e92a9d0e0e6557d0e17)
src/udev/udev-builtin-blkid.c