Linux kernel NFSv4 server and client RPC operation statistics

NFS serversand clients communicate using RPC ,sending various NFS v3, v4, and possibly v2 (but we hope not) RCPoperations to the server and getting replies. On Linux, the kernelexports statistics about these NFS RPC operations in various places,with a global summary in /proc/net/rpc/nfsd (for the NFS serverside) and /proc/net/rpc/nfs (for the client side). Various toolswill extract this information and convert it into things like


How Ubuntu 24.04's bad bpftrace package appears to have happened

When I wrote about Ubuntu 24.04's completely broken bpftrace'0.20.2-1ubuntu4.2' package (whichis now no longer available as an Ubuntu update), I said it was adisturbing mystery how a theoretical 24.04 bpftrace binary was builtin such a way that it depended on a shared library that didn't existin 24.04. Thanks to the discussion in bpftrace bug #2097317


The practical (Unix) problems with .cache and its friends

Over on the Fediverse, I said :

Dear everyone writing Unix programs that cache things indot-directories (.cache, .local, etc): please don't. Create a non-dotdirectory for it. Because all of your giant cache (sub)directories arefunctionally invisible to many people using your programs, who windup not understanding where their disk space has gone because almostnothing tells them about .cache, .local, and so on.

A corollary: if you're making a


Why writes to disk generally wind up in your OS's disk read cache

Recently, someone was surprised to find out that ZFS puts diskwrites in its version of a disk (read) cache, the ARC ('AdaptiveReplacement Cache'). In fact this is quite common, as almost everyoperating system and filesystem puts ordinary writes to disk intotheir disk (read) cache. In thinking about the specific issue ofthe ZFS ARC and write data, I realized that there's a general broadreason for this and then a narrower technical one.

The broad reason that you'


Web spiders (or people) can invent unfortunate URLs for your website

Let's start with my Fediverse post :

Today in "spiders on the Internet do crazy things": my techblog letsyou ask for a range of entries. Normally the range that people askfor is, say, ten entries (the default, which is what you normallyget links for). Some deranged spider out there decided to ask for athousand entries at once and my blog engine sighed, rolled up itssleeves, and delivered (slowly and at large volume).

In related news, my blog


Build systems and their effects on versioning and API changes

In a comment on my entry on modern languages and bad packagingoutcomes at scale , sapphirepaw said (about backwardand forward compatibility within language ecologies), well, I'mgoing to quote from it because it's good (but go read the wholecomment):

I think there’s a social contract that has broken down somewhere.

[...]

If a library version did break things, it was generally considered abug, and developers assumed it would be fixed in short order. Then,


An alarmingly bad official Ubuntu 24.04 bpftrace binary package

Bpftrace is a more or less official part of Ubuntu; it's even inthe Ubuntu 24.04 'main' repository, as opposed to one of the lesssupported ones. So I'll present things in the traditional illustratedform (slightly edited for line length reasons):

$ bpftracebpftrace: error while loading shared libraries: libLLVM-18.so.18.1: cannot open shared object file: No such file or directory$ readelf -d /usr/bin/

Modern languages and bad packaging outcomes at scale

Recently I read Steinar H. Gunderson's Migrating away from bcachefs ( via ),where one of the mentioned issues was a strong disagreement betweenthe author of bcachefs and the Debian Linux distribution about howto package and distribute some Rust-based tools that are necessaryto work with bcachefs. In the technology circles that I follow,there's a certain amount of disdain for the Debian approach, sotoday I want to write up how I see the general problem from a systemadministrator's point of view.


The tradeoffs of having an internal unauthenticated SMTP server

One of the reactions I saw to my story of being hit by an alarmingwell prepared phish spammer wassurprise that we had an unauthenticated SMTP server, even if it wasonly available to our internal networks .Part of the reason we have such a server is historical, but I alsofeel that the tradeoffs involved are not as clear cut as you mightthink.

One fundamental problem is that people (actual humans) aren't theonly thing that needs to be able to send email. Unless you enjoybuilding your


Our well-prepared phish spammer may have been chasing lucrative prey

Yesterday I wrote about how we got hit by an alarmingly well-preparedphish spammer . This spammer sent amoderate amount of spam through us, in two batches; most of it wasimmediately delivered or bounced (and was effectively lost), butwe managed to capture one message due to delivery problems. We can'tbe definite from a single captured spam message (and our logssuggesting that the other messages were similar to it), but it'sat least suggestive.

The single captured email message has