Files app: eject not working

On my ipad (iPadOS 17.5.1) it is not possible to eject "shared devices". Reboot does not help.

iPad Pro, iPadOS 15

Posted on Jun 26, 2024 7:35 AM

Reply
Question marked as Top-ranking reply

Posted on Jun 26, 2024 8:25 AM

Presumably you refer to a connected USB storage device...


Apple hasn’t chosen to include a safe-eject option in iOS/iPadOS. Their reasoning and design decisions for this are known only to Apple Engineering.


Providing your attached USB Storage device does not employ write-caching, you should be able to disconnected a USB Storage device wherever the device is not being actively written to; it follows that you should ensure that a file-write has completed prior to a device disconnect. Many USB devices include a visible activity indicator on the device itself.


In more detail...


The type of flash storage device that you are using will have significant impact on “safe dismount” from your iPad. Simple flash storage devices can be dismounted provided that an active write isn’t occurring. More complex devices are a completely different proposition…


Devices that employ write-caching (such as SSDs), to improve performance, can be problematic when used with iOS/iPadOs devices.


For most desktop computers, it is possible to configure an externally attached storage device either for performance (i.e., uses write-caching) or for Quick Removal. This determines how and when information is “written” to non-volatile storage.


When configured for Quick Removal, information from the host computer is written immediately to the storage medium. This has the advantage that you may disconnect the storage device from the host computer, without risk of corrupting the file-system, at any time that data is not being actively transmitted to the storage device. Whilst being a completely valid and useful method of managing data storage, for reasons beyond the immediate scope of this description, this method is less efficient and slower.


Alternatively, when write-caching is enabled, information from the host computer is “cached” in separate (high performance) volatile storage within the storage device - and when sufficient information has been received, a “block” of data is written in single write-cycle. Whilst being faster and more efficient, this method comes with the penalty of the host computer having to notify the storage device of a impending device-disconnection before it is disconnected from the host. This warning ensures that the storage device will flush any pending data from its volatile cache-memory to non-volatile storage - and in so doing sets a “clean switch” on the flash filesystem and signals to the computer that it is safe to disconnect.


A drive configured for write-caching, upon connection to a host computer, is checked for the “clean switch”; if present, the storage device is “mounted” and made available to the operating system. By contrast, if the “clean switch” is not detected (this will occur if the storage device was disconnected prior to being notified of a “dismount”), the filesystem must be assumed to be potentially corrupt; pending data within the write-cache may not have been written to the drive.


The relevance of this to iPad is simple. While iPad does support devices that implement write-caching, you must be careful with disconnecting the storage device as iPadOS lacks the ability to inform the storage device of imminent disconnection of the storage device from the USB bus. iPad also lacks capability to detect and scan/repair corrupt storage devices.


In summary, now that you [hopefully] understand both the cause and effect, you will now understand that you can only reliably use USB storage devices that can be configured for Quick Disconnect operation - this having major significance to non-corruption of the filesystem and reduced data throughput.


The only “safe” dismount for storage devices that use write-caching is to fully shut down the iPad before disconnecting.


3 replies
Question marked as Top-ranking reply

Jun 26, 2024 8:25 AM in response to pehueoe

Presumably you refer to a connected USB storage device...


Apple hasn’t chosen to include a safe-eject option in iOS/iPadOS. Their reasoning and design decisions for this are known only to Apple Engineering.


Providing your attached USB Storage device does not employ write-caching, you should be able to disconnected a USB Storage device wherever the device is not being actively written to; it follows that you should ensure that a file-write has completed prior to a device disconnect. Many USB devices include a visible activity indicator on the device itself.


In more detail...


The type of flash storage device that you are using will have significant impact on “safe dismount” from your iPad. Simple flash storage devices can be dismounted provided that an active write isn’t occurring. More complex devices are a completely different proposition…


Devices that employ write-caching (such as SSDs), to improve performance, can be problematic when used with iOS/iPadOs devices.


For most desktop computers, it is possible to configure an externally attached storage device either for performance (i.e., uses write-caching) or for Quick Removal. This determines how and when information is “written” to non-volatile storage.


When configured for Quick Removal, information from the host computer is written immediately to the storage medium. This has the advantage that you may disconnect the storage device from the host computer, without risk of corrupting the file-system, at any time that data is not being actively transmitted to the storage device. Whilst being a completely valid and useful method of managing data storage, for reasons beyond the immediate scope of this description, this method is less efficient and slower.


Alternatively, when write-caching is enabled, information from the host computer is “cached” in separate (high performance) volatile storage within the storage device - and when sufficient information has been received, a “block” of data is written in single write-cycle. Whilst being faster and more efficient, this method comes with the penalty of the host computer having to notify the storage device of a impending device-disconnection before it is disconnected from the host. This warning ensures that the storage device will flush any pending data from its volatile cache-memory to non-volatile storage - and in so doing sets a “clean switch” on the flash filesystem and signals to the computer that it is safe to disconnect.


A drive configured for write-caching, upon connection to a host computer, is checked for the “clean switch”; if present, the storage device is “mounted” and made available to the operating system. By contrast, if the “clean switch” is not detected (this will occur if the storage device was disconnected prior to being notified of a “dismount”), the filesystem must be assumed to be potentially corrupt; pending data within the write-cache may not have been written to the drive.


The relevance of this to iPad is simple. While iPad does support devices that implement write-caching, you must be careful with disconnecting the storage device as iPadOS lacks the ability to inform the storage device of imminent disconnection of the storage device from the USB bus. iPad also lacks capability to detect and scan/repair corrupt storage devices.


In summary, now that you [hopefully] understand both the cause and effect, you will now understand that you can only reliably use USB storage devices that can be configured for Quick Disconnect operation - this having major significance to non-corruption of the filesystem and reduced data throughput.


The only “safe” dismount for storage devices that use write-caching is to fully shut down the iPad before disconnecting.


Jun 26, 2024 8:52 AM in response to LotusPilot

Many thanks for the long answer. But I connected to a windows share (appology for being unclear) from within the "File" app. It is this network drive I cannot eject. I tried with rebooting and even with removing the app and installing it again (the filers name appear again!). I inserted a screenshot from the ipad below (sorry, it is in German). I tried to connect to "name_filer1" and "name_filer2" and access data from there. This did not work (it does work using e.g. "FileBrowserGO"). But now I do not get rid of them anymore and it looks as if the ipad in the background tries to connect to the servers.


This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Files app: eject not working

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.