|
|
Log in / Subscribe / Register

Quotes of the week

Well, i consider kernel development to be just another form of software development, so i don't subscribe to the view that it is intrinsically different. (Yes, the kernel has many unique aspects - but most software projects have unique aspects.)

In terms of development methodology and tools, in fact i claim that the kernel workflow and style of development can be applied to most user-space software projects with great success.

-- Ingo Molnar

And I'd like to point out that largely *because* NetworkManager usually doesn't work around stupid drivers and bad infrastructure, but instead encourages developers (including myself) to fix that infrastructure and drivers, we've come quite a long way in driver quality over the past few years.

NetworkManager is both the carrot and the stick. If NM just worked around broken stuff and proprietary drivers, it would be a hacktower of doom and we may still be stuck largely in 2006-wireless land.

-- Dan Williams

Where's your bravery, man? :-)

I've been using [ext4] on my laptop since July, and haven't lost significant amounts of data yet.

-- Ted Ts'o

Trying to play God by fsync'ing your file descriptor is first of all, a very selfish thing, and second of all, rather less effective than you seem to think it is.
-- Tom Christiansen is back

to post comments

Quotes of the week

Posted Mar 26, 2009 12:53 UTC (Thu) by nix (subscriber, #2304) [Link] (7 responses)

Well, Tom's comment is utterly inaccurate on Linux systems, where sync(2) definitely is a blocking call, and where there *is* no character special device corresponding to block devices for fsck to use.

(I agree with most of the rest of what Tom says, but his BSD focus is so extreme that he seems to have forgotten that systems exist which do not use kernels descended from the ancient Unix ones. The man is *defending* ritual triple-sync(8), for goodness' sake!)

But this is fairly strong evidence that tytso's promised land of everyone fsync()ing before rename() is never going to come to pass.

Quotes of the week

Posted Mar 26, 2009 13:47 UTC (Thu) by Frej (guest, #4165) [Link]

I lost my epiphany bookmarks and rythmbox data (bascily only ratings, rest is automaticly rebuild) a week after enabling ext4. Just before the news broke ;).

It's worth noticing is that both use a custom fileformat as a 'database'.

Quotes of the week

Posted Mar 26, 2009 17:24 UTC (Thu) by iabervon (subscriber, #722) [Link]

If you look at the POSIX standard, it doesn't actually imply that fsync() before rename() matters at all. There's not really even a suggestion that the stable storage representation of the directory gets atomic changes, or, in particular, that it won't go through a state where the directory would appear with something different from either the original inode or the replacement inode. fsync() is important if you want to be sure that there is an inode that contains your new data, but there's no particular reason (aside from filesystem internals) to think that your filename will point to it.

The standards don't talk about system crashes, so anything that applications do in order to cope with system crashes is inherently ritual. (The rename() trick, ignoring fsync(), is defined to be helpful against application crashes and poorly-timed SIGKILL.)

Quotes of the week

Posted Mar 26, 2009 18:29 UTC (Thu) by smoogen (subscriber, #97) [Link]

I don't think Tom is defending sync;sync;sync since he points out why it doesn't offer any protection... he is offering an anecdote on why people do it as a reflex but shouldn't expect it to work.

[He points out that on only some systems does the second sync wait until the first one is done. On those a sync; sync; sync would write.. but on others its only to make you feel better since well the kernel sublayers and the hardware below still have to decide if they really are going to write out the data or not.]

Quotes of the week

Posted Mar 27, 2009 1:38 UTC (Fri) by sbergman27 (guest, #10767) [Link] (2 responses)

Ritual triple sync? I recall that the manuals for my first Unixes, way back when, used to recommend stuff like:

# sync;sync;sync;haltsys

For reasons that were never explained. Is there some interesting story behind this that I missed?

Quotes of the week

Posted Mar 27, 2009 3:53 UTC (Fri) by knobunc (guest, #4678) [Link] (1 responses)

Tom explained it in the article text...

Triple sync

Posted Apr 11, 2009 8:22 UTC (Sat) by Brenner (guest, #28232) [Link]

Here is an old (1991) thread about the triple sync:

http://groups.google.com/group/alt.folklore.computers/bro...

Quotes of the week

Posted Apr 2, 2009 8:15 UTC (Thu) by j16sdiz (guest, #57302) [Link]

> Well, Tom's comment is utterly inaccurate on Linux systems,

He was commenting on V7. Perl is cross platform.


Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds