ZFS pool partial (selective) feature upgrades are coming in OpenZFS
I'm an active user of (Open)ZFS on Linux onmy personal machines (office workstation and home Linux machine), whereI deliberately run the very latest development versions. But if you ran' zpool status ' on either machine, you would see a lot of:
status: Some supported and requested features are not enabled on the pool. The pool can still be used, but some features are unavailable.action: Enable all features using 'zpool upgrade'. Once this is done, the pool
Understanding what 'systemctl restart' means and when I want to use it
Over on Twitter, I exposed a systemctl misunderstanding of minein public :
I wish systemd had a 'systemctl restart-or-start
' option, soyou didn't have to care if you were doing a new install of somethingor an upgrade. As some people pointedout to me, I had misunderstood '
systemctl restart'; this is exactlywhat it does. For some reason I had it in my mind that 'systemctlrestart' only restarted already running services. Interpreted anotherway,
TLS certificates specifying hosts via their CommonName field is more or less gone
TLS certificates for hosts and domains must somehow identify whathostname (or names) they're for. Historically there have been twoways to do this . The first way was aspecific sub-field, the CN or CommonName, of the certificate'soverall Subject Name . This had the problem that it could onlyhave one name. When people started wanting to have TLS certificatesthat covered more than one name, they invented another mechanism,the Subject Alternative Name (SAN) extension.
As a practical matter,
When browsers (or at least Firefox) send HTTP Basic Authentication headers
We're long term fans of using HTTP Basic Authentication in Apache , but while I know how to configure it in Apache(and even how to log out of it in Firefox ),I haven't really looked into some of the finer details of how itworks. In particular, until recently I hadn't looked into when thebrowser (or at least Firefox) sends the
Authorizationheader in HTTP(S) requests and when it doesn't.The simple story of how HTTP Basic Authentication (
How ZFS on Linux brings up pools and filesystems at boot under systemd
On Solaris and Illumos, how ZFS pools and filesystems were broughtup at boot was always a partial mystery to me (and it seemed toinvolve the kernel knowing a lot about /etc/zfs/zpool.cache). OnLinux, additional software RAID arrays are brought up mostlythrough udev rules , which has its owncomplications. For a long time I had the general impression that ZFS on Linux also worked through udevrules to recognize vdev components, much like software RAID. However,this turns out to not
Link: What was the original reason for the design of AT&T assembly syntax?
This quite informative answer to a Stackoverflow question ( via ) answers the question,or at least provides a great deal of context that I didn't know.It turns out that the reason AT&T syntax puts the destinationregister second (instead of first, the way Intel syntax does) almostcertainly stretches all the way back to how PDP-11s encodedinstructions.
(The AT&T assembly syntax, commonly used on Unix systems but notuncommonly disliked ( via ),is a cross-platform
Some observed read latencies for SSDs and NVMe drives under Fedora 32
In a recent entry I wished for some information on the single requestlatency for SSDs and NVMe drives. You can't get it from common IOPSfigures , although per Randall's commentson this entry , some places publish'QD1' (queue depth 1) measurements that can be reverse engineered intomore or less the latencies they saw. I don't feel that I can do a goodenough job of actually measuring this on our own hardware, but as ithappens I can report on what I
Where the default values for Python function arguments are stored
One of the things that surprised me when I was researching yesterday'sentry on using
iswith literals was that Icouldn't work out where (C)Python kept the default values forfunction arguments. In the end I didn't need to know for sure becauseI was able to demonstrate that function default argument values are interned alongwith constants used in the function code, but it bugged me. TodayI worked it out and now I can show some more interesting things.In the end, finding
An interesting issue around using is with a literal in Python
For reasons outside of the scope of this entry, I recently installedUbuntu's package (for Ubuntu 20.04) of the Python netaddr on a system of ours. When I did,I got an interesting Python warning that I hadn't seen before:
SyntaxWarning: "is not" with a literal. Did you mean "!="?I was curious enough to look up the code in question, which boilsdown to something that looked like this:
def int_to_bits
Getting high IOPS requires concurrency on modern SSDs and NVMe drives
My intuitions (or unthinking assumptions) about disk performance dateback far enough that one of them is that a single program acting onits own can get the disk's 'normal' random read performance for plainordinary reads ( which are pretty much synchronous and issued one at atime ). This was more or less true on hard drives(spinning rust), where your program and the operating system had morethan enough time on their hands to saturate the drive's relatively small100 to 15
Menu