UPDATE 2018-11-20: Turned out the drive was just bad and I had to get it replaced. The other one seems to be fine so far.
I recently bought two ADATA Ultimate SU650 960GB SSDs about a month apart. The first one hasn’t been a problem. The second one, which I unfortunately made my boot drive, has been corrupting the file system and forcing my Windows 7 to run CHKDISK and fix TONNES of errors. I may have now found a solution disabling Write Caching on these SSDs.
It occurred to me, while searching for a solution, that maybe it wasn’t getting data fully written to its NAND before it lost power. That reminded me of Write Caching and so I tried disabling that. After half a dozen warm and cold boots, I think it may have solved the problem in that Windows forces the drive to write the data before Windows shuts itself down.
You can find Write Caching via the Start Menu > Computer > [Right-click your desired drive] > Properties > Hardware > Properties > Change Settings > Policies > “Enable write caching on the device”: Uncheck this option.
Good luck if you’re having the same problem and trying this solution out.
The people who make file systems are developers. As a developer myself the value of a versioning file system is so keenly clear I’m so surprised it’s not, at the very least, a standard option on every single file system ever created. So this is a request to all the file system developers out there: Please, what can we do to get a versioning file system?
The people who make file systems are developers. As a developer myself the value of a versioning file system is so keenly clear I’m surprised it’s not a standard option, at the very least, on every single file system ever created. So this is a request to all the file system developers out there: Please, what can we do to get a versioning file system?
I’ve googled for years looking for a production ready versioning file system. I think a fuse-based fs would even suffice. I may even take the plunge and see what I can do with fuse and perl. But I’m just so surprised it’s not already done.
There are projects out there like ext3cow, which looks like the Right Way(TM) to do it but seems dead, and the Wayback FS, but it looks dead, too. I love the way they tried to implement versioning on ext3cow. It looks exactly like what I’d want. Everything integrated at the console as a first-class citizen fs.
Now, I know people say just use a revision control system. But initialization and adding and committing files on an ongoing basis is just not something I’m going to do. Anything requiring manual labour will slip through the cracks one day. We have computers to do things for us. This should just be one more thing.
Other arguments include things like revisioning constantly changing files like database blobs, log files or just plain very large files (images, movies, data, etc.). I agree there are some things you don’t want to revision but the benefit to a developer of versioning would be immense.
I once lost a day’s work because of a bad console
rm. Since it was in the span of a work day, what was supposed to save me? Frequent rcs commits? I don’t use rcs for backup (neither should you, but that’s a whole other story) and I don’t commit unfinished code. That’s just bad practice and is a symptom of a problem. So, daily backups wouldn’t have saved me, but a versioning file system would have. It got me so worked up that I created a poor man’s versioning “file system” in shell script using rsync to mirror a directory and timestamp backups. Unfortunately, it’s IO requirements caused stuttering when doing normal work. I think I’ll post that shell script in case any one wants to improve on it to see if they reduce the IO requirements. Ooh, good time to try github.
So, what can we do to get a versioning file system on linux? I’ve wanted one for years and I can’t understand why it’s not a priority. If I don’t have the knowledge to code a file system myself what can I do to bring this goal a little closer?