On Sat, Mar 15, 2008 at 07:33:07PM -0800, Daniel Phillips wrote:What I mean is that in a PC, RAM contents are very fragile : - weak batteries in your UPS => end of game - loosy power cable between UPS and PC => end of game (BTW I have a customer who had such a problem, cables had both disconnected because of their own weight). - kernel panic => end of game - user error during planned maintenance => end of game - flaky driver writing to wrong memory location => can't trust your data In a normal PC, even if the RAM itself is a reliable component (ECC, ...) a lot of such problems which may happen will render it unusable. If you have to reboot, your BIOS will clean it up for you. That's why people are trying to explain to you that linux is not reliable enough to work like this. Now if you have all your RAM on a PCI-E board with a battery and which is not initialized by the BIOS so that it survives reboots, it changes a LOT of things, because all the problems mentionned above go away. Let me repeat it, the problem is not that those components are too unreliable to build a transactional system, it is that used in this manner, a very simple failure of any of them is enough to lose/corrupt all of your data. Reason why people insist on ordered writes with regular flushes. That was not my experience when I was a student. We would buy very cheap diskettes which were only sold by 100. 20% of them were already defective, and 20% of the remaining ones could not keep our data till the next morning! I knew guys who finally stopped copying games due to those diskettes, so we believed they were sold by game editors :-) If you have understood what I explained above, now you'll understand that I'm not underestimating the reliability of my PC, just the fact that keeping access to my RAM contents involves a lot of components, any of which will definitely ruin my data in case of failure. unfortunately, new servers are often USB-only. I thought this stupidity disappeared about 5 years ago ? I was about to build PIC-based PS/2 "terminators" to plug into machines to avoid this problem at that time. I never spoke about waiting for disk transactions. The RAM must be the only source and target of user data. Disk is there for permanent storage and should be written to in the background. YOU proposed the write-through alternative with your "echo 1". But obviously this voids any advantage of your work. Hey thanks, but we're not on freshmeat : "here's version 0.1 of foobar, right now it does nothing but given a massive amount of contributors it will replace a datacenter in a matchbox". Daniel, you must understand that it is not because it suits *your* needs that your project will get broad adoption. Many people are showing you what they don't like in it, and it's not even a design problem, it's just the way data are synchronized. I think that if you spent your time on your code instead of arguing by mail against each of us, you would have already got ordered writes working. "always" is far from being a certitude here. "still" is right though. Prices are driven by customer demand. And building a 128 GB flash requires a lot less efforts than a hard drive containing a lot of fragile mechanics. However, I'm not sure that flash will be as much resistant to environmental annoyances that we're happy to ignore today, such as solar winds and cosmic rays. Future will tell. Tapes are used for long-term archival. You can read a tape 20 years after having written it. A disk... well, the interface to plug it does not exist anymore, even the electronics process have changed, as well as voltage levels. Check in your boxes if you have an old MFM or RLL disk, and see where you can plug it. Maybe you'll find an old ISA controller with a corrupted BIOS (too old) or at least which does not support machines faster than 25 MHz. Tape vendors will still sell you the tape drive (at an amazing price BTW). Willy --
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Linus Torvalds | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Eric Paris | [RFC 0/5] [TALPA] Intro to a linux interface for on access scanning |
| Ingo Molnar | Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 |
git: | |
| Gerrit Renker | [PATCH 18/37] dccp: Support for Mandatory options |
| David Miller | [GIT]: Networking |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Andrew Morton | Re: [BUG] New Kernel Bugs |
