[OpenWrt-Devel] [PATCH fstools] blockd: don't unmount device when removing it from the list

Rafał Miłecki rafal at milecki.pl
Thu Dec 6 03:15:46 EST 2018

On 2018-12-06 08:24, John Crispin wrote:
> 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>

Pushed with updated commit message

openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list