-
Couldn't load subscription status.
- Fork 100
Description
Files can be closed even if the included flush operation fails (it returns the encountered error after closing); directories can be closed without needing to access the card; but volume closure will immediately fail if either reading or writing the info block fails. This means that once a card has been physically removed, it is not possible to fully clear out the VolumeManager in preparation for mounting the same or a new card once reinserted.
This makes it impossible to handle card removal without destroying and creating a new VolumeManager, which for me has worked, but requires additional complexity that would not be necessary if I could simply close the volume.
We should have the ability to close the volume even if updating the info block fails. Looking at the spec, the info that is updated seems to be non-critical/advisory anyway. If the info block read fails, we could do what close_file does and return the error after closing (and the same with the info block write operation).