Now, I can't really remember when I first came across an usb device -- but I also can't remember them ever causing me trouble in Debian.
My issue on the other hand, is that it keeps asking to "scan and fix errors" when you plugin thumb drives if you take them out without using "eject" first.
Unplugging an idle drive should never lose anything.
But there's a lot of flaky hardware out there.
Users aren't especially great at knowing when their drives are idle. This has honestly been true since we moved on from loud floppy drives.
That's completely wrong. If it were workable, that's how these things would have always been set up. We've got good reasons for not doing things this way.
> have the icon in the tray turn red when there is unflushed data in the cache
There's a lot more to worry about than data in the cache. Open or locked files are an issue regardless of whether or not the cache is empty.
> turn green when you can safely pull the drive
We have almost got this now, with the icon that indicates whether it's safe to pull the drive or not. The difference is that you have to unmount the drive manually to get the friendly "all clear" indication. (a lot of times it won't really matter if you pull the drive while it's mounted)
You could add a process to automatically unmount the drive, but simultaneously provide some kind of virtual drive such that applications could seamlessly remount it and use it. You've then got the possibility that an app will start using it in the moment between when you look at the screen to verify it is safe to pull the drive and when you pull the drive. To make THAT error go away you need to add a request to the user to put the drive back in...
> Then, in the case where another write starts up just before you pull the drive, give you the ability to plug the device back in to let the data flush to it (after the OS check the volume ID of course).
Of course it's not just writes, there are also reads to be contended with.
Anyway, after seeing a few of the new "Not ready reading drive A Abort, Retry, Fail?" error messages, people are going to wonder why your new feature is fucking with them.
A new write is possible but unlikely if the user is done with the drive, and again shouldn't cause major damage.
The blinking light does precisely what it advertises. That's never really been the issue.
Damage certainly is unlikely if the thing is pulled while mounted. I wouldn't design the UI around that, though.
I can somewhat excuse losing data if things go wrong during a save. At any other time it should be robust enough that my data is safe.
This is not just about unplugging drives, this is a general sanity measure.
I ended up needing to use some low level tool from a USB drive manufacturer's website to get it working again.
You can ruin entire filesystem, because not only file blocks are cached, but filesystem blocks too.
If you still do not want to eject the drive beforehand, turn on Optimize for quick removal option (should be default for flash drives now). You will lose write cache though (the write performance will be drastically worse).
This is not an issue for modern filesystems, but most USB drives are formatted with FAT, which has no journaling or other defences against such issues. You could minimize the risk by doing synchronous writes to the drive, but that'd also incur a _very_ big performance penalty.
Also it gets triggered by the dumbest of things, eg my linux laptop does not unmount it in a way that windows 8 consider good enough. At the very least windows itself could/should "clean slate" (aka unmount remount I guess) the thumb every once in a while if there has been activity followed by no activity and no opened descriptors for a few minutes since that would cover a majority of the cases.
I'm sorry for that other issue. How does Windows complain exactly?
In a geologic time scale at least, I believe that was actually a "new feature" some time after Windows Vista and maybe even after 7.
Try pulling out a mounted ext4 drive on Linux, it will also be marked dirty and request fsck.
That's not exactly true. That only happens if the NTFS volume has a dirty bit set. That happens when you corrupt something and some check fails. I pull drives in and out all the time without ejecting and almost never see the error you mention.
If you pull the drive when there's a write going on, then you'll activate the dirty bit and get that message.
It does get you into the habit of ejecting the drive first
Also, many removable drives don't have a partition map.
Said as a driver writer who always commits blocks on an activity one-shot.
This is actually one of the few areas where linux is significantly superior to windows from an average "destktop" user's perspective. For instance getting PS3 controller to work on windows is (used to be?) very painful. On linux I plug it and it just works. Same for network-over-usb "RNDIS" devices but that might be more of a niche.
Windows XP was published in October 2001. The latest Service Pack (SP3) was published in April 2008.
RHEL 6.2 was released in December 2011. So even the latest XP release is 3.5 years older than RHEL 6.2 (which does recognize USB drives quite fine).
(I was actually thinking that if the comment were referring to RH prior to RHEL, we were talking of a version that was still using a.out binary format, but that was not so, I was off by some three years, it came in RH3).
Drag a file onto an application in the taskbar (as you would with a Dock icon in OS X), and it doesn't just fail to open it in that application—it actually gives you an alert saying "you can't drag things onto the taskbar" or something like that.
So they built in the ability to tell people they can't do it, instead of building the ability to actually do what people clearly already wanted to do. Classic Microsoft UX.
When people say in any thread that Windows driver support is superior to Linux; the answer from my experience on a number of machines is still no.
I've been using Windows XP until January 2009, then I reformatted my laptop with Ubuntu. One of the first things I noticed was that it instantaneously recognized pen drives without going through all that found new device dance. OS X is also fast at mounting USB drives. I just can't understand the technical reasons that make Windows annoy people with that. Is it still the same with Windows 8?