Messages in this thread | | | Date | Wed, 17 Feb 1999 10:03:30 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: fsync on large files |
| |
On Wed, 17 Feb 1999, Alan Cox wrote: > > ext2 is a multiplatform file system. Linux, HURD, BSD, OS/2, RiscOS last > time I checked.
Only in name. Let's not fool ourselves. The only cross-platform filesystem out there is the MSDOS filesystem (and NFS - but network filesystems are inherently different when it comes to "crossplatform" issues), and ext2 isn't even in the running.
> > only complicate renaming and loopback mounting a lot. There's also a lot > > of code to handle concurrent writes etc, which can't happen any more. > > But will need to occur for future scaling.
No, I don't think I'll ever allow concurrent writes to the same file.
The basic reason is simple: we have more filesystems than can reasonably be maintained if it happens. The same way I don't want driver writers to have to know about more than the bare minimum basic rules about SMP (because 99% of all people don't understand race conditions), I don't want FS people having to know more than the bare minimum about race conditions in filesystems.
Why? Simply because I certainly understand races better than most people out there, and even _I_ get confused.
Performance comes second in this case, especially as I don't believe there is any strong argument for performance in the first place. And don't bother telling me about databases, I know about databases, and I think it's a complete red herring. We get more performance by having a simple locking scheme and good caching than by adding complexity - and that's been true historically forever.
> Linux has a lot of cruft in it maybe while doing journalling we should throw > the OS away and rewrite that too ? - I hope Im misunderstanding your argument.
Sure, go right ahead.
No, you're not misunderstanding the argument. Eventually some hungry programmer will decide that Linux has too much cruft, and he'll want to take over the world, and he'll come up with a system called Davix or something. That's how these things go, and that's how things _should_ work.
The only thing I can aim at is to minimize the amount of cruft, and pushing out the inevitable as far into the future as humanly possible. That's what "maintenance" means, Alan.
Alan, the _only_ beef I ever have about you as a developer is that you're looking about a year into the future - not ten.
Start thinking ten years down the road, and think "how do I avoid the complexity issue"? Then, after you've given that some serious thouhgt, come back to me about this all.
Linus
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |