Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Aug 2020 04:43:52 +0200
From:      Polytropon <freebsd@edvax.de>
To:        freebsd@dreamchaser.org
Cc:        Manish Jain <bourne.identity@hotmail.com>, Christoph Kukulies <kuku@kukulies.org>, Ruben via freebsd-questions <freebsd-questions@freebsd.org>
Subject:   Re: Correct way to disconnect/eject an USB hard disk ?
Message-ID:  <20200820044352.678a588e.freebsd@edvax.de>
In-Reply-To: <b9b46ecb-b1ef-8f67-7b41-ae3cf0d3864b@dreamchaser.org>
References:  <C6B11926-65BE-4A05-B421-9F3E9C9AACF6@kukulies.org> <20200819142952.3686baa8.freebsd@edvax.de> <DB8PR06MB64427319E175193D1B828135F65D0@DB8PR06MB6442.eurprd06.prod.outlook.com> <b9b46ecb-b1ef-8f67-7b41-ae3cf0d3864b@dreamchaser.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 19 Aug 2020 09:42:59 -0600, Gary Aitken wrote:
> Can you explain why I have seen umount commands return, and then the
> USB device "activity" light keeps blinking?  I have on occasion waited
> for a while and it keeps blinking, and eventually I just unplugged it.

The "OS-side interface" to external USB-connected storage
does not exactly know what happens inside the controller.
The LED activity is defined by the firmware, which is not
disclosed by the manufacturer. While the OS, upon "umount",
basically says: "Here's the last chunk of data, sync it,
I'll detach /mnt from my VFS tree when you said you're
done." The USB controller accepts and confirms the last
chunk of data, reports back "Got it, everything is fine."
Now the umount command does what it says on the can, it
unmounts the medium, and returns control to the user.
Now _internally_ the USB stick is still busy _actually_
writing the last chunk of data to its storage, and the
firmware says: "Whenever you access the internal storage,
for whatever reason, make the LED flash." That's probably
what you're observing.

The idea of "just give it a few seconds after you physically
remove the USB stick" relies on the assumption that such
kind of activity takes place outside the control of the OS,
and the OS has no real way of discovering what's really
happening at that point. A few seconds are commonly enough
to make sure the processes internal to the controller and
its firmware have successfully finished, and the filesystem
(and data in general) on the USB stick is in the expected
state.



-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200820044352.678a588e.freebsd>