My argument is that, if sending an ATA flush is what is required to "assure that after a system crash or other failure that all data up to the time of the fsync() call is recorded on the disk", then sending an ATA flush is required by POSIX. The exception is where it is impossible to make that assurance, because of limitations of the media (such as on a RAM disk).
What else is the point of providing a standardized fsync() call at all?
Open-source projects gain popularity once they become useful. If Project Harmony makes use of gcj or GNU Classpath, it will become useful *sooner*, and thus gain popularity (i.e. more developer attention). If Harmony can't be shipped with gcj or Classpath, it could take much longer.
BSD had benefited from Linux in the same way. I know a number of people who learned about BSD because of the LUG they attended.
It probably feels good to make bold, blanket statements, but it's not terribly useful.
A top-quality inverter can draw power from solar panels, a battery bank, start up a generator remotely, and if all else fails, THEN draw power from edison as a last resort [emphasis added]
The last time I checked, the electrical grid carries AC power. Edison was a DC man.
$15,000 maintenance, not purchasing cost, I think.
Re:gcj and the new license wars
on
Open source Java?
·
· Score: 1, Insightful
My point is essentially that it offers no advantage to the Apache development team to expend any effort in ensuring that their license is at all comptabale with the GPL because they will not foster anything from it.
Right, because any idiot can clearly see that Harmony has nothing to gain from gcj or GNU Classpath.
the compatability is one way only, yet only ever is any fuss made about GPL compatability when someone wants to include code under a the GPL.
GPL compatibility is important to people because the vast majority of FLOSS projects are licenced under the GPL. So, if you are releasing a FLOSS program that you want to be useful to the majority of FLOSS developers, you probably care about compatibility with the GPL, whereas you probably don't care about compatibility with the QPL, XFree86 1.1, or Python 1.6b1 licenses.
You cannot create a working DISH 921 DVR software build without the additional proprietary code.
That doesn't sound like GPL-compliance to me. From the GPL:
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.
The fsync() function is intended to force a physical write of data from the buffer cache, and to assure that after a system crash or other failure that all data up to the time of the fsync() call is recorded on the disk. Since the concepts of "buffer cache", "system crash", "physical write", and "non-volatile storage" are not defined here, the wording has to be more abstract.
If _POSIX_SYNCHRONIZED_IO is not defined, the wording relies heavily on the conformance document to tell the user what can be expected from the system. It is explicitly intended that a null implementation is permitted. This could be valid in the case where the system cannot assure non-volatile storage under any circumstances or when the system is highly fault-tolerant and the functionality is not required. In the middle ground between these extremes, fsync() might or might not actually cause data to be written where it is safe from a power failure. The conformance document should identify at least that one configuration exists (and how to obtain that configuration) where this can be assured for at least some files that the user can select to use for critical data. It is not intended that an exhaustive list is required, but rather sufficient information is provided so that if critical data needs to be saved, the user can determine how the system is to be configured to allow the data to be written to non-volatile storage.
It is reasonable to assert that the key aspects of fsync() are unreasonable to test in a test suite. That does not make the function any less valuable, just more difficult to test. A formal conformance test should probably force a system crash (power shutdown) during the test for this condition, but it needs to be done in such a way that automated testing does not require this to be done except when a formal record of the results is being made. It would also not be unreasonable to omit testing for fsync(), allowing it to be treated as a quality-of-implementation issue.
i.e. If your storage device is a RAM disk, you don't violate the spec by losing data that was fsync()'d to it upon a crash.
In any case, I think it would be more relevant to cite the appropriate parts of the ATA or SCSI specs, not POSIX. Hard drives don't implement POSIX.
A nit to pick: Java is free. I can download it for free, I can develop with it for free, and I can package a JRE with a product of mine for free. RMS doesn't consider it free. But you know what? He doesn't own the word "free". It's like Monster trying to own the word "monster" or microsoft trying to own the word "windows".
Congratulations! You've managed to base your entire argument on a lack of understanding of the inefficiency in the English language in this particular case. For clarity, let's argue in French (as AKAImBatman seems to have suggested):
I propose that Java n'est pas libre. Please explain how your argument that Java est gratuit contradicts that.
Many people don't need to "seriously work" with PDFs. In many cases, people just need PDF to act as a portable format for representing final paper documents. GS offers that.
I can't stand the PDF format. It's clumbsy, bloated, and copies poorly into other documents. On a fillable form it can't be saved. Did I mention it's slow an bloated. I love google and their view as HTML option. Troll or flamebait me if you must, but I can't be the only one that chokes on his own rage when seeing a PDF document.
Have you even looked at the PDF specification? If not, how can you make comments about the format?
What's clumsy and bloated is Acrobat Reader. My guess is that more free *nix users like PDF because the PDF tools available on *nix aren't bloated and crappy like Acrobat Reader is.
In earlier work done with the French mathematician, J.P. Wintenberger, in December 2004, Dr. Khare outlined a two-part general strategy to prove the Serre conjecture fully. The present result is a first key step.
Also, because of the number of calculations that go on in bigger spreadsheets, a small error up near the top can ripple through the whole sheet and make it ALL bad data.
Hmm... Perhaps to replace SHA-1, someone could design a hash function that uses cumulative spreadsheet errors...
[No text]
What else is the point of providing a standardized fsync() call at all?
BSD had benefited from Linux in the same way. I know a number of people who learned about BSD because of the LUG they attended.
It probably feels good to make bold, blanket statements, but it's not terribly useful.
The last time I checked, the electrical grid carries AC power. Edison was a DC man.
$15,000 maintenance, not purchasing cost, I think.
Right, because any idiot can clearly see that Harmony has nothing to gain from gcj or GNU Classpath.
GPL compatibility is important to people because the vast majority of FLOSS projects are licenced under the GPL. So, if you are releasing a FLOSS program that you want to be useful to the majority of FLOSS developers, you probably care about compatibility with the GPL, whereas you probably don't care about compatibility with the QPL, XFree86 1.1, or Python 1.6b1 licenses.
That doesn't sound like GPL-compliance to me. From the GPL:
i.e. If your storage device is a RAM disk, you don't violate the spec by losing data that was fsync()'d to it upon a crash.
In any case, I think it would be more relevant to cite the appropriate parts of the ATA or SCSI specs, not POSIX. Hard drives don't implement POSIX.
Congratulations! You've managed to base your entire argument on a lack of understanding of the inefficiency in the English language in this particular case. For clarity, let's argue in French (as AKAImBatman seems to have suggested):
I propose that Java n'est pas libre. Please explain how your argument that Java est gratuit contradicts that.
Puh. It's not "loosing"; it's loosening! ;-)
I'm not trolling. All my desktop machines are running Debian, just not Debian woody.
Normally, you can use the "sync" mount option to enable synchronous writes. Unfortunately, this is currently broken in the Linux vfat driver.
What's it like? Any tips on maintaining your sanity?
Says an IE/Win or Firefox/KDE user...
Why not just show up unexpectedly one day? If the kid is breaking the rules, lock up the entire computer altogether.
It's much safer to replace #2 with:
Apparently this site will be linked to by Slashdot in two days, but it hasn't been yet...
[I can't wait until Linux] has at least ONE application that is useful for my business.
VMware runs on Linux... ;-)
Many people don't need to "seriously work" with PDFs. In many cases, people just need PDF to act as a portable format for representing final paper documents. GS offers that.
Have you even looked at the PDF specification? If not, how can you make comments about the format?
What's clumsy and bloated is Acrobat Reader. My guess is that more free *nix users like PDF because the PDF tools available on *nix aren't bloated and crappy like Acrobat Reader is.
Without RTFA, I'd guess that it means that he has made some sort of advance, *assuming he's correct* (i.e. the results haven't been verified yet).
Hmm... Perhaps to replace SHA-1, someone could design a hash function that uses cumulative spreadsheet errors...
Patent pending.
(That shows up as "*****" for you, right?)