Skip to content

storage: Handle filesystems on non-physical devices in get_filesystem_type()

Currently the function get_filesystem_type() in plinth/modules/storage/__init__.py calls psutil.disk_partitions() in its default form, which returns only physical devices. And if it doesn't find the mount_point is raises an exception.

get_filesystem_type() could and should detect filesystems on non-physical devices, like docker containers, which mount the filesystem root '/' as fstype='overlay'.

Currently it is only used twice in snapshots module to find out whether the filesystem is supported. So, calling psutil.disk_partitions(all=True) would not impact the existing implementation and would avoid an exception in docker containers and similar scenarios.