mmc: cache open file descriptors to block devices #4053
Merged
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.
ChangeLog: mmc plugin: cache file descriptors to reduce udev events generated as side-effect
Hi,
there is a slight annoyance when using the eMMC health info support for Micron and Sandisk chips introduced by me in #4006: an udev event is generated on every call to the read callback.
This is due to to the
watch
option that can be used in udev rules, which is described in the man page as:This watch option is enabled by default for all block devices. The intention behind this is to be notified about changes to the partition table. The mmc plugin does however also need to open the block device for writing, even though it never modifies its content, in order to be able to issue
ioctl
s with vendor defined MMC-commands.Reduce the amount of generated change events from one per read to one per collectd runtime by caching the open file descriptor.
Fixes: 2f15c70 (mmc: add more vendor specific and generic data sources (#4006))
Signed-off-by: Leonard Göhrs l.goehrs@pengutronix.de