On 8/6/2015 6:45 PM, Brian C. Lane wrote: > When a device is opened for RW closing it can trigger other actions, > like udev scanning it for partition changes. Use read only for the > init_* methods and RW for actual changes to the device. > > This adds _device_open which takes mode flags as an argument and turns > linux_open into a wrapper for it with RW_MODE. > > _device_open_ro is added to open the device with RD_MODE and increment > the open_counter. This is used in the init_* functions. > > _device_close is a wrapper around linux_close that decrements the > open_counter and is used in the init_* functions. > > All of these changes are self-contained with no external API changes. > The only visible change in behavior is that when a new PedDevice is > created the device is opened in RO_MODE instead of RW_MODE. > > Resolves: rhbz#1245144
I like the idea in theory, but how can this work without changing the api? For instance, the print command invokes the filesystem probe code, which ends up calling linux_open(), and so that will result in a r/w open when it really only needs read access.

