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 --
| Andrew Morton | Re: [PATCH 00/23] per device dirty throttling -v8 |
| Mariusz Kozlowski | [PATCH 02] kmalloc + memset conversion to kzalloc |
| Andi Kleen | [PATCH x86] [3/16] Turn irq debugging options into module params |
| Shawn Bohrer | Re: x86: 4kstacks default |
git: | |
| Sean | Re: VCS comparison table |
| Eric Wong | Re: [RFC] Git config file reader in Perl (WIP) |
| free cycle | How to Import a bitkeeper repo into git |
| Petko Manolov | git and binary files |
| Alex Thurlow | Router performance on OpenBSD and OpenBGPD |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| frantisek holop | nptd regression in 4.2 |
| Richard Stallman | Real men don't attack straw men |
| Matthew Dharm | Re: [RFC] Patch to option HSO driver to the kernel |
| David Miller | Re: 2.6.25-rc8: FTP transfer errors |
| Indan Zupancic | Re: Realtek 8111C transmit timed out |
| Julius Volz | [PATCH RFC 02/24] IPVS: Add genetlink interface implementation |
