Journaling filesystems and the fsync() problem

Consider your ordinary journaling filesystem. For simplicity andreliability you have a single, global log in which you put transactionsfor all of your filesystem activity, instead of anything morecomplicated. One useful consequence of this global log is that you havenow created a filesystem-wide global order of all filesystem events(sometimes called a 'total order'), which will be preserved even ifyou crash and restart.

(You implicitly had a total order before, but it didn't necessarilysurvive crashes.)

This sounds


Why you should ratelimit messages that outside things can cause

Modern versions of NFS have a variety of authentication methods, andso one of the errors that a NFS server can give a client is 'yourauthentication method is too weak'; for example, the client couldbe sending plain old Unix UIDs and GIDs to a server that requiresKerberos to get strong distributed filesystem authentication . When this happens, the Linux kernelhelpfully prints an error message about it:

call_verify: server somehost.cs requires stronger authentication.

In fact, it prints this message every time it gets


The problem of charging for things (well, one of them)

People who want to charge relatively low fees for things often make theargument that people will pay because the charge is such a small amountof money that it is easily afforded, and people get great value for it.One of the problems of charging for things is that it doesn't work thisway.

When you charge, you're not competing to be a great value, you'recompeting to be the most attractive thing for people to do with thatmoney. Want to get two dollars from someone


Some things I dislike about the ASUS Eee

I should note that I actually like my Eee (for what it is). But everytime I try to write some sort of review of it, these things bubble up tothe top of my mind, so I am going to write them down to get rid of them.

In no particular order:

  • my one major issue is that I really want more vertical space.480 pixels is pretty cramped and limiting; while I can fit intwo overlapping, readable 80x24 terminal windows,

Why I expect more from Solaris

One of the asides I cut from my recent entry about Solaris iSCSIsupport was a comment that while Linux iSCSI supportalso has its flaws, I expect better from Solaris. It's worthwhile toexpand on why this is the case.

(It's not because we pay Sun for Solaris; after all, the university paysRed Hat too, for RHEL (which may wind up being our preferred serverLinux; we are not too happy with Ubuntu 6.06 LTS).)

Fundamentally, it is


My problem with Lisp

I would like to love Lisp, I really would. But I have a small, shamefulproblem that gets in the way:

Trying to read Lisp code makes my eyes bleed.

This isn't because I can't stand Lisp itself; it's more because I can'tseem to stand the way that the Lisp community has decided to format Lispcode.

(Through some magic process that seems entirely at odds with theirfractious nature, the Lisp community seems to have standardize on a codeformatting standard


Why accurately counting committed address space is hard

One of the problems with the whole virtual memory overcommit issue is the difficulty of working out how much memorytruly is committed. For example, consider all of the ways that Unixkernels can commit themselves to holding down memory on behalf of a userprocess. In addition to obvious things like System V shared memory, thisincludes (but isn't limited to):

  • pipe data buffers, including unused ones; theoretically every pipepair created commits the kernel to at least 4K of buffer or so.
  • socket send and

Why I like definite answers to support issues

One of the things that irritates me about commercial support is the difficulty of getting a definite answerfrom them if they do not have a canned solution to my issue. If theycannot give me great news, getting any news from them is often likepulling teeth (or slower), and even when they're willing to talk to methey tend to mumble a lot.

I want answers for a simple reason: it lets me resolve the situationone way or another. In this, I would rather have a


Another problem with iSCSI on Solaris 10

In addition to my earlier issues , here's a significantproblem I've run into with how Solaris does iSCSI: there's no goodway to get Solaris 10 to re-probe an iSCSI connection, especially ifsomething goes wrong (for example, Solaris loses its connection toa target for long enough to give up on it, which takes less timethan you might think).

There is no explicit command to restart or re-probe a specific targetconnection, nor does it happen implicitly if


A bash irritation: mutable history

Here's one of those little things that irritate me about bash ,or more specifically its command line editing: its command historyis (sometimes) mutable. Under at least some circumstances, you canoverwrite a command that is in your history by going back to it (withsearch or cursor up) and editing it again. When you do this, the oldversion of the command is gone permanently; if you cursor back to itagain, you see your freshly edited version.

(This doesn't seem