[OpenWrt-Devel] [PATCH fstools] blockd: don't unmount device when removing it from the list
John Crispin
john at phrozen.org
Thu Dec 6 02:24:58 EST 2018
On 05/12/2018 13:39, Rafał Miłecki wrote:
> On 2018-12-05 13:31, Paul Oranje wrote:
>>> Op 4 dec. 2018, om 12:32 heeft Rafał Miłecki <zajec5 at gmail.com> het
>>> volgende geschreven:
>>>
>>> From: Rafał Miłecki <rafal at milecki.pl>
>>>
>>> Device gets removed from the list (vlist_delete()) when block calls
>>> "hotplug" method of blockd using ubus. Right after that block unmounts
>>> that device on its own.
>>>
>>> blockd shouldn't care about unmounting on its own for following
>>> reasons:
>>> 1) To avoid code/behavior duplication with blockThe chicken or the
>>> eggThe chicken or the egg
>>> 2) To keep behavior consistent with mounting (blockd doesn't mount)
>>> 3) To allow implementing more features in block (e.g. hotplug.d events)
>>>
>>> The design should be to:
>>> 1) Have block handle (un)mounting
>>> 2) Use blockd for providing devices/mounts state (using ubus)
>>> 3) Have blockd handle autofs and call block when needed
>> Can this cause a transition into a state where a device is (still)
>> mounted but removed from the list, and if so, is that a valid, an
>> admissible state ? Shouldn't block be required to first unmount before
>> calling blockd's hotplug entry ?
>
> The chicken or the egg? ;)
>
> We don't have any mutex/semaphore mechanism in place right now. So
> unless that gets implemented, we have to chooce what's better.
>
> I believe the correct order would be to:
> 1) Stop reporting mounted device
> 2) Notify all users about unmounting (hotplug.d event I work on)
> 3) Unmount
>
> That's the safest way that will stop applications from trying to access
> device due to blockd incorrectly reporting it as mounted.
>
please update the description before pushing
Acked-by: John Crispin <john at phrozen.org>
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list