[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
https://git.openwrt.org/?p=project/fstools.git;a=commit;h=f6a96865da9162f45ea1d482c794fe14b26ecfe1

_______________________________________________
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