block(d): improve hotplug.d "mount" events for the autofs
authorRafał Miłecki <rafal@milecki.pl>
Wed, 12 Dec 2018 14:24:35 +0000 (15:24 +0100)
committerRafał Miłecki <rafal@milecki.pl>
Fri, 28 Dec 2018 22:10:32 +0000 (23:10 +0100)
commitaf93f4b8dc32cf1320dfe8f4b93bb3a12606fc33
tree71e08b2d2bbd9072763902bf68ad05fc1c90139e
parent3bb3352a5f6c1cffd8a487b92eb762c857df75ed
block(d): improve hotplug.d "mount" events for the autofs

So far - when using autofs - "add" and "remove" action events were
triggered on every (un)mount. It wasn't very helpful when using autofs
due to its nature.

The point of blockd & autofs is to have block devices mounted on an
access request. Its users should not care / know if it's currently
mounted or not. Mounting should be handled transparently.

To make that work it requires informing listeners whenever device:
1) Becomes *ready* for mounting (by triggering "add" action)
2) Becomes *unavailable* (by triggering "remove" action)

The current mounting state is something that autofs & blockd should
handle internally and should not notify listeners about.

This is implemented by:
1) block generating events for non-autofs cases only (when (un)mounting)
2) blockd informing block when autofs resource becomes (un)available

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
block.c
blockd.c